我用system()
函數在我的C代碼中調用certmgr.exe
。 一旦我啓動我的可執行文件,會出現一個命令promt,顯示已成功安裝的證書。在C程序中調用默認的Windows可執行文件
但我不想命令promt被打開。怎麼做??
可調用「exe文件的」 C語言中的任何其他方式..
謝謝,,,
我用system()
函數在我的C代碼中調用certmgr.exe
。 一旦我啓動我的可執行文件,會出現一個命令promt,顯示已成功安裝的證書。在C程序中調用默認的Windows可執行文件
但我不想命令promt被打開。怎麼做??
可調用「exe文件的」 C語言中的任何其他方式..
謝謝,,,
在Windows上執行此操作的最簡單方法是致電ShellExecute
。通過SW_HIDE
以確保沒有顯示控制檯窗口。
您也可以使用CreateProcess
,但調用起來有點麻煩。使用CREATE_NO_WINDOW
標誌來禁止控制檯窗口。
ShellExecute(NULL,NULL,「。\\ certifications \\ CertMgr.exe」,「/ add。\\ certifications \\ MYcertificate.cer/s/r localMachine root」,NULL,SW_HIDE)我使用上面的命令,仍然會打開一個控制檯窗口,點擊我的exe文件.... – 2vision2
CreateProcess和CREATE_NO_WINDOW標誌有什麼關係。有時候這是唯一的解決方案。 –
雅我嘗試與createProcess也再次獲得控制檯窗口.. CreateProcess(「。\\ certifications \\ CertMgr.exe」,「/添加。\\認證\\ MYcertificate.cer/s/r localMachine根」,NULL ,NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi); – 2vision2
沒有辦法運行cmd.exe
默默地/背景。但是,不要擡頭看start
命令及其相關/B
選項:
啓動另一個窗口運行指定的程序或命令。
START [「title」] [/ D path] [/ I] [/ MIN] [/ MAX] [/ SEPARATE | /共享] [/ LOW |/NORMAL |/HIGH |/REALTIME |/ABOVENORMAL |/BELOWNORMAL] [/ AFFINITY] [/ WAIT] [/ B] [命令/程序] [參數]
[...] 乙開始應用而無需創建一個新的窗口。 應用程序已忽略^ C處理。除非應用程序 啓用^ C處理,否則^ Break是中斷 應用程序的唯一方法。
你會比較好用CreateProcess
。
WINAPI具有CreateProcess()
函數,您可以使用它來運行其他可執行文件。有幾個參數到這個函數可提供一種機制,用於不顯示的certmgr.exe
控制檯窗口(從process creation flags參數):
CREATE_NO_WINDOW 的處理是正在運行控制檯應用程序沒有控制檯窗口。因此,應用程序的控制檯句柄未設置。
我不會用的系統運行任何東西..這是爲什麼:http://www.cplusplus.com/forum/articles/11153/
可以使用的ShellExecute來運行應用程序http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx通行證SW_HIDE就大功告成了。
感謝所有你的回覆...... Upvoted all ... – 2vision2
ShellExecute(NULL,NULL,「 。\\ certifications \\ CertMgr.exe「,」/ add。\\ certifications \\ MYcertificate.cer/s/r localMachine root「,NULL,SW_HIDE)我使用上面的命令,然後點擊我的exe文件時打開一個控制檯窗口.... – 2vision2