• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#激活正在运行的程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
static class Program
{
//给这个程序主窗体起个名字
private static string strProcessName = "Form1";
private static string strAppName = "WindowsFormsApplication1";
static int hWnd = 0;
//随便个数字,用来做判断
const int SW_SHOW = 1;
//指定是那个DLL,或者进程
[DllImport("user32.dll", EntryPoint = "ShowWindow")]
public static extern int ShowWindow(int hwnd, int nCmdShow);

[DllImport("user32")]
public static extern int GetWindowText(int hWnd, StringBuilder lpString, int nMaxCount);

[DllImport("user32")]
public static extern int EnumWindows(CallBack x, int y);

public delegate bool CallBack(int hWnd, int lParam);

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//进程数组
Process[] ps = Process.GetProcessesByName(strAppName);
//声明个委托
CallBack myCallBack = new CallBack(FineAppWindow);
EnumWindows(myCallBack, 0);

if (ps.Length > 1)
{//如果进程里面有这个
ShowWindow(hWnd, SW_SHOW);
return;
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}

public static bool FineAppWindow(int hwnd, int lParam)
{
StringBuilder sb = new StringBuilder(200);
int n = GetWindowText(hwnd, sb, 200);

if (sb.ToString() == strProcessName)
{
hWnd = hwnd;
}
return true;
}
}


调用的是系统的一个类库,代码也是在网上找到 就直接贴上去了 收藏,希望作者见了勿怪!非原创

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#-创建List属性的简单方法发布时间:2022-07-13
下一篇:
C#面试题发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap