使用ShellExecute函數來安裝INF文件

寫驅動過程中有時候需要自動安裝驅動程序,那麼可以使用ShellExecute函數來完成這個工作:

     首先查下看看你的HKEY_CLASSES_ROOT\inffile\shell\Install\command的值是什麼,比如我的機子上是%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1,這個是默認安裝inf會執行的命令,我們根據這個命令來寫ShellExecute的參數

     代碼: 

     char* cmd1="setupapi,InstallHinfSection DefaultInstall 132 c:\\1.inf";
     ::ShellExecuteA(NULL, "open", "rundll32.exe", cmd1, NULL, SW_SHOWNORMAL);
     printf("%d\n",GetLastError());

     注意將你的inf文件路徑替換c:\\1.inf處。

     ShellExecuteA的最後一個參數是表示顯示的方式,可以選SW_HIDE來不讓安裝窗口出現。

發佈了39 篇原創文章 · 獲贊 104 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章