Richie 发表于 2007-6-4 16:04:00
win2k,XP下用setupapi.dll自动安装Driver
在驱网看到54cndr 写的这篇文章,虽然自己一直都用Installshield,但还是觉得这个也是一个很好的思路,故摘录在此。
用setupapi.dll安装Driver
适用OS: win2k,winXP
InstallShiled代码:
szProgram = "rundll32.exe";
szCmdLine = "setupapi.dll,InstallHinfSection DefaultInstall 132" + SUPPORTDIR + "netsf.inf";
LaunchAppAndWait(szProgram, szCmdLine, WAIT);
注意:
1、其中DefaultInstll是指INF文件中的安装节,必须替换为自己INF中的INSTALL节名,例如节名是USBCamera.Dev,则代码要要改为:
szCmdLine = "setupapi.dll,InstallHinfSection USBCamera.Dev 132" + SUPPORTDIR + "netsf.inf";
2、SUPPORTDIR是指inf及sys等所有Driver文件所在的路径.你要先把所有Driver文件copy到硬盘,例如你的文件在C:YourDriver,
则SUPPORTDIR在程序中要替换为 "C:\\\\YourDriver\\\\".
------------------------------------------------------------------------------------------------------
你先在COMMAND DOS命令环境下用打命令方式调试成功后再写程序吧。这样容易排除错误,要注意driver的目录和空格。你还可以去查看rundll32.exe的用法。
调试命令请参考:
rundll32.exe setupapi.dll,InstallHinfSection Modem2.NT 132 C:\\YourDriver\\netsf.inf
阅读全文(5812) | 评论(4)
4楼 ilvan 发表于 2009-10-12 11:49:00
在一个使用SETUP API自动安装驱动后,为什么插其他USB却不能使用 高手 帮帮忙!
3楼 52RD网友(游客) 发表于 2008-8-28 13:56:00
楼主你好
多亏你的文章,我找到一些头绪。
我按照你的方法,安装了我自己的驱动,安装成功了,但是在设备管理器中没有看到我的驱动。
如果我采用“安装硬件”就可以在里面看到我的驱动了。
请问这是什么原因呢?
多谢你在百忙之中给我答复,谢谢。祝身体健康,事业发达
我的EMAIL:yushui_213@163.com
2楼 xjl20008 发表于 2007-11-21 14:10:00
请见http://www.52rd.com/Blog/Detail_RD.Blog_xjl20008_8604.html
1楼 Semor(游客) 发表于 2007-11-5 10:30:00
你好,我想问一下,那个inf文件中的安装节应该怎么判断是哪一个呢?
我的inf文件是从C:\windows\inf下面拷贝出来的,不知道这样行不行?希望您能够回答,我的联系方式:
semor.yang@gmail.com
http://semor.awardspace.com
再次感谢!
9 1 :