Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 25. Okt 2002, 23:56
Moin Andi,

FindWindow und SendMessage sind Windows API Funktionen.
SendMessage ist zwar in Form der Methode Perform auch bei vielen VCL Controls zu finden, funktioniert aber erfahrungsgemäss nicht immer richtig.
In der Delphi Hilfe findest Du die, wenn Du den Namen in der IDE eingibst, und dann mal F1 drückst. Es wird dann die Hilfe aus dem bei Delphi mitgelieferten, antiquarischen, SDK von Microsoft angezeigt.
Such' doch mal hier im Forum nach PSDK. Das sollte einige Fundstellen erbringen.

FindWindow erwartet als ersten Parameter den Namen der Klasse des zu suchenden Fensters, im zweiten die Caption, wobei auch je einer dieser Parameter durch nil ersetzt werden kann.
Die Caption dürfte klar sein. Die Klasse wäre in Delphi standardmässig TForm1. Hängt davon ab, ob Du dem Formular einen neuen Namen gegeben hast, dann ändert sich dieser Wert.
Rückgabewert ist das Handle des Fensters, oder 0 falls es nicht gefunden werden konnte
Wichtig:
Das Fenster muss nicht zu sehen sein, sondern nur existieren.

SendMessage kennt vier Parameter, von denen allerdings nur zwei immer erforderlich sind.
Der erste ist das Handle des Fensters an das die Meldung geschickt werden soll, der zweite ist die Meldung.
Der dritte und vierte Parameter hängen von der Meldung ab, die geschickt werden soll.
Im Falle von WM_SYSCOMMAND sähe das so aus:

SendMessage(dwHandle,WM_SYSCOMMAND,SC_CLOSE,0);

Hier wird der vierte Parameter nicht benötigt.

Bei WM_CLOSE dann so:

SendMessage(dwHandle,WM_CLOSE,0,0);

Hier werden die letzten beiden Parameter nicht gebraucht.

Näheres zu SendMessage und FindWindow kannst Du bestimmt hier im Forum finden, oder im PSDK (s.o.), ohne das Du über kurz oder lang nicht wirst auskommen können , oder aber bei Microsoft msdn.microsoft.com.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat