C#中如何判断一个exe程序已经打开?

 我来答
727617686
2012-04-18 · TA获得超过712个赞
知道小有建树答主
回答量:560
采纳率:0%
帮助的人:303万
展开全部
判断进程中是否存在xxx.exe罗,也就是像任务管理中那样!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lasic
推荐于2016-09-06 · TA获得超过374个赞
知道小有建树答主
回答量:460
采纳率:100%
帮助的人:401万
展开全部
//*******************************以下是访问进程信息的静态抽象类。
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Test
{
/// <summary>
/// 确认只有一个程序实例能够运行
/// </summary>
public abstract class OneInstance
{
/// <summary>
/// 用来判断一个指定的程序是否正在运行
/// </summary>
/// <param name="appId">程序名称,长一点比较好,防止有重复</param>
/// <returns>如果程序是第一次运行返回True,否则返回False</returns>
public static bool IsFirst(string appId)
{
bool ret = false;
if (OpenMutex(0x1F0001, 0, appId) == IntPtr.Zero)
{
CreateMutex(IntPtr.Zero, 0, appId);
ret = true;
}
return ret;
}

/// <summary>
/// 尝试调用指定的进程,返回句柄
/// </summary>
/// <param name="dwDesiredAccess">access</param>
/// <param name="bInheritHandle">inheritance option</param>
/// <param name="lpName">object name</param>
/// <returns>相应的句柄</returns>
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr OpenMutex(
uint dwDesiredAccess,
int bInheritHandle,
string lpName
);

/// <summary>
/// 创建进程,返回相应的句柄
/// </summary>
/// <param name="lpMutexAttributes">SD</param>
/// <param name="bInitialOwner">initial owner</param>
/// <param name="lpName">object name</param>
/// <returns>相应的句柄</returns>
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr CreateMutex(
IntPtr lpMutexAttributes,
int bInitialOwner,
string lpName
);
}

}

//**********************以下是调用代码

if (OneInstance.IsFirst("abc.exe"))
{
MessageBox.Show("程序没有启动!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }
else
MessageBox.Show("程序已经启动!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式