如何防止运行应用的多个实例? 为什么不用api阿?用api不是很方便?要不这样。程序运行时自己往机器里写个小文件,关闭时删除。这个也可以作为程序已经运行的标志....程序运行时先判断有没有这个文件...非法中止程序怎么办?让我想想... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的问题我挺感兴趣的:〉我想使用mutex类可以,看看他的成员吧:〉 干什么用API,C#对API支持很差的 简单。用System.Diagnostics.Process类中的成员函数GetProcesses()返回系统中的所有正在运行的进程,看看里面有没有特定应用的进程。有,程序退出即可 示例:public void OneApp() { Process[] proList=new Process[100]; proList=Process.GetProcesses(); int AppCount=0; for(int i=0;i<100;i++) { if(proList[i].ProcessName.Equals["Process.exe"]) //设本程序的进程名为"Process.exe",可以在任务管理器上查看 { AppCount++; } } if(AppCount>1) { //ExitApp(); } } 策略失误!!!上面的一段没有意义:〉不好意思.测试过,在main函数中在启动进程之前,调用检测代码,没有问题: public static void Main(string[] args) { Process[] pro; pro =Process.GetProcessesByName("devenv");//进程名 if(pro.Length>0) { Application.Exit(); return; } Application.Run(new Form1()); } To楼上:我用C#在VS.Net中建立Windows工程csText(编译后应该产生csText.exe)系统自动建立Form1,在代码中加入using System.Diagnostics,把上面代码加入,其中pro=Process.GetProcessesNyName("Form1");编译运行csTest.exe,可是照样可以运行多次。望多指导!!!!!!!!!! 你的进程名字错了吧,应该是"csText" To:Optimus我试过pro=Process.GetProcessesNyName("csText");结果本次应用启动都给退出了,而pro.Length=1,不知为什么望不吝赐教!!!!!!!!!! 可以了,是我太机械了,应该if(pro.Length>1),多谢! c#如何按行按列把字符或数组元素写入文本txt文件中 异步委托的执行顺序是怎样的? 如何在程序中修改屏幕分辨率? 做过TSC条码打印机指令开发的进 正则表达式中的组是如何表示的 求助个c# winform的问题 中文乱码问题,十万火急 寻找高效的写法 Viausl studio 2005中文正式版到底多久放出啊? 急,不能调试,请大虾帮帮忙 有用Authorware的高手吗?一起学习! 各位大哥,你认为现在取消Visual Basic论坛合适吗?
我想使用mutex类可以,看看他的成员吧:〉
正在运行的进程,看看里面有没有特定应用的进程。有,程序退出即可
public void OneApp()
{ Process[] proList=new Process[100];
proList=Process.GetProcesses(); int AppCount=0;
for(int i=0;i<100;i++)
{
if(proList[i].ProcessName.Equals["Process.exe"]) //设本程序的进程名为"Process.exe",可以在任务管理器上查看
{
AppCount++;
}
} if(AppCount>1)
{
//ExitApp();
}
}
上面的一段没有意义:〉不好意思.测试过,在main函数中在启动进程之前,调用检测代码,没有问题: public static void Main(string[] args)
{
Process[] pro;
pro =Process.GetProcessesByName("devenv");//进程名
if(pro.Length>0)
{
Application.Exit();
return; }
Application.Run(new Form1());
}
我用C#在VS.Net中建立Windows工程csText(编译后应该产生csText.exe)
系统自动建立Form1,在代码中加入using System.Diagnostics,
把上面代码加入,其中pro=Process.GetProcessesNyName("Form1");
编译运行csTest.exe,可是照样可以运行多次。
望多指导!!!!!!!!!!
我试过pro=Process.GetProcessesNyName("csText");
结果本次应用启动都给退出了,而pro.Length=1,不知为什么
望不吝赐教!!!!!!!!!!