从 VB6 到 .net 服务的 ExecuteCommand

发布于 2024-11-26 20:08:12 字数 372 浏览 2 评论 0原文

在 VB.net 中,我可以在 Windows 服务上执行自定义命令:

桌面:

Const SmartShutdown As Integer = 12  

Dim myService As New ServiceController("SampleService")
myService.ExecuteCommand(SmartShutdown)

Windows 服务:

Protected Overrides Sub OnCustomCommand(ByVal command As Integer)  

是否也可以从 VB6 到 .net Windows 服务执行命令?

In VB.net I can execute Custom commands on Windows-Services :

Desktop:

Const SmartShutdown As Integer = 12  

Dim myService As New ServiceController("SampleService")
myService.ExecuteCommand(SmartShutdown)

Windows-Service:

Protected Overrides Sub OnCustomCommand(ByVal command As Integer)  

Is it also possible to execute commands from VB6 to .net Windows-Service?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

櫻之舞 2024-12-03 20:08:12

You can use the ControlService API function to send any control codes.
This does require that you've called OpenService with the appropriate access and that your process is running at the required level.
On Vista+, this can be done using the normal manifest (process wide) or COM elevation.

考虑使用 VB6 Shell 函数和 < code>sc.exe 控制Windows服务的命令行工具,eg:

Shell("cmd /C 'sc stop SampleService > %APPDATA%\svc.log'")

Update

发送自定义命令,eg:

Shell("cmd /C 'sc control SampleService 128 > %APPDATA%\svc.log'")

自定义命令应在128-255范围内。

Consider using the VB6 Shell function and the sc.exe command line tool to control windows services, e.g:

Shell("cmd /C 'sc stop SampleService > %APPDATA%\svc.log'")

Update

To send a custom command, e.g.:

Shell("cmd /C 'sc control SampleService 128 > %APPDATA%\svc.log'")

Custom command should be in the range 128-255.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文