Win32程序在启动时怎么激活前一个启动程序的窗口
佳丽云服务器,窗口激活
本文主要介绍Win32程序启动时如何激活上一个启动程序的窗口,具有一定的参考价值。有兴趣的朋友可以参考一下。希望你看完这篇文章后收获很大。让海外主机带你去了解一下。
UWP计划是与生俱来的。当然,新的API 也提供了多实例功能。然而,传统的Win32程序必须自己控制单个实例。
激活之前进程的窗口
我们可以通过进程名称找到先前启动的进程实例,如果找到,激活它的窗口。
[STAThread]
staticvoidMain
{
varcurrent=进程。GetCurrentProcess;
varprocess=Process。GetProcessesByName。FirstOrDefault;
if
{
varhwnd=进程。MainWindowHandle
ShowWindow;
返回;
}
//启动自己的主窗口。这部分代码省略了。
}
[DllImport]
privatesticexternintshowwindow;你一定认为9很奇怪,它是许多不同nCmdShow的值:
使.减少(或缩小)到最小量
达到最大值
恢复
此外,找到的窗口此时可能不活动。例如,在Windows 10中,此窗口可能在另一个桌面上。然后我们需要添加额外的代码来显示它。
在前一个显示窗口之后,再次调用SetForegroundWindow将其激活到前面。如果它在另一个桌面上,它会切换到相应的桌面。
[DllImport]
publicationstatexternboolsetforegroundwindow;
varhwnd=进程。MainWindowHandle
ShowWindow;
SetForegroundWindow;找到并激活窗口
以上方法适用于普通主窗口。但是,当窗口不是流程的主窗口,或者ShowInTaskBar设置为false时,就不会生效。
因此,我们需要通过其他方式找到窗口。
[STAThread]
staticvoidMain
{
Varhwnd=FindWindow;
if
{
ShowWindow;
返回;
}
//启动自己的主窗口。这部分代码省略了。
}
[DllImport]
publicationstatexternintptrfindwindow;感谢您仔细阅读本文。希望海外主机分享的文章《Win32程序启动时如何激活上一个启动程序的窗口》对大家有所帮助。也希望大家支持海外主机,关注海外主机,更多相关知识等着你去学习!
Tags:佳丽云服务器,窗口激活,Win32程序在启动时怎么激活前一个启动程序的窗口
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。