cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:1290回复:6

有人说这是菜鸟问题,那怎么没有人知道怎么做啊?知道的请告诉

楼主#
更多 发布于:2004-09-10 11:56
做了U盘驱动的安装文件,驱动的INF装到WINDOWS下INF目录中,SYS放到SYSTEM32的DRIVERS目录中,然后插入新的U盘,系统会出现安装向导,然后是找驱动,这些过程都需要人来选择安装路径或者是点“下一步”,怎么样实现,系统找到新硬件后能自动找到驱动然后自动安装好新设备,不需要人来点“下一步”等等动作???看到了斑竹发的帖子,里面讲了WIN98和WIN2000的方法,但是我试过了,还是会出现向导,然后要求点下一步,然后是搜索,点下一步搜索到驱动,虽然不用人去浏览驱动地址,但是还是要人工操作,请问有没有办法可以不用人工操作的??我看过一个别人的驱动安装,没有删除INF下的DRVIDX。BIN和DRVDATA。BIN这两个文件,装过驱动以后插入U盘就可以完全自动把新设备装好了,不知道是怎么实现的,有没有高手指导一下???是不是和INF文件有关?我以前做应用,是刚接触这个,客户要得急,搜索了,网上也没有找到这个的解决办法,知道的请告诉一下,非常感谢,谢谢。
我不是你的天使,我不懂你的天堂
helin
驱动牛犊
驱动牛犊
  • 注册日期2004-03-23
  • 最后登录2004-09-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-12 19:21
ddk好像自带一个叫geninf的程序
自己生成一个inf文件好了
usb_anywhere
驱动小牛
驱动小牛
  • 注册日期2003-07-29
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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;
}
驱网是你们的,也是我们的,归根结底还是大家的!
usb_anywhere
驱动小牛
驱动小牛
  • 注册日期2003-07-29
  • 最后登录2005-11-22
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-13 12:59
假如你做的是优盘,2000以上的系统是不用安装驱动的,系统会自动给你装好。
驱网是你们的,也是我们的,归根结底还是大家的!
cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-14 17:29
谢谢,2000下不用装驱动这个我还是知道的,呵呵……我做的是98下的,因为我是刚接手,所以不太熟悉,对INF文件不了解。不过今天我已经把它做好了,跟你的方法不一样,我想我那个可能要简单一些,重新写了INF文件就好了并做了一个小东东,就好了,呵呵…… :D
我不是你的天使,我不懂你的天堂
cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-14 17:35
谢谢二位,虽然我用的方法和你们不一样,不过感谢你们回答,给分表示谢意。呵呵……因为二楼的说自己做个INF和我的接近一点,所以多给一点点,3楼的哥哥不会介意吧,呵呵…… :P
我不是你的天使,我不懂你的天堂
wanggang508
驱动小牛
驱动小牛
  • 注册日期2003-08-24
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-15 09:39
cecily,你咋做的?能否给一点思路?谢谢啦!!!
多多交流,少走弯路!!!
游客

返回顶部