winform中已运行的程序则显示到桌面
来源:互联网 发布:网上真实赌博软件 编辑:程序博客网 时间:2024/06/05 16:25
static
class
Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static
void
Main()
{
Process instance = RunningInstance();
if
(instance ==
null
)
{
//没有实例在运行
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(
false
);
Application.Run(
new
Form1());
}
else
{
//已经有一个实例在运行
HandleRunningInstance(instance);
}
}
private
static
Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
//遍历与当前进程名称相同的进程列表
foreach
(Process process
in
processes)
{
//如果实例已经存在则忽略当前进程
if
(process.Id != current.Id)
{
//保证要打开的进程同已经存在的进程来自同一文件路径
if
(Assembly.GetExecutingAssembly().Location.Replace(
"/"
,
"\\"
) == current.MainModule.FileName)
{
//返回已经存在的进程
return
process;
}
}
}
return
null
;
}
public
static
void
HandleRunningInstance(Process instance)
{
ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL);
SetForegroundWindow(instance.MainWindowHandle);
}
[DllImport(
"User32.dll"
)]
private
static
extern
bool
ShowWindowAsync(IntPtr hWnd,
int
cmdShow);
[DllImport(
"User32.dll"
)]
private
static
extern
bool
SetForegroundWindow(IntPtr hWnd);
private
const
int
WS_SHOWNORMAL = 1;
}
0 0
- winform中已运行的程序则显示到桌面
- Java桌面程序多次被打开时显示已运行的程序的窗口
- C#将exe运行程序嵌入到自己的winform窗体中
- C#将exe运行程序嵌入到自己的winform窗体中
- C#将exe运行程序嵌入到自己的winform窗体中
- 在新的虚拟桌面中运行你的程序
- C# winform程序运行过程中提示"尝试读取或写入受保护的内存.这通常指示其他内存已损坏的"
- android:正在运行的某个android程序中进行编写内容,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法
- C# WinForm程序中不在任务栏显示的处理方法
- 让自己的程序在桌面显示前运行,且仅在第一次运行模拟器的时候运行一次
- 一个程序在后台运行(即隐藏了窗体), 如果再次点击exe时则显示出已运行的程序窗体。
- 开机后直接运行您的程序而不显示Windows CE桌面
- 开机后直接运行您的程序而不显示Windows CE桌面
- 开机后直接运行您的程序而不显示Windows CE桌面
- 查找WinForm中已打开的窗体
- WinForm制作定时显示基金净值的桌面小工具
- WinForm制作定时显示基金净值的桌面小工具(续)
- VC中判断程序是否已运行
- 应用BitmapShader实现平铺的画布背景和椭圆形的图片
- 修改标题栏和手机通知栏颜色相同
- 最大子矩阵问题&悬线法 学习笔记
- Linux java环境搭建
- Amoeba实现mysql读写分离
- winform中已运行的程序则显示到桌面
- java简单计算器
- 自定义View
- Set集合的基本操作
- git pull --rebase后Xcode工程文件打开不出来, cannot be opened because the project file cannot be parsed.
- 微信支付:body不是utf8编码
- Java-JDK环境变量配置教程
- iOS开发之:dispatch_async 与 dispatch_get_global_queue 的使用方法
- ioinic初学起步