Я тестирую сторонний аппаратный API, который требует Handle
от моего Form
или Service
, чтобы использовать его в качестве конвейера ( не мой исходный код, поэтому не вините меня! ). Я пишу Windows-сервис, который использует API, поэтому я передаю ему ServiceHandle
.
Дело в том, что когда я запускаю службу в режиме UserInteractive
, ServiceHandle
становится равным нулю.
public class MyService : ServiceBase
if (Environment.UserInteractive)
this.ServiceHandle; // equals zero
else
this.ServiceHandle; // a valid IntPtr
Должно ли это происходить? Должен ли я получить ручку другим способом? Если да, то как мне это сделать?
Любые предложения будут оценены.