新闻动态

Win32程序在启动时怎么激活前一个启动程序的窗口

发布日期:2021-04-02 12:43 | 文章来源:互联网

佳丽云服务器,窗口激活

本文主要介绍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处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部