检查我的 Windows 应用程序是否正在运行 [英] Checking if my Windows application is running
本文介绍了检查我的 Windows 应用程序是否正在运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何检查我的 C# Windows 应用程序是否正在运行?
How do I check if my C# Windows application is running ?
我知道我可以检查进程名称,但如果exe更改,名称可以更改.
I know that I can check the process name but the name can be changed if the exe changes.
有什么办法可以让我的应用程序拥有一个哈希键或其他东西吗?
Is there any way to have a hash key or something to make my application unique?
推荐答案
public partial class App : System.Windows.Application
{
public bool IsProcessOpen(string name)
{
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains(name))
{
return true;
}
}
return false;
}
protected override void OnStartup(StartupEventArgs e)
{
// Get Reference to the current Process
Process thisProc = Process.GetCurrentProcess();
if (IsProcessOpen("name of application.exe") == false)
{
//System.Windows.MessageBox.Show("Application not open!");
//System.Windows.Application.Current.Shutdown();
}
else
{
// Check how many total processes have the same name as the current one
if (Process.GetProcessesByName(thisProc.ProcessName).Length > 1)
{
// If ther is more than one, than it is already running.
System.Windows.MessageBox.Show("Application is already running.");
System.Windows.Application.Current.Shutdown();
return;
}
base.OnStartup(e);
}
}
这篇关于检查我的 Windows 应用程序是否正在运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文