DOBON.NET DOBON.NETプログラミング掲示板過去ログ

サービスアプリケーションからバッチファイルの起動

環境/言語:[Windows2000、VB.NET(2003)]
分類:[.NET]

.NETには、サービスアプリケーションあるとしり利用しようとしています。
サービスの開始時にバッチファイルを起動し処理を行いたいたく、
以下の記述を行いました。

Protected Overrides Sub OnStart(ByVal args() As String)
 Dim Ret As Long
 Ret = Shell("C:\TEST\EXE\TEST.CMD", AppWinStyle.NormalFocus)
End Sub

これでインストーラを用いインストールして開始させたところ、
コマンドプロンプトが表示されずに非表示で実行されているようでした。
どこまで実行されたかを確認したいのでコマンドプロンプトを表示させて実行したいのですが、
どの様にすればよろしいでしょうか?
よろしくお願い致します。
Shell関数の引数を以下のように変えても表示されませんでした。
サービスアプリケーションからバッチファイルを起動しても表示されないのでしょうか?
Shell("C:\TEST\EXE\TEST.CMD", AppWinStyle.MaximizedFocus)

どうかご教授願います。
> サービスアプリケーションからバッチファイルを起動しても表示されないのでしょうか?

サービスは特別なアカウントで実行されるバックグラウンドプロセスです。
通常デスクトップは使用できません(使用しません)
が、管理ツール−サービス−プロパティ−対話を許可をチェックででてくるかも。

ともあれ、ログオン前に起動されることからもお分かりのように、
ユーザーインターフェースを使う場合、必要性について十分検討するべきでしょう。
対話を許可することで表示することができました。
実行が確認できたので運用時は非表示で行うことも検討します。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板