シンプルなインターフェイス (2 つの入力ボックスと送信ボタン) とバックグラウンドで実行される Windows サービスを持つシンプルな出席アプリケーションを作成しています。
アイデアは、ログイン/ログアウト イベントをキャプチャし、それに応じて時間を計算することです。問題は、バックグラウンドで実行できるが、ユーザーが ID を追加するためのインターフェイスを持つ Windows サービスを作成する方法です。
ありがとう
シンプルなインターフェイス (2 つの入力ボックスと送信ボタン) とバックグラウンドで実行される Windows サービスを持つシンプルな出席アプリケーションを作成しています。
アイデアは、ログイン/ログアウト イベントをキャプチャし、それに応じて時間を計算することです。問題は、バックグラウンドで実行できるが、ユーザーが ID を追加するためのインターフェイスを持つ Windows サービスを作成する方法です。
ありがとう
そのための Windows サービスは必要ありません。UI と対話する Windows サービスを持つことは、複雑な作業になります。UI を直接開いて、Windows サービスからユーザーのデスクトップに表示することはできません。セキュリティ上のリスクが生じるためです。
Windows アプリを作成し、Windows の起動時に実行することをお勧めします。Windowsの起動時にexeを簡単に呼び出すことができます。アプリケーション名と exe パスを、OS の起動時に実行される次のレジスタ エントリに設定するだけです。
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
key.SetValue("Your Application Name", @"Your application path.exe");
編集
現在ログインしているユーザー名を取得する
string loggedInUser = Environment.UserName;