[Win32] User32: functies voor objectherkenning

Pagina: 1
Acties:

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 16-05 11:22
Ik wil graag het actieve scherm van een andere applicatie achterhalen. Met de functie GetForeGroundWindow kan ik wel de actieve applicatie vinden, maar dat is natuurlijk niet per definitie het actieve scherm. Nu kan ik ook wel met AttachThreadInput icm GetForeGroundWindow in deze applicatie GetActiveWindow aanroepen, maar om de een of andere reden werkt dit niet met MDI-Childs.

Ik heb wel een andere programma gezien die dit aan de hand van de processname van de actieve applicatie kon achterhalen. De string die deze applicatie als invoer vrat: "NOTEPAD.EXE|#32770|Open". Iemand enig idee met welke functie(s) dit gedaan wordt?

Als ik in FindWindowEx de #32770 voor de lpszClassName invoer en de Open voor de lpszWindowName kan ik inderdaad de handle van het top-level Window vinden. Als het echter om een button of textfield of MDI-Child gaat vind ie helemaal niks...

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 16-05 11:22
Voor de eerste vraag heb ik nu een oplossing:

Als je met FindWindowEx zoekt met als hwndParent de handle van het hoofdscherm (getActiveWindow()) en als lpszClassName "MDIClient" krijg je de handle van het MDI scherm.

Als je dan een SendMessage uitvoert met als hWndControl de handle van dat MDI scherm en als Msg WM_MDIGETACTIVE krijg je de handle van het actieve MDI-Child :)

Weet niemand hier iets van, interesseert dit niemand, of wordt dit gewoon weinig gebruikt?

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack