使用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来不让安装窗口出现。

你可能感兴趣的:(工作,shell,cmd,command,null,System)