我正在测试第三方硬件API,该API要求我的Handle
或Form
中的Service
用作其管道(不是我的源代码,所以不要怪我!)。我正在编写使用API的Windows服务,因此我将ServiceHandle
传递给了它。
问题是,当我以UserInteractive
模式运行服务时,ServiceHandle
变为零。
public class MyService : ServiceBase
if (Environment.UserInteractive)
this.ServiceHandle; // equals zero
else
this.ServiceHandle; // a valid IntPtr
这会发生吗?我是否应该通过其他方式来处理?如果是这样,我该怎么办?
任何建议将不胜感激。