发信人: bbinn (远离BBS一个月,高高兴兴过大年), 信区: Software
标 题: 如何创建一个服务
如果用户以管理员登录,那么.sys文件放在任何目录中,都可以被程序调用。但
是如果以非管理员登录,则.sys文件必须放在WinNT\System32\drivers目录中(其
他类型的服务通常可以放在system32目录中)。你需要先以管理员登录到Windows
NT/2000(普通用户没有建立服务的权利)。如果你有Windows NT/2000 Resouce
Kit,你可以使用命令行工具sc.exe创建一个服务,它会自动修改注册表。如:
sc Create myservice BinPath= %%SystemRoot%%\System32\drivers\mydriv
er.sys DisplayName= "My Service" type= kernel start= auto error= ignore
然后重新启动系统,以后任何用户都可以调用该驱动了。注意,你的程序中不
需要再调用CreateService之类的函数,只需要调用CreateFile就可以了。
如果没有Resouce Kit,你也可以手工修改注册表。如:
1、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\下建立新键
myservice。
2、在myservice下创建值
"Type"=dword:00000001
"Start"=dword:00000002
"ImagePath"="%%SystemRoot%%\System32\drivers\mydriver.sys"
"ErrorControl"=dword:00000001
"DisplayName"="NTPort Library Driver"
相关书籍:
《WINDOWS设备驱动程序技术内幕 》
《实用技术:WINDOWS NT与WINDOWS 2000设备驱动及开发》
--
◢█ ◆◆◆ 风 筝 ◆◆◆
◢██ _______________________
◥██/_ ↗
◢█◤◤ ⊿
◥◤ ⊿
|
bbinn

文章数: 11834 积分: 5.3 等级: 高级站友
|