只让程序运行一次,激活还原前面打开的窗体

SungCen 2014-07-24 11:11:50
只让程序运行一次,激活还原前面打开的窗体,我是这样 写的
public static void HandleRunningInstance(Process instance)
{
if (instance.MainWindowHandle.ToInt32() != 0)
{
ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL);
SetForegroundWindow(instance.MainWindowHandle);
}
else
{
IntPtr hwnd = FindWindow(null, " XX");
if (hwnd.ToInt32() == 0)
hwnd = FindWindow(null, " XX");
ShowWindowAsync(hwnd, WS_SHOWNORMAL);
SetForegroundWindow(hwnd);
ShowWindow(hwnd, 9);
}
}

我最小化到托盘之后在运行程序 ,可以激活还原,但是在屏幕的左下角出现了一个 长方形的 框,就是最小化 过去的,请问这个如何解决。
...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
guts_2000 2014-07-27
  • 打赏
  • 举报
回复
PostMessage 试试
SungCen 2014-07-25
  • 打赏
  • 举报
回复
不行,试过了
devmiao 2014-07-24
  • 打赏
  • 举报
回复
ShowWindow(hwnd, 9); 修改成1(SW_SHOW)看看。

110,536

社区成员

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

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

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