C#如何实现任务管理器中的转到进程?

maole413149 2010-05-28 08:12:55
做了一个小东西,它在点关闭的时候,最小化到托盘,然后再去打开,关闭,托盘里面又多了一个,我想,在打开的时候检测下进程中有没有它的进程,如果有,就实现一个类似 Winodws 任务管理器中的【转到进程】一样的功能,直接让托盘中的程序打开,进程是能检测到,但是,转到不会搞了,望哪位高手指点一二。
...全文
326 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingyuebuyu 2010-05-28
  • 打赏
  • 举报
回复
[System.Runtime.InteropServices.DllImport("user32.dll")]   
private static extern IntPtr FindWindow(string strclassName, string strWindowName);

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool OpenIcon(IntPtr hWnd);

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool IsIconic(IntPtr hWnd);

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern int SetForegroundWindow(IntPtr hWnd);

void FindAndOpenWindow(string Title)
{
IntPtr hWnd = (IntPtr ) FindWindow(null, Title);
if (hWnd != IntPtr.Zero)
{
bool isIcon = IsIconic(hWnd);
if ( !isIcon )
{
SetForegroundWindow(hWnd);
}
else
{
OpenIcon(hWnd);
}
}
}


http://topic.csdn.net/u/20100310/23/1554E955-5FFC-4771-9034-09889C5B00E2.html
maole413149 2010-05-28
  • 打赏
  • 举报
回复
不好意思,写错了,不是【转到线程】,是【切换至】。。。。
maole413149 2010-05-28
  • 打赏
  • 举报
回复
System.Messaging.MessageQueue 好像可以,但是我不会用呐。。。
itrefer 2010-05-28
  • 打赏
  • 举报
回复
貌似要用外部方法
maole413149 2010-05-28
  • 打赏
  • 举报
回复
谢谢1楼的高手,我是想,在检测到“程序已经在运行中...”后,把以前最小化到托盘的程序打开,再帮我看看吧
wuyq11 2010-05-28
  • 打赏
  • 举报
回复
bool createNew;
using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out createNew))
{
if (createNew)
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("应用程序已经在运行中...")
System.Threading.Thread.Sleep(1000);
System.Environment.Exit(1);
}
}
Process[] processes = System.Diagnostics.Process.GetProcessesByName(Application.CompanyName);
if (processes.Length > 1)
{
MessageBox.Show("应用程序已经在运行中");
Thread.Sleep(1000);
System.Environment.Exit(1);
}
else
{
Application.Run(new Form1());
}

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧