C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 94 を表示中)
■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内で、エラーを
  スローするコードを書かないと止まりません。

以上。
返信 編集キー/


管理者用

- Child Tree -