Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Handle wird nicht ermittelt? (https://www.delphipraxis.net/111613-handle-wird-nicht-ermittelt.html)

cran7 6. Apr 2008 15:18


Handle wird nicht ermittelt?
 
Ich schreib grat an nem programm, das in bestimmten zeitabständen ne message an alle in teamspeak sendet, und häng grat an folgender stelle:

Ich will das handle von 'Send Text Message to: All Channels' ermittlen, mit WinSpy bekomm ich das handle raus, aber bekomms net mit meinem programm hin :( ich bekomm zwar das handle von TeamSpeak aber nicht von dem Send-Fenster
Delphi-Quellcode:
wnd := Findwindow(nil, 'TeamSpeak 2');
wnd := FindWindowEx(wnd,0,'TfrmSendMessage',nil);
habs auch schon so probiert, aber geht auch nicht:
Delphi-Quellcode:
wnd := Findwindow(nil, 'TeamSpeak 2');
wnd := FindWindowEx(wnd,0,'Send Text Message to: All Channels',nil);
muss ich hier was andres als FindWindowEx benutzen, weil das Send-Fenster ja n eigenständiges fenster ist, oder mach ich was andres falsch?

toms 6. Apr 2008 15:47

Re: Handle wird nicht ermittelt?
 
Hallo,

So wird das Fenster gefunden:
Delphi-Quellcode:
  wnd := FindWindow('TfrmSendMessage', nil);

cran7 6. Apr 2008 15:54

Re: Handle wird nicht ermittelt?
 
klappt thx, hätt ich selber drauf kommen können^^

toms 6. Apr 2008 16:20

Re: Handle wird nicht ermittelt?
 
Zitat:

Zitat von cran7
klappt thx, hätt ich selber drauf kommen können^^

Der alte WinSpy erzeugt eben nicht immer den korrekten Code.
Bug wurde im WinSpy 2008 behoben. (noch nicht verfügbar)

DGL-luke 6. Apr 2008 16:45

Re: Handle wird nicht ermittelt?
 
Sollte Teamspeak nicht ne API bzw. n SDK haben?

cran7 6. Apr 2008 17:16

Re: Handle wird nicht ermittelt?
 
@ luke, weis net

ich hab hier nochn problem, beim öffnen des Send-Fensters, reagiert mein programm nicht mehr bis ich das fenster auch wieder geschlossen hab. Hab das send fenster so gestarted:

Delphi-Quellcode:
SendMessage(hWnd, WM_COMMAND, MenuID, 0);
wird also per MainMenü aufgerufen, aber wie gesagt danach macht mein programm nix, bzw reagiert net mehr, mehr bis das fenster wieder geschlossen wurde

Apollonius 6. Apr 2008 17:34

Re: Handle wird nicht ermittelt?
 
Versuche es mal mit PostMessage.

toms 6. Apr 2008 17:36

Re: Handle wird nicht ermittelt?
 
Zitat:

Zitat von DGL-luke
Sollte Teamspeak nicht ne API bzw. n SDK haben?

Teamspeak hat eine API. Schau mal im client_sdk Ordner.
Dort findest du ein Delphi Beispiel.

Suchst du eine solche Funktion?

Delphi-Quellcode:
//##############################################################################
//#
//#  Function tsrSendTextMessage( Message : Pchar ):Integer;
//#
//#  Description:
//#    Send a text message to everyone
//#
//#  Input:
//#    Message : The message you want to send.
//#
//#  Output:
//#    Result: 0 = OK, else the error number
//#
//##############################################################################

cran7 6. Apr 2008 17:37

Re: Handle wird nicht ermittelt?
 
@ Apollonius
klappt thx :)

könntest du mir bitte noch den unterschied erklären? ich möcht ja auch verstehn was ich mach :)

E:
@ tomps jo thx, ich werd da au ma reinkucken, wollts halt mit delphi schreiben, damit ich auch weis wie das für andere programme geht, und um halt was zu lernen :zwinker:

Apollonius 6. Apr 2008 18:03

Re: Handle wird nicht ermittelt?
 
MSDN-Library durchsuchenSendmessage MSDN-Library durchsuchenPostmessage


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz