在我的程序中,我在啓動時檢查註冊表項,如果它不存在,我使用ShellExecute幫助執行位於應用程序文件夾中的reg文件命令。如何避免在執行此命令時獲取配置消息。有沒有辦法做到這一點,或根據安全原因,這是不可能的?如何避免使用shellexecute命令執行.reg文件時的確認消息
5
A
回答
12
使用/ s命令行開關。 (見http://support.microsoft.com/kb/82821)
+0
我該如何在Delphi中做到這一點?我仍然使用ShellExecute?一個例子,將不勝感激 – 2012-01-16 08:30:08
+4
ShellExecute會正常工作。我自己我會使用'reg import'而不是'regedit'。 – 2012-01-16 09:06:33
11
這是可能的。有兩種方法:
- %WINDIR%\ SYSTEM32 \ REGEDIT.EXE /s的 file.reg
- %WINDIR%\ SYSTEM32 \ REG.EXE進口file.reg
要麼會靜靜地將file.reg導入到註冊表中。
3
嘗試一下本作導入* .reg文件,
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;
您也可以嘗試此鏈接unitEXRegistry.pas
這unitEXRegistry.pas單元具有非常有用的功能,導出註冊表文件,然後導入也默默地出口* .reg文件
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;
然後導入就可以使用(默默)
procedure TForm1.Button1Click(Sender: TObject);
var
texpr : TExRegistry;
begin
texpr:=TExRegistry.Create;
texpr.ImportRegFile('c:\myReg.reg');
texpr.Free;
end;
相關問題
- 1. 如何避免系統命令執行成功的消息?
- 2. 如何避免執行vc項目文件時的命令窗口
- 3. 使用Golang安全地執行命令(避免遠程執行)
- 4. 如何避免Firefox確認信息?
- 5. 如何避免linux中的linux命令消息
- 6. 如何在使用Ruby執行命令行時逃避豎線?
- 7. YUI DataTable - 如何避免'停止運行這個腳本?'確認消息
- 8. PowerShell:執行遠程命令並寫入StdError。如何避免錯誤信息?
- 9. 執行* .reg文件
- 10. 如何在使用HTTPS時避免IE7中的安全消息?
- 11. 如何避免在外殼腳本執行命令錯誤
- 12. MVVM顯示確認消息框,然後執行附加到按鈕的命令
- 13. 如何通過使用臨時避免令,文件排序
- 14. 批處理文件與reg add命令從網絡執行
- 15. 使用命令行執行.sql文件
- 16. 當shellexecute命令在MFC中執行批處理文件時顯示進度條
- 17. 如何避免使用win + r運行命令後關閉cmd?
- 18. 避免表單重新提交後顯示確認消息?
- 19. 如何避免在終端中運行python文件時需要命令'python'?
- 20. 如何使用Java確認RabbitMQ消息?
- 21. 如何避免IE警告消息消費使用jQuery
- 22. 如何避免vim中的累積文件類型命令?
- 23. 執行根命令沒有根用戶避免密碼提示
- 24. Jenkins如何從git commit消息執行特定的shell命令
- 25. 執行Segmentation時避免MomoryLeak
- 26. reg命令使用指數
- 27. 使用用戶確認執行異步命令
- 28. 當從Java中的ProcessBuilder執行時,Windows REG命令不工作
- 29. 執行.reg文件[c#]
- 30. 如何避免PromptChoice重試消息
不要執行reg文件。直接使用註冊表API。 – 2012-01-16 08:13:35
我相信你給出的建議很有價值,但請你解釋爲什麼我不應該這樣做?還有一件事,我想要執行的註冊表文件包含大量由數據感知網格組件自動插入的條目。如果我嘗試手動編寫它不會浪費時間嗎? – 2012-01-16 08:24:50
例如,你將如何處理64位系統上的註冊表重定向器? – 2012-01-16 08:31:23