如何检测系统是否已经运行了相同的程序
来源:互联网 发布:守望先锋配置测试软件 编辑:程序博客网 时间:2024/04/30 18:21
using System;
using System.Xml;
using System.ComponentModel ;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime;
using System.Reflection;
using System.Runtime.InteropServices;
[STAThread]
static void Main() //主程序运行
{
Process intance=RunningIntance(); //调用检查函数
if(intance==null) //不存在相同的程序
{
Application.Run(new frmMain());
}
else //存在相同的程序
{
HandleRunningInstance(intance);
}
}
private static Process RunningIntance()
{
Process currentProcess=Process.GetCurrentProcess();
Process [] processCollection=Process.GetProcessesByName(currentProcess.ProcessName);
foreach(Process p in processCollection)
{
if(p.Id!=currentProcess.Id) //检查ID是否相同
{
//检查运行文件路径是否相同
if(Assembly.GetExecutingAssembly().Location.Replace("/","/")==currentProcess.MainModule.FileName)
return currentProcess;
}
}
return null;
}
private static void HandleRunningInstance(Process instance)
{
MessageBox.Show("该应用系统(PSP)已经在运行!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
ShowWindowAsync(instance.MainWindowHandle,1); //调用api函数,正常显示窗口
SetForegroundWindow(instance.MainWindowHandle); //将窗口放置最前端。
}
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(System.IntPtr hWnd, int cmdShow);
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(System.IntPtr hWnd);
- 如何检测系统是否已经运行了相同的程序。
- 如何检测系统是否已经运行了相同的程序
- 检测系统是否已经运行了相同的程序
- C# 检测程序是否已经运行
- 判断是否已经运行了某个程序
- C#检测程序是否已经运行并置顶
- 一段检测当前进程是否已经在运行了的代码,非常实用!
- C++检测系统是否已经安装了.NET Framework
- 检测程序是否已经启动
- 判断程序是否已经运行
- 实验:检测并激活已经运行的程序实例
- 技巧(5)- 如何让这个程序在系统里同时只运行一个(如果这个exe程序已经运行了,就不再运行)
- c#检查启动的程序是否已经在运行
- 判断程序实例是否已经运行的N种方法
- 判断程序实例是否已经运行的N种方法
- 判断程序实例是否已经运行的N种方法
- c#检查程序是否已经运行,如何防止多次运行同一个程序?
- linux下如何检测程序是否运行并重启
- Struts1与Struts2的特点与比较
- exercise permutation
- 走出软件作坊》读后感想
- LabVIEW
- java 连接字符串
- 如何检测系统是否已经运行了相同的程序
- 在LoadRunner脚本中实现随机ThinkTime
- MySQL命令行中文乱码解决办法
- GC日志监听器
- JAVA读取PDF文件
- flex 优化技巧 收集[提升性能]
- 今天配置了一下Emacs字体
- Java读取PDF,Doc的方法
- 玩了一下C52