AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Rückgabewert für Message WM_APPCOMMAND
Thema durchsuchen
Ansicht
Themen-Optionen

Rückgabewert für Message WM_APPCOMMAND

Ein Thema von Andreas L. · begonnen am 10. Mai 2012 · letzter Beitrag vom 10. Mai 2012
 
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Rückgabewert für Message WM_APPCOMMAND

  Alt 10. Mai 2012, 16:05
Boolean in LongInt casten und in Message-Result setzen. Das war das was ich wissen musste. Danke

EDIT: Genau so wie du frage ich WM_APPCOMMAND ab um die Sondertasten von Tastaturen sowie die Knöpfe von Windows Media Fernbedienungen abzufragen. Das funktioniert soweit auch alles. Nur wird bei den Lautstärke leiser/lauter die System-Lautstärke geändert. Ich dachte das würde Windows durch den Rückgabewert nun unterlassen. Leider ist dem nicht so. Weiß jemand wie ich Windows sage "Lass die Sys-Lautstärke in Ruhe mein Programm verändert seine eigene Lautstärke-Regelung" so wie es z. B. iTunes auch macht?

Delphi-Quellcode:
 TCsWindowsAppCommand = (
    cwacVolumeMute = APPCOMMAND_VOLUME_MUTE,
    cwacVolumeDown = APPCOMMAND_VOLUME_DOWN,
    cwacVolumeUp = APPCOMMAND_VOLUME_UP,
    cwacMediaPlay = APPCOMMAND_MEDIA_PLAY
  );

procedure TForm2.WndProc(var Message: TMessage);
var
  cmd: TCsWindowsAppCommand;
begin

  if (Message.Msg = WM_APPCOMMAND) then
  begin
    cmd := TCsWindowsAppCommand(GET_APPCOMMAND_LPARAM(Message.LParam));
    case cmd of
      cwacMediaPlay: ListBox1.Items.Add('Play');
      cwacVolumeDown: ListBox1.Items.Add('Vol down');
      cwacVolumeUp: ListBox1.Items.Add('Vol up');
    end;
    Message.Result := LongInt(True);
  end
  else
    Message.Result := LongInt(False);

  inherited WndProc(Message);
end;
EDIT 2: Problem gelöst. inherited WndProc(); darf - wie in deinem Code - nur aufgerufen werden wenn es sich um keine WM_APPCOMMAND-Nachricht handelt.
Andreas Lauß
Blog

Geändert von Andreas L. (10. Mai 2012 um 16:39 Uhr)
  Mit Zitat antworten Zitat
 


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 11:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz