Alternative zu WndProc
Übersicht

![]() |
Der EisvogelBetreff: Alternative zu WndProc |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Ich habe schon seit längere Zeit ein Programm, welches kein WndProc hat. Woher weiß ich das? GetWindowLong in Verbindung mit GWL_WNDPROC liefert 0 zurück. Jedoch funktioniert das Fenster ganz normal. Ein andere komische Sache ist, dass diese Fenster Messages empfängt, die über PostMessage gesendet werden, aber jedoch keine die mit SendMessage gesendet werden. Wie bekommt diese Programm die Messages? Gibt es eine Alternative zu WndProc? MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
HavockToxx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein das nicht, aber Windows sendet generell an alle Fenster ständig irgendwelche Nahrichten damit geprüft wird, ob es Existiert z.b Auser WndProc gibs nach meinen wissen nur eine Variante für die Console. Denke mir aber das du dir ein Buch zum Thema Win Api dir kaufen solltest.
MFG Havock. |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist ja mein Problem, das Fenster muss viele Nchrichten bekommen, aber dem Fenster ist kein WndProc zugeordnet. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
XP/7/Vista: Das Programm/Fenster hat dessen WNDPROC geschützt. das geht recht einfach mit ein paar API/.Net befehlen. Eventuell musst du dein Programm dafür mit Administrator-rechten starten(WinXP: Administrator Account).
Alles Andere: Meines Wissens her gibt es nur eine andere für die Console. Und unter anderem liefert dir Windows norm. die Adresse nur dann zurück, wenn du eine neue setzt: Code: [AUSKLAPPEN] gProc = (WNDPROC)SetWindowLong(gWindow, GWL_WNDPROC, (LONG)WindowProc);
Aufrufen dieser Prozedur ist ja mit CallWindowProc(Proc,HWnd,Msg,wParam,lParam) möglich. Wenn das alles nicht funktioniert, dann läuft die Prozedur/WNDPROC wohl im dynamischen speicher oder im System account. |
||
Warbseite |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group