| ■55895 / ) |
Re[5]: サービスからWin32アプリケーションの起動 |
□投稿者/ オショウ (567回)-(2010/12/17(Fri) 15:59:28)
|
> ちなみに現在、勉強がてらサービスからWin32Appを起動させようとしているのですがうまく行かないです。。。 > オショウさんがまだこのレスを見られていたら教えて頂きたいのですが、 > OnStart内でProcess.Start("strExePath");のようにサービス内からWin32Appを非同期でコールし、 > 直後に throw new ApplicationException("")して終了してます。
GUIを持つアプリを起動しようとしていますか? あとレジストリやHDD上のどこかにアクセスする機能を持つアプリ でしょうか?因みに.NETアプリならサービスから起動させた場合 特殊なフォルダにアクセスしますので、適切な権限を持つユーザー として起動させないと、起動しません。
因みに、CreateEnvironmentBlock/CreateProcessAsUser 等のAPI を使う必要があります。
> うまくいかないというのは、Win32Appが起動しないことと、例外を投げてサービスを終了するつもりが「開始」のままになってます。 > .Net2.0からOnStart内でもOnStopで終了してよいのでしたっけ?
.NET Framework内からAPIが呼び出され、API側エラーを返している はずですので、異常終了させたい場合、OnStart内で、エラーを スローするコードを書かないと止まりません。
以上。
|
|