私のプログラムでは起動時にレジストリキーをチェックしていますが、何らかの形で存在しない場合は、ShellExecuteの助けを借りてアプリケーションフォルダコマンド。このコマンドを実行するときにどのようにconfimationメッセージを受け取るのを避けることができますか。それを行う方法はありますか、それともセキュリティ上の理由から可能ではありませんか?shellexecuteコマンドで.regファイルを実行すると確認メッセージが表示されないようにするには
5
A
答えて
12
/sコマンドラインスイッチを使用します。 (http://support.microsoft.com/kb/82821参照)
+0
そして、Delphiではどうしたらいいですか?私はまだShellExecuteを使用しますか?例を挙げると –
+4
ShellExecuteは正常に動作します。私自身は 'regedit'ではなく' reg import'を使用します。 –
11
可能です。二つの方法があります:
- % WINDIR%\ SYSTEM32 \ regedit.exeを/sの file.reg
- %のWINDIR%\ SYSTEM32 \ reg.exe輸入file.reg
のどちらかだろう自動的にfile.regをレジストリにインポートします。
3
また、あなたは、このリンクにunitEXRegistry.pas
を試すことができます。このunitEXRegistry.pasユニットは、レジストリファイルをエクスポートすることは非常に便利な機能を持っており、また静かにインポート
procedure ImportRegistry;
var
strProgram :String ;
strCommand :String ;
fileOne :String ;
begin
fileOne:=ExtractFilePath(Application.ExeName)+ 'my_Resources\Default.reg';
strProgram := 'REGEDIT' ;
strProgram := strProgram + #0 ;
strCommand := '/SC /C ' + ExtractShortPathName(fileOne) ;
strCommand := strCommand + #0 ;
if ShellExecute(0,nil,@strProgram[1],@strCommand[1],nil,SW_HIDE) <= 32 then
begin
ShowMessage(SysErrorMessage(GetLastError)) ; //if there is any error in importing
end;
end;
、* .regファイルをインポートするためにこれを試してください
01あなたは(静かに)使用することができますインポートする次に procedure exportREgis;
var
texpr : TExRegistry;
begin
texpr:=TExRegistry.Create;
texpr.RootKey:=HKEY_CURRENT_USER;
texpr.OpenKeyReadOnly('\MyKey');
texpr.ExportKey (ExtractFilePath(Application.ExeName)+'ExportedReg.reg');
texpr.Free;
end;
* .regファイルをエクスポート
procedure TForm1.Button1Click(Sender: TObject);
var
texpr : TExRegistry;
begin
texpr:=TExRegistry.Create;
texpr.ImportRegFile('c:\myReg.reg');
texpr.Free;
end;
関連する問題
- 1. "ソースの表示"モードでhtmlを挿入すると、cleditorで "insertHtmlコマンドを実行中にエラーが発生しました"というメッセージが表示される
- 2. IOIO Mintアプリケーションを実行すると「libcore.io.ErrnoException:open failed:ENOENT」というメッセージが表示されるのはなぜですか?
- 3. 実行タイムアウトエラーメッセージが表示されないようにするにはどうすればよいですか?
- 4. Intellijで実行されるコマンドを確認する方法
- 5. R shiny:機能実行中に "loading ..."というメッセージが表示されます
- 6. レポートの長さを確認するメッセージを表示しないようにする
- 7. MVC3各クリック後に幾何学的な進行として確認メッセージが表示されています
- 8. 確認タブが表示されない
- 9. 確認ボックスが表示されない
- 10. スプライトオブジェクトが表示されているかどうかを確認するには?
- 11. フルスクリーンアプリケーションが実行されているかどうかを確認するには?
- 12. スクリーンセーバーが実行されているかどうかを確認するには?
- 13. iphone - 添付ファイルが表示されないようにする
- 14. shell32.dll; ShellExecute()がPowerbuilderで実行されていない11.5
- 15. ファイルを開くときに "Syntax Error"というメッセージが表示される
- 16. Cでスレッドが実行されている間にGUIでメッセージを表示
- 17. 中間ページ(Django)でカスタム管理アクションを実行した後に確認メッセージを表示するにはどうすればよいですか?
- 18. hibernateによってクエリが実行されるのを確認するには?
- 19. Androidで実行されているアプリを確認するにはどうすればよいですか?
- 20. TFS - ファイルを実行中にターゲットブランチが表示されないマージ
- 21. デバイスで実行するとSUbviewが表示されない
- 22. ファイルの場所が表示されないようにするにはどうすればよいですか?
- 23. Firefoxこのページでは、離れることを確認するメッセージが表示されます
- 24. AdMobでアプリを実行しようとするとエラーが表示される
- 25. Delphiでメッセージが送信された場所を確認するにはどうすればよいですか?
- 26. 削除時に確認メッセージを表示
- 27. iPhoneシミュレータを実行するとPickViewが表示されない
- 28. ユーザーが戻るボタンをクリックしたときに唸りメッセージが表示されないようにするにはどうすればよいですか
- 29. asp.netの実行時にメッセージを確認
- 30. アクセスデータベースを開くときにリンクテーブルマネージャのメッセージが表示されないようにするには
regファイルを実行しないでください。レジストリAPIを直接使用してください。 –
あなたが与えたアドバイスは貴重だと確信していますが、なぜこのようにしてはならないのか説明してください。もう一つは、実行したいレジストリファイルに、データ認識グリッドコンポーネントによって自動的に挿入されたたくさんのエントリが含まれています。私が手動で書き込もうとすると時間の無駄を意味しませんか? –
たとえば、64ビットシステムでレジストリリダイレクタをどのように処理しますか? –