2016-09-12 6 views
0

私の背景はASP.NETとSQL Server固有のものなので、この新しいプロジェクトは私には少し難題です。ファイルウォッチャーのC#プロジェクトタイプが動的URLを起動できるよりも

XMLファイルを更新することができないサードパーティのアプリケーションがあります。そのXMLファイルが更新されると、XMLファイルの属性の一部に基づいて構築されたURLを持つブラウザ(Internet Explorer)を起動します。

私はファイルウォッチャーのさまざまな例を見てきましたが、それについて心配していません(このグループからの入力は喜んで除外されます)。

私の質問は、どのタイプのプロジェクトを使用するのですか?私の最初の考えはサービスを使用することだったので、ユーザーはそれを気にする必要はなく、サービスをシャットダウンする必要はありませんでしたが、サービスを使用するときは "デスクトップ"取るべき方向に関して混乱している。

答えて

1

Windowsフォームアプリケーションは、このタスクの最も簡単なツールです。あなたはユーザーのデスクトップにアクセスすることができます(サービスでは簡単ではありません)。アプリケーション用にウィンドウを開く必要はありません(コンソールアプリケーションでは簡単ではありません)。

初期フォームウィンドウを開かずにFormsアプリケーションを作成する方法については、https://stackoverflow.com/a/9413568/1125059を参照してください。

アプリケーションのためのメカニズムがない場合は、アプリケーションがその状態を制御するためのシステムトレイアイコンを提供することができます。

+0

このアプローチを試しましたが、ウィンドウのフォームアプリケーションは一度実行され、その後閉じるボタンはありません。 –

+1

メインメソッドを早期に終了することはできません。 FileWatcherのイベントを設定した後、Mainメソッドの最後の行は['Application.Run();'](https://msdn.microsoft.com/en-us/library/ms157900(v = vs .110).aspx)を使用してアプリケーションを実行したままにし、アプリケーションメッセージループを処理します。 – Didz

+0

ご協力いただきありがとうございます。これで、NotifyFilters.LastWriteのみが有効になっていても、なぜchangeイベントが2回発生しているのかを知ることができました。 –

-1

このファイルの属性が変更され、他のインターフェイスがなくてもInternet Explorerを起動する必要がある場合は、サービスプロジェクトを作成します。他に必要なことは、あなたは同時にサービスから立ち上げることができます。

これはバックグラウンドでのみ監視し、誰でも管理する必要はないと想定していることを前提としています。

+0

これはデスクトップアクセスとWindowsサービスが分離されているために機能しません。 –

関連する問題