AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit SendMessage

Ein Thema von Schneider-Huetter · begonnen am 20. Jun 2004 · letzter Beitrag vom 22. Jun 2004
Antwort Antwort
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#1

Problem mit SendMessage

  Alt 20. Jun 2004, 10:33
Hallo Zusammen,
mit folgender Prozedur möchte ich die Abspielposition von Winamp abfragen:

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
begin

   WindowHandle := FindWindow( 'Winamp v1.x', nil);
   Edit1.Text:=IntToStr( SendMessage( WindowHandle, WM_WA_IPC, 0 , PC_GETOUTPUTTIME ) );

end;
Das funktioniert soweit auch, nur das Programmfenster "friert" ein. Ich kann
zwar noch den Button anklicken und der Wert im Edit-Feld wird akualisiert,
aber das Fenster lässt sich nicht mehr verscieben und auch nicht über den
x-Button beenden. Wenn ich zu einem anderen Fenster wechsle und zu meinem
Programm zurückwechsle wird es nicht mehr angezeigt. Wenn ich es dann über
Rechtsklick auf das Taskleisten Symbol beende erhalte ich folgenden Fehler:
"Im Projekt Projekt1.exe ist eine Exception der Klasse EOSError aufgetreten.
Meldung: 'Systemfehler. Code: 5. Zugriff verweigert' [...] "

MfG Schneider-Huetter
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem mit SendMessage

  Alt 20. Jun 2004, 13:36
Moin Schneider-Huetter,

probier's doch mal mit PostMessage.
SendMessage kehrt erst zurück wenn die Message verarbeitet wurde.

Ausserdem könntest Du Dir mal mit

ShowMessage(SysErrorMessage(GetLastError)); wie das Ergebnis von Send bzw. PostMessage ist.
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
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#3

Re: Problem mit SendMessage

  Alt 21. Jun 2004, 10:51
Ich werds mal mit PostMessage versuchen aber im Winamp-SDK ist komischerweise SendMessage angegeben

MfG Schneider-Huetter
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Problem mit SendMessage

  Alt 21. Jun 2004, 11:44
Moin!

PostMessage() ist in dem Falle auch totaler Müll, weil der Rückgabewert wichtig ist und PostMessage() nunmal keinen Rückgabewert liefert (und deshalb sofort zurückkehren kann).

Grundlegend vermute ich den Fehler woanders, weil das reine SendMessage() funktioniert ja (Edit1 wird aktualisiert), es muss was anderes in deinem Programm sein was dieses Verhalten auslöst.

/EDIT: Ich weiss auch schon was: Du weist das gefundene Fensterhandle WindowHandle zu, aber WindowHandle ist eine Property deiner Form, somit setzt du das Fensterhandle deiner Form auf die von Winamp und das ist tödlich. Ergo: Definiere dir eine Variable für das Fensterhandle von Winamp!

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
  lWndHandle : HWND;
begin
   lWndHandle := FindWindow( 'Winamp v1.x', nil);
   Edit1.Text:=IntToStr( SendMessage( lWndHandle , WM_WA_IPC, 0 , PC_GETOUTPUTTIME ) );
end;
MfG
Muetze1
  Mit Zitat antworten Zitat
Schneider-Huetter

Registriert seit: 5. Mär 2004
97 Beiträge
 
Delphi 7 Personal
 
#5

Re: Problem mit SendMessage

  Alt 22. Jun 2004, 08:37
Alles klar, vielen Dank !!
Gruß Schneider-Huetter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 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