以上是tjianliang (乡关何处)提的问题?
我也想这样做可是在OnStart事件里写了两行代码:
ShellExecute(0, nil, PChar('Svr.exe'), nil, nil, SW_SHOWNORMAL);
LogMessage('Svr.exe Start', EVENTLOG_SUCCESS);
提示shllexecute没有定议?
7 个解决方案
#1
uses ShellAPI
#2
谢谢,可是为什么没有窗口出来呢?
#3
ShellExecute(handle, 'Open', PChar('Svr.exe'), nil, nil, SW_SHOWNORMAL);
#4
服务是启动了,但程序没有加载呀,也没有窗口出来,请高手指点一下。
#5
handle没有定义
#6
WinExec('Svr.exe', SW_NORMAL);
#7
--可能是因为选择了服务的登录用户后就无法选中服务程序的“允许服务与桌面交互”选项
通过服务启动程序是有可能看不到窗口的,因为在程序启动的时候有可能桌面Shell还没有执行,窗口当然没有地方可以显示。不过既然是服务程序,有没有窗口也应当不是很重要了吧。
如果需要窗口交互的话,也没有必要做成服务程序,在注册表的自启动项/自启动配置文件/开始菜单启动项里建一个快捷方式就行了
通过服务启动程序是有可能看不到窗口的,因为在程序启动的时候有可能桌面Shell还没有执行,窗口当然没有地方可以显示。不过既然是服务程序,有没有窗口也应当不是很重要了吧。
如果需要窗口交互的话,也没有必要做成服务程序,在注册表的自启动项/自启动配置文件/开始菜单启动项里建一个快捷方式就行了
#1
uses ShellAPI
#2
谢谢,可是为什么没有窗口出来呢?
#3
ShellExecute(handle, 'Open', PChar('Svr.exe'), nil, nil, SW_SHOWNORMAL);
#4
服务是启动了,但程序没有加载呀,也没有窗口出来,请高手指点一下。
#5
handle没有定义
#6
WinExec('Svr.exe', SW_NORMAL);
#7
--可能是因为选择了服务的登录用户后就无法选中服务程序的“允许服务与桌面交互”选项
通过服务启动程序是有可能看不到窗口的,因为在程序启动的时候有可能桌面Shell还没有执行,窗口当然没有地方可以显示。不过既然是服务程序,有没有窗口也应当不是很重要了吧。
如果需要窗口交互的话,也没有必要做成服务程序,在注册表的自启动项/自启动配置文件/开始菜单启动项里建一个快捷方式就行了
通过服务启动程序是有可能看不到窗口的,因为在程序启动的时候有可能桌面Shell还没有执行,窗口当然没有地方可以显示。不过既然是服务程序,有没有窗口也应当不是很重要了吧。
如果需要窗口交互的话,也没有必要做成服务程序,在注册表的自启动项/自启动配置文件/开始菜单启动项里建一个快捷方式就行了