SQL データベースに対して実行し、毎朝ユーザー マシンでポップアップを起動して質問するポップアップ アプリケーションを作成したいと考えています。応答はデータベースに送り返されます。
Windows サービスではかなり簡単ですが、ポップアップやインターフェイスでは簡単ではありません。
どうすればこれを達成できますか?
提案をありがとう
SQL データベースに対して実行し、毎朝ユーザー マシンでポップアップを起動して質問するポップアップ アプリケーションを作成したいと考えています。応答はデータベースに送り返されます。
Windows サービスではかなり簡単ですが、ポップアップやインターフェイスでは簡単ではありません。
どうすればこれを達成できますか?
提案をありがとう
毎朝ポップアップ ウィンドウを表示するだけであれば、サービスを実行する必要はありません。通常の Windows アプリケーションを作成し、Windows タスク スケジューラ ( http://en.wikipedia.org/wiki/Task_Scheduler )を使用して毎朝実行するようにスケジュールするだけです。
タスクを作成するときに、時間、実行可能ファイルへのパス、頻度と時間 (毎時、毎日、毎月など) を指定できます。ユーザーのログイン時にタスクを実行するかどうかを指定することもできます (タスクを実行するときにユーザーがログオンしていない場合)。
プログラムのインストール時にタスクの作成を自動化できます。
編集:C#でタスクを作成する例を次に示します http://community.bartdesmet.net/blogs/bart/archive/2008/02/23/calling-the-task-scheduler-in-windows-vista-and- windows-server-2008-from-managed-code.aspx
ユーザーセッションでサービスがウィンドウを表示するようにするには、かなりの作業が必要です。最も簡単な方法は、ログイン時にプログラムが実行されるようにインストーラーをセットアップすることです。
これを行う簡単な方法は、アプリケーションの実行可能ファイルを指すキーを次のレジストリに配置することです。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Vista 以降のセッション 0 分離では、サービスからポップアップ/インターフェイスを作成できなくなりました。プログラムをサービスとして実行する必要がある場合は、ユーザーのセッションで実行されるサービスとクライアント アプリケーションの両方が必要です。その後、さまざまな方法を使用して 2 つの間で通信できます。最近、この問題を解決するために .NET のリモート処理を使用しました。