Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

handle sur la fenetre date and time de windows

1 réponse
Avatar
Anonyme
Salut,

J'utilise un ShellExecute pour lancer l'appli "Date and Time
Properties"
Code :

1. ShellExecute( 0, "open", "control.exe", "sysdm.cpl", 0,
SW_SHOW );

Ca marche parfaitement.
Par contre maintenant, j'ai un 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 :

1. hwnd = FindWindow(NULL,TEXT("Date and Time Properties" ));
2. 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?

Le dernier truc que j'ai essaye est ca:

Code :

1. int g_nCount=0;
2. int g_nFount=0;
3.
4. BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
5. {
6. char strg[81];
7. GetWindowText(hwnd,strg,80);
8. if(strcmp("System Properties",strg)==0)
9. {
10. g_nFount=1;
11. return FALSE;
12. }
13. g_nCount++;
14. return TRUE;
15. }
16.
17. 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?

1 réponse

Avatar
Christian ASTOR
Anonyme wrote:
J'utilise un ShellExecute pour lancer l'appli "Date and Time
Properties"
Code :

1. ShellExecute( 0, "open", "control.exe",
"sysdm.cpl", 0,
SW_SHOW );

Ca marche parfaitement.
Par contre maintenant, j'ai un probleme. Le SW_SHOW argument ne prend
pas en compte la position en z de la fenetre.




Utilise CreateProcess() avec les flags STARTF_USESHOWWINDOW |
STARTF_USEPOSITION
(et Date/Time, c'est timedate.cpl, pas sysdm.cpl...)