Deutsch
Hilfedateien

CHM-Hilfedatei: XProfan X2

Hilfedatei (CHM)- Bugs

SetActiveWindow: Falsche API?

 

Nico
Madysa
Hallo Roland,

die XProfan-Hilfe 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
var huser& = ImportDLL("USER32", "user.")
cls
settimer 500

whilenot iskey(27)

    waitinput

    if %wmTimer

        cls
        Locate 1, 1
        print "Windows Active:", GetText$(user.GetActiveWindow())
        print "Windows Foreground:", GetText$(user.GetForegroundWindow())
        print "XProfan Active:", GetText$(GetActiveWindow())

    endif

wend

killtimer
freedll huser&
end




a.png  
39 kB
Hochgeladen:08.03.2014
Ladeanzahl314
Herunterladen
b.png  
54 kB
Hochgeladen:08.03.2014
Ladeanzahl350
Herunterladen
 
08.03.2014  
 




RGH
Hallo,
Du hast natürlich 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 Hilfe 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 Hilfe ist also falsch. (Ich werde ihn herausnehmen.)

Gruß
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 für die schnelle Antwort!
 
10.03.2014  
 



Zur Funktionsreferenz


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.257 Betrachtungen

Unbenanntvor 0 min.
Sven Bader21.03.2023
H.Brill22.12.2019
Wilfried Friebe21.11.2016
iF09.07.2014
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Nico Madysa (2x)
RGH (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie