2008-11-03 3 views
1

Je suis un vétéran de la programmation embarquée mais nouveau pour CE et j'ai beaucoup de mal à faire des choses relativement simples, parce que je ne suis pas familier avec l'API et comprendre les documents MSDN obscurs.Basculer entre les applications visibles dans Windows CE 5, Lang: C++

Tout ce que je veux faire est de minimiser et de maximiser deux applications distinctes qui s'exécutent à partir de l'une des applications.

E.g. L'application A décide qu'il est maintenant temps qu'elle apparaisse puis minimise l'application B (l'application B étant une application tierce, par exemple Bloc-notes, pas d'accès au code source, etc.) puis, à un stade ultérieur, maximisant B et minimisant elle-même.

L'application A serait écrite par moi-même.

Je suis sûr que cela doit être très simple, mais où trouver des réponses .. :)

Merci à l'avance. EOI

Répondre

1

Premièrement, vous aurez besoin de localiser la poignée de la fenêtre (hwnd) en utilisant la fonction API FindWindow ou d'autres moyens. Ensuite, utilisez la fonction API ShowWindow spécifiant SW_HIDE ou SW_SHOW respectivement pour masquer ou afficher la fenêtre. Notez que Windows CE 5.0 ne prend pas en charge techniquement les états de fenêtre Win32 comme SW_MINIMIZE, SW_MAXIMIZE, etc.

Un exemple simple serait:

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

Vous pouvez également trouver SetForegroundWindow et SetWindowPos utiles.

Voici comment je les ai utilisé pour afficher et masquer les applications:

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