zoukankan
html css js c++ java
C#程序多用户只启动一个进程的方法
Main函数
[STAThread]
static
void
Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(
false
);
webscreenshot wb
=
new
webscreenshot();
Process current
=
Process.GetCurrentProcess();
bool
newinstance
=
true
;
Process[] processes
=
Process.GetProcessesByName(current.ProcessName);
//
遍历正在有相同名字运行的例程
foreach
(Process process
in
processes)
{
//
忽略现有的例程
if
(process.Id
!=
current.Id)
{
//
确保例程从EXE文件运行
if
(Assembly.GetExecutingAssembly().Location.Replace(
"
/
"
,
"
\\
"
)
==
current.MainModule.FileName)
{
//
返回另一个例程实例
current
=
process;
newinstance
=
false
;
break
;
}
}
}
if
(newinstance)
{
Application.Run(wb);
}
else
{
ShowWindowAsync(current.MainWindowHandle,
1
);
//
设置真实例程为foreground window
SetForegroundWindow(current.MainWindowHandle);
}
}
引入这两个API函数
[DllImport(
"
User32.dll
"
)]
private
static
extern
bool
ShowWindowAsync( IntPtr hWnd,
int
cmdShow);
[DllImport(
"
User32.dll
"
)]
private
static
extern
bool
SetForegroundWindow(IntPtr hWnd);
}
查看全文
相关阅读:
1641. 统计字典序元音字符串的数目
1688. 比赛中的配对次数
核心思路
面试题 16.17. 连续数列
70. 爬楼梯
面试题 08.01. 三步问题
剑指Offer 42. 连续子数组的最大和
设计模式之原型模式
代理模式之动态代理
设计模式之禅(六大设计原则)
原文地址:https://www.cnblogs.com/scgw/p/1563364.html
最新文章
支付机构和套现
超实用网站(链接)
Jmeter添加正则表达式
Jmeter组件介绍
nginx配置学习文章
php微信接口验证写法
草稿
javax.servlet不存在的问题
今日事件的感悟
今天的意外发现
热门文章
这个不需要考虑空间的大小么?
奋斗的青春最美丽 2014年优秀西部计划志愿者浙江巡回宣讲会后感想
游玩后感悟
看到的励志话语
校十佳学生给我的感悟
工作上失误引发的自省
error C2065: 'CString' : undeclared identifier错误的处理方法
ArrayList的用法学习记录
877. 石子游戏
338. 比特位计数
Copyright © 2011-2022 走看看