只允许打开一个应用程序实例
来源:互联网 发布:淘宝聊天记录保存多久 编辑:程序博客网 时间:2024/06/10 00:07
//只允许打开一个应用程序实例
//需要添加的命名空间
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Reflection;
public static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName (current.ProcessName);
//Loop through the running processes in with the same name
foreach (Process process in processes)
{
//Ignore the current process
if (process.Id != current.Id)
{
//Make sure that the process is running from the exe file.
if (Assembly.GetExecutingAssembly().Location.Replace("/","//") ==
current.MainModule.FileName)
{
//Return the other process instance.
return process;
}
}
}
//No other instance was found, return null.
return null;
}
public static void HandleRunningInstance(Process instance)
{
//Make sure the window is not minimized or maximized
ShowWindowAsync (instance.MainWindowHandle , WS_SHOWNORMAL);
//Set the real intance to foreground window
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;
}
static void Main()
{
//Get the running instance.
Process instance = RunningInstance();
if (instance == null)
{
//There isn't another instance, show our form.
frmMediaPlayer objFromMediaPlayer=new frmMediaPlayer();
Application.Run (objFromMediaPlayer);
}
else
{
//There is another instance of this process.
HandleRunningInstance(instance);
}
}
- 只允许打开一个应用程序实例
- 只允许一个应用程序实例
- C++ 一个应用程序只允许一个实例
- C# 2005 只允许打开一个实例
- WPF 只允许打开一个实例
- 只允许一个实例
- MFC中应用程序只允许运行一个实例
- MFC中应用程序只允许运行一个实例方法一
- MFC中应用程序只允许运行一个实例
- MFC中应用程序只允许运行一个实例
- MFC中应用程序只允许运行一个实例
- MFC中应用程序只允许运行一个实例
- MFC中应用程序只允许运行一个实例
- MFC:只允许产生一个应用程序实例的具体实现
- 只允许运行一个实例
- 只允许运行一个实例
- winform只允许一个应用程序运行
- Flash只允许客户打开一个客户端
- Canada - Wallpapers
- 更坏就是更好(Worse Is Better)
- 你能过关吗?J2EE面试题集锦(附答案)
- 工作5个月的感想
- 且看微软的.Net和Sun公司的J2EE如何对垒
- 只允许打开一个应用程序实例
- JAVA 和.NET在安全功能的比较
- 什么是WEB2.0?
- 微软,您的.net为中国程序员带来了什么?
- GridView 隐藏某中得些列.并在HeadText上显示相关的信息
- 关于InvokeActoin和Iterator的刷新
- C++泛型设计 - 模板规格(译)
- 一条千古不变的真理:枪杆子里面出政权!
- 红色闪电