在 Windows CE 5 中的可见应用程序之间切换,Lang: C++

发布于 2024-07-07 23:31:17 字数 299 浏览 9 评论 0原文

我是嵌入式编程的老手,但对 CE 很陌生,在做相当简单的事情时遇到很多麻烦,因为我不熟悉 API,并且很难理解晦涩的 MSDN 文档。

我想要做的就是最小化和最大化从其中一个应用程序运行的两个单独的应用程序。

例如,应用程序 A 决定现在是时候出现了,然后最小化应用程序 B(应用程序 B 是第三方应用程序,例如记事本,无法访问源代码等),然后在稍后阶段最大化 B 并最小化自身。

应用程序A将由我自己编写。

我确信这一定非常简单,但是在哪里可以找到答案..:)

提前致谢。 意向书

I'm an old hand at embedded programming but new to CE and having a lot of trouble doing reasonably simple things, because I am not familiar with the API and struggling to understand the obscure MSDN docs.

All I want to do is minimize and maximise two separate applications that are running from one of the applications.

E.g. Application A decides that now it is time for it to appear and then minimises application B (App B being a third party application e.g. Notepad, no access to source code etc) and then at a later stage maximising B and minimising itself.

Application A would be written by myself.

I'm sure this must be very simple, but where to find answers.. :)

Thanks in advance.
EOI

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

溺渁∝ 2024-07-14 23:31:17

首先,您需要使用 FindWindow API 函数或一些替代方法。 接下来使用 ShowWindow API 函数指定 SW_HIDE 或 SW_SHOW 分别隐藏或显示窗口。 请注意,Windows CE 5.0 在技术上不支持 Win32 窗口状态,如 SW_MINIMIZE、SW_MAXIMIZE 等。

一个简单的示例是:

HWND hWnd = ::FindWindow( _T("Notepad"), NULL); 
::ShowWindow(hWnd, SW_HIDE); 

Firstly you will need to locate the window handle (hwnd) using the FindWindow API function or some alternate means. Next use the ShowWindow API function specifying either SW_HIDE or SW_SHOW to hide or show the window respectively. Note that Windows CE 5.0 does not technically support the Win32 window states like SW_MINIMIZE, SW_MAXIMIZE, etc.

A simple example would be:

HWND hWnd = ::FindWindow( _T("Notepad"), NULL); 
::ShowWindow(hWnd, SW_HIDE); 
鲜肉鲜肉永远不皱 2024-07-14 23:31:17

您可能还会发现 SetForegroundWindow 和 SetWindowPos 很有用。

这就是我使用它们来显示和隐藏应用程序的方式:

SetWindowPos(windowToHide, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
SetWindowPos(windowToShowInFullScreen, HWND_TOP, 0, 0, 240, 320, SWP_SHOWWINDOW);
SetForegroundWindow(windowToShow);

You may also find SetForegroundWindow and SetWindowPos useful.

This is how I've used them to show and hide applications:

SetWindowPos(windowToHide, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
SetWindowPos(windowToShowInFullScreen, HWND_TOP, 0, 0, 240, 320, SWP_SHOWWINDOW);
SetForegroundWindow(windowToShow);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文