阅读:1290回复:6
有人说这是菜鸟问题,那怎么没有人知道怎么做啊?知道的请告诉
做了U盘驱动的安装文件,驱动的INF装到WINDOWS下INF目录中,SYS放到SYSTEM32的DRIVERS目录中,然后插入新的U盘,系统会出现安装向导,然后是找驱动,这些过程都需要人来选择安装路径或者是点“下一步”,怎么样实现,系统找到新硬件后能自动找到驱动然后自动安装好新设备,不需要人来点“下一步”等等动作???看到了斑竹发的帖子,里面讲了WIN98和WIN2000的方法,但是我试过了,还是会出现向导,然后要求点下一步,然后是搜索,点下一步搜索到驱动,虽然不用人去浏览驱动地址,但是还是要人工操作,请问有没有办法可以不用人工操作的??我看过一个别人的驱动安装,没有删除INF下的DRVIDX。BIN和DRVDATA。BIN这两个文件,装过驱动以后插入U盘就可以完全自动把新设备装好了,不知道是怎么实现的,有没有高手指导一下???是不是和INF文件有关?我以前做应用,是刚接触这个,客户要得急,搜索了,网上也没有找到这个的解决办法,知道的请告诉一下,非常感谢,谢谢。
|
|
|
沙发#
发布于:2004-09-12 19:21
ddk好像自带一个叫geninf的程序
自己生成一个inf文件好了 |
|
板凳#
发布于:2004-09-13 12:56
做了U盘驱动的安装文件,驱动的INF装到WINDOWS下INF目录中,SYS放到SYSTEM32的DRIVERS目录中,然后插入新的U盘,系统会出现安装向导,然后是找驱动,这些过程都需要人来选择安装路径或者是点“下一步”,怎么样实现,系统找到新硬件后能自动找到驱动然后自动安装好新设备,不需要人来点“下一步”等等动作???看到了斑竹发的帖子,里面讲了WIN98和WIN2000的方法,但是我试过了,还是会出现向导,然后要求点下一步,然后是搜索,点下一步搜索到驱动,虽然不用人去浏览驱动地址,但是还是要人工操作,请问有没有办法可以不用人工操作的??我看过一个别人的驱动安装,没有删除INF下的DRVIDX。BIN和DRVDATA。BIN这两个文件,装过驱动以后插入U盘就可以完全自动把新设备装好了,不知道是怎么实现的,有没有高手指导一下???是不是和INF文件有关?我以前做应用,是刚接触这个,客户要得急,搜索了,网上也没有找到这个的解决办法,知道的请告诉一下,非常感谢,谢谢。 --------------- sorry了 看看这个吧,我现在也在做这个自动安装,等做好了发送给你 我现有两个解决方法,下面的调试通过,但是装不上,我现在正在研究第二种非常规方法,也许会很快搞定 DWORD CALLBACK ModemCoInstallProc ( DI_FUNCTION InstallFunction, HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, PCOINSTALLER_CONTEXT_DATA Context ) { if(InstallFunction == DIF_INSTALLDEVICE) { char szInstanceID[255]; char buffer[1024]; DWORD cbData; HKEY hKey; char szComPort[10] = { 0 }; if(RegOpenKey(HKEY_CURRENT_USER , "Environment" , &hKey)==ERROR_SUCCESS) { cbData = sizeof(szComPort); if(RegQueryValueEx(hKey , "MDMCOM" , NULL , NULL , (LPBYTE)szComPort , &cbData)==ERROR_SUCCESS) { if(SetupDiGetDeviceInstanceId(DeviceInfoSet , DeviceInfoData , szInstanceID , 1024 , NULL)) { if(GetOsType() < OS_NT4) strcpy(buffer , "System\\CurrentControlSet\\Services\\Class\\"); else strcpy(buffer , "SYSTEM\\CurrentControlSet\\Control\\Class\\"); cbData = 1024 - strlen(buffer); if(RegQueryDeviceProperty(szInstanceID , NULL , "Driver" , NULL , (PBYTE)(buffer + strlen(buffer)), &cbData)==ERROR_SUCCESS) { if(RegOpenKey(HKEY_LOCAL_MACHINE, buffer,&hKey)==ERROR_SUCCESS) { RegSetValueEx(hKey , "AttachedTo", 0 , REG_SZ , (LPBYTE)szComPort , strlen(szComPort)); RegCloseKey(hKey); } } } } RegCloseKey(hKey); } } return NO_ERROR; } |
|
|
地板#
发布于:2004-09-13 12:59
假如你做的是优盘,2000以上的系统是不用安装驱动的,系统会自动给你装好。
|
|
|
地下室#
发布于:2004-09-14 17:29
谢谢,2000下不用装驱动这个我还是知道的,呵呵……我做的是98下的,因为我是刚接手,所以不太熟悉,对INF文件不了解。不过今天我已经把它做好了,跟你的方法不一样,我想我那个可能要简单一些,重新写了INF文件就好了并做了一个小东东,就好了,呵呵…… :D
|
|
|
5楼#
发布于:2004-09-14 17:35
谢谢二位,虽然我用的方法和你们不一样,不过感谢你们回答,给分表示谢意。呵呵……因为二楼的说自己做个INF和我的接近一点,所以多给一点点,3楼的哥哥不会介意吧,呵呵…… :P
|
|
|
6楼#
发布于:2004-09-15 09:39
cecily,你咋做的?能否给一点思路?谢谢啦!!!
|
|
|