2011-02-02 10 views
0

起動時に特定のURLを開くWindowsサービスを作成する必要があります。Windowsサービスからブラウザを起動するにはどうすればいいですか?

保護されたオーバーライド無効OnStartメソッド(文字列[] args)を

{ 
     eventLog1.WriteEntry("Browser must start " + DateTime.Now); 
     string targetURL = "http://www.mysite.com"; 
     System.Diagnostics.Process.Start(targetURL); 
    } 

しかしこの事のdoesnの `tの仕事:私がやったこと は、以下の行を追加することでONSTART()メソッドをオーバーライドすることです。 :(( )これは、ログを書いているということです。これは、onStartを意味します。誰でも何か考えがありますか?

答えて

2

自動起動モードで)ログインしているユーザーがいない場合

一般的にサービスはユーザーのデスクトップと対話せず、別のセッションで作業します。ログインしているユーザーのそれぞれまたは一部に対して何かを実行する必要がある場合は、ユーザーのログイン時に自動的に開始され、サービスが通信する別のエージェントアプリケーションを作成する必要があります。エージェントはブラウザを起動するか、必要な操作を行うことができます。

1

WindowsサービスにはGUIがありません。サービスと、それは、Webブラウザを起動してい

このリンクは直接あなたの質問に答えるが、正しい道にあなたを置くための答えで十分なリンクが含まれていません:それはだとき(サービスが通常起動されるHow can I run a Windows GUI application on as a service?

2

単純な答えは、Vista以降を使用している場合はできません。これはsession 0 isolationが原因です。そのページにリンクされたドキュメントから引用すると:より複雑な相互作用について

、 開発者は、ユーザーの セッションで実行され、すべてのUI 要件を処理剤中に彼らのUIコード を移動する必要があります。エージェントはRPCを使用して サービスと通信するか、 という名前のパイプを使用します。

関連する問題