1. 利用命令行SC 将脚本添加为服务,
sc create SVCNAME binpath= "C:\Program Files\SVCNAME.exe" start= auto displayname= "SVCNAME"
sc description SVCNAME "Provides SVCNAME fuction."
sc start SVCNAME
---
参考了论坛的SERVICE()函数http://ahkscript.org/forum/viewtopic.php?t=34984,在脚本的开头加了这些代码:
Code: Select all
ServiceName := "SVCNAME"
SCM_HANDLE := DllCall("advapi32\OpenSCManagerA"
, "Int", 0 ;NULL for local
, "Int", 0
, "UInt", 0x1) ;SC_MANAGER_CONNECT (0x0001)
SC_HANDLE := DllCall("advapi32\OpenServiceA"
, "UInt", SCM_HANDLE
, "Str", ServiceName
, "UInt", 0x10) ;SERVICE_START (0x0010)
DllCall("advapi32\StartServiceA"
, "UInt", SC_HANDLE
, "Int", 0
, "Int", 0)
提示: ---错误1053:服务没有及时响应启动或控制请求。
查了网络,应该是一般应用程序没有通知系统服务,启动已经成功导致被强行关闭引起。
继续添加:
DllCall("Advapi32\SetServiceStatus" , "UInt", SvcStatusHandle , "UInt", &SvcStatus)
这样的函数来修改。但是或许我对这些函数的理解不对,一直不能成功。
求帮助,求指导。
非常感谢!