C# win应用程序加载并在用户登录/注销时关闭

C# win应用程序加载并在用户登录/注销时关闭,c#,windows,login,logout,C#,Windows,Login,Logout,我想编写一个win应用程序,并获取本地网络中任何用户的登录/注销时间。如何使此应用程序在用户打开windows时启动正在运行,我不想将其放在启动文件夹中。 我想知道注销我的应用程序的用户是否已关闭,然后该用户登录的应用程序是否已运行。您可以在HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\windows\CurrentVersion\run 您可以使用SessionEnding事件来检测用户何时注销 static void Main() { Micro

我想编写一个win应用程序,并获取本地网络中任何用户的登录/注销时间。如何使此应用程序在用户打开windows时启动正在运行,我不想将其放在启动文件夹中。
我想知道注销我的应用程序的用户是否已关闭,然后该用户登录的应用程序是否已运行。

您可以在
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\windows\CurrentVersion\run

您可以使用
SessionEnding
事件来检测用户何时注销

static void Main()
{
    Microsoft.Win32.SystemEvents.SessionEnding += new Microsoft.Win32.SessionEndingEventHandler(SystemEvents_SessionEnding);
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}

static void SystemEvents_SessionEnding(object sender, Microsoft.Win32.SessionEndingEventArgs e)
{
    // Do something
}

你的意思是我应该把我的*.exe文件放在这个“HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”中吗?它是真的吗?每次用户登录时它都会变成Run?只要把可执行文件的路径放进去。您不需要将整个文件内容复制到注册表中。非常感谢,我如何使用我的应用或安装文件将已安装的我的应用的exe路径设置到注册表???您可以使用以下代码进行设置<代码>Microsoft.Win32.RegistryKey rk=Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”);设置值(“MyAppName”,“C:\WhereMyAppIs\MyApp.exe”)或者你可以让安装程序设置它。启动文件夹到底有什么问题?这就是它的目的。