我在 VB.NET 中编写了一个服务,但是它调用了一个需要 HWND 的 DLL。有没有办法获得服务的 hwnd,如果它存在的话?
另外,只是一个简单的问题,服务和由任务调度程序作为 SYSTEM 运行的程序之间有什么区别。
服务不在 Windows 中运行,因此它们没有 hWnd。也许您可以将 0 作为值传递?DLL 应该与 hWnd 做什么?
服务也是一个程序,它只是(通常)运行而不会在窗口中看到。所以通常服务不会有窗口句柄。
如果您的程序想要创建一个窗口,您可以,但如果它作为服务运行,它将不可见。
HWND 是一个窗口句柄。如果 Alexander 的解决方案不起作用,您可以让您的服务创建一个窗口 ( CreateWindow )。