阅读:2925回复:8
如何做到安装驱动的时候,不用重新启动电脑!
现在我的安装驱动的方式,是用inf的方式或者 写一个bat的方式进行安装的。但是这两种方式的安装都会出现一个操作系统的对话框“系统设置改变”必须重新启动计算机才能使新的设置生效。想现在就重启计算机吗?
请问如何配置inf或者bat的内容,来使得这个系统给出的对话框不出现。 或者有更加好的安装方法? 请多多指点,谢谢! |
|
沙发#
发布于:2008-08-15 12:30
我也是有同样的疑问,帮你up
|
|
板凳#
发布于:2008-08-15 12:35
InstDrv
下载地址 http://forum.jiangmin.com/UploadFile/2008-4/20084191365398.rar 这个软件你用用试看! 不过我用了感觉不怎么好用!可能方法不对,你用后告诉我效果怎么样! |
|
地板#
发布于:2008-08-15 14:39
可以自己写程序将驱动加载.
调试的时候也可以借用某些工具来实现(例如楼上说的InstDrv) |
|
地下室#
发布于:2008-08-15 15:05
可以自己写程序将驱动加载.
是否有哪些参考的代码? |
|
5楼#
发布于:2008-08-15 22:56
需要重启电脑是因为你的去驱动启动选项是boot_start,如果改成service_start随服务启动就不会出现提示了,但是这样下次开机的时候驱动不会自启动,你需要自己启动。。。
|
|
6楼#
发布于:2008-09-04 16:52
只要你的驱动确实不是需要在系统启动的时候才能工作(比如为了确保加载顺序),都可以不用重启电脑。
在注册表里面写几个键值就可以了,看下CreateService吧。 |
|
7楼#
发布于:2009-03-08 23:32
#include<stdio.h>
#include<windows.h> void addService(char *path, char *serviceName); int main() { printf("输入要增加的服务程序路径:"); char path[100]; scanf("%s", path); printf("输入服务的名称:"); char name[100]; scanf("%s", name); addService(path, name); return 0; } void addService(char *path, char *name) { SC_HANDLE schSCManager; SC_HANDLE schService; // Get a handle to the SCM database. schSCManager = OpenSCManager( NULL, // local computer NULL, // ServicesActive database SC_MANAGER_ALL_ACCESS); // full access rights if (NULL == schSCManager) { printf("OpenSCManager failed (%d)\n", GetLastError()); return; } // Create the service. schService = CreateService( schSCManager, // SCM database name, // name of service name, // service name to display SERVICE_ALL_ACCESS, // desired access SERVICE_FILE_SYSTEM_DRIVER, // service type SERVICE_DEMAND_START, // start type SERVICE_ERROR_NORMAL, // error control type path, // path to service's binary NULL, // no load ordering group NULL, // no tag identifier NULL, // no dependencies NULL, // LocalSystem account NULL); // no password if (schService == NULL) { printf("CreateService failed (%d)\n", GetLastError()); CloseServiceHandle(schSCManager); return; } else printf("Service installed successfully\n"); CloseServiceHandle(schService); CloseServiceHandle(schSCManager); } 看到msdn写的一个 |
|
8楼#
发布于:2009-03-13 12:17
做驱动安装程序最好根据inf文件来做,随便通过服务来安装驱动的话会出现意想不到的问题
|
|