| |
|
|
Nico Madysa | Hallo Roland,
die XProfan-Aiuto behauptet, die Funktionen GetActiveWindow und SetActiveWindow seien lediglich Wrapper um die gleichnamigen Windows-API-Funktionen.
Eigene Erfahrungen machen mich aber glauben, dass es sich hier eher um die Funktionen GetForegroundWindow bzw. SetForegroundWindow handelt.
Der Unterschied ist, dass *ActiveWindow sich immer auf den eigenen Prozess bezieht (und 0 zurückgibt, wenn ein anderer Prozess gerade den Fokus hat), während *ForegroundWindow immer das Handle des gerade aktiven Fensters zurückgibt, selbst wenn es einem anderen Prozess gehört.
Das folgende Programm, getestet im XProfan-X2.1a-Interpreter unter Windows 7 zeigt, dass XProfans GetActiveWindow stets das gleiche Ergebnis hat wie die Windows-API GetForegroundWindow . KompilierenMarkierenSeparieren
|
|
|
| |
|
|
|
RGH | Ciao, Du hast naturalmente vollkommen recht. Der Hinweis auf die gleichnamige API-Funktion stammt noch aus der 16-Bit-Ära von XProfan (und wurde außerdem nicht von mir in die Aiuto eingefügt). Da gabe es noch keine unterschiedlichen Prozesse. Unter 32 Bit waren die Funktionen dann plötzlich nur noch auf den eigenen Prozess beschränkt, was ja nicht im Sinne des Erfinders war. Schließlich wurden sie damals zur Kommunikation mit anderen Programmen eingeführt. Daher musste ich die API-Aufrufe entsprechend ändern, damit die Wirkung wieder wie ehedem bei 16 Bit war. Der Hinweis in der Aiuto ist also falsch. (Ich werde ihn herausnehmen.)
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.03.2014 ▲ |
|
|
|
|
Nico Madysa | Danke per die schnelle Antwort! |
|
|
| |
|
|