Profil supprimé | Merci olivthill
En effet en utilisant un ShellExecute ca a marche:
Code :
- ShellExecute( 0, "open", "control.exe", "sysdm.cpl", 0, SW_SHOW );
|
Par contre maintenant, j'ai un autre probleme. Le SW_SHOW argument ne prend pas en compte la position en z de la fenetre. Je lance ce shell depuis un MFC/thread completement independant.
J'ai essaye plusieurs methodes pour pouvoir recuperer un "handle" de la fenetre "Date and Time Properties" mais rien a faire.
Code :
- hwnd = FindWindow(NULL,TEXT("Date and Time Properties" ));
- SetWindowPos(hwnd,HWND_TOP,100,100,100,100,SWP_NOSIZE);
|
mais hwnd revient "unused".
Donc mes questions sont:
Est il possible de recuperer le handle d'un dialogue qui n'appartient pas au mfc/thread en cours?
J'ai aussi essaye ca
Code :
- ShellExecute( hwnd, "open", "control.exe", "sysdm.cpl", 0, SW_SHOW );
|
mais pareil, hwnd revient inutilisable.
Le dernier truc que j'ai essaye est ca:
Code :
- int g_nCount=0;
- int g_nFount=0;
- BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
- {
- char strg[81];
- GetWindowText(hwnd,strg,80);
- if(strcmp("System Properties",strg)==0)
- {
- g_nFount=1;
- return FALSE;
- }
- g_nCount++;
- return TRUE;
- }
- EnumDesktopWindows(NULL, EnumWindowsProc, lParam);
|
mais sans succes car il y a des dizaines de fenetres et strg semble avoir un nom bizarre (Je n ai rien vu qui ressemblait a Date and Time Properties lors de mon debug)
Quelqu'un a une idee?
|