Alternative zu WndProc

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Der Eisvogel

Betreff: Alternative zu WndProc

BeitragDo, Feb 10, 2011 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 12, 2011 2:27
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 12, 2011 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Xaymar

ehemals "Cgamer"

BeitragSo, Feb 13, 2011 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group