![]() |
TrackBar einer anderen Anwendung fernsteuern
Ich beschäftige mich zurzeit damit, ein Programm zu schreiben, das ein Telefonie-Programm "fernsteuert".
Der Sinn meines Programms ist, blinden Personen die Navigation in bestimmten Telefonchats zu erleichtern und gibt deshalb alle Hinweise und Hilfetexte per Sprachausgabe aus. Da bei bestehender Verbindung auch die Telefonchats ständig "sabbeln" möchte ich es ermöglichen, die aus den Telefonchats stammenden Ausgaben, die über das "ferngesteuerte" Telefonie-Programm ausgegeben werden, zu unterdrücken. Das Telefonie-Programm bietet hierfür zwei Möglichkeiten: 1) Ein TSpeedButton zum ein-/ausschalten der Ausgabe. 2) Eine TTrackBar, mit der die Lautstärke verändert werden kann. Leider sind beide über die für das Telefonie-Programm verfügbare Schnittstelle nicht erreichbar. Meine Idee ist, mit FindWindow und EnumChildWindows das Handle der Trackbar zu holen und die Property "Position" der Trackbar zu verändern. Mit SendMessage(fVolumeTrackBar,TBM_SETPOS,1,Volume); (fVolumeTrackbar ist das Handle der TrackBar) wird zwar die "Position" der Trackbar wunschgemäß eingestellt, jedoch hat das keine Auswirkung auf die Lautstärke. Ich vermute, dass die TrackBar keine CN_VSCROLL Message erhält und deshalb die im OnChange stehende Prozedur " VolumeOutTrackBarChange" nicht ausgeführt wird. Frage: Wie kann ich es bewerkstelligen, dass die TrackBar eine entsprechende Message erhält? Alternativ: Gibt es / weiß jemand, wie ich für den SpeedButton, der die Ausgabe ein-/ausschaltet, ein Click auslösen kann. (Die Maus auf den SpeedButton stellen und einen Mausklick simulieren scheidet aus, weil das Telefonie-Programm minimiert ist.) Das Telefonie-Programm ist hier erhältlich ![]() Die TrackBar und der SpeedButton sind so definiert:
Code:
object VolumeOutTrackBar: TTrackBar
Left = 49 Top = 42 Width = 22 Height = 202 Hint = 'Wiedergabelautst'#228'rke' LineSize = 4096 Max = 65535 Orientation = trVertical ParentShowHint = False PageSize = 4096 Frequency = 8092 ShowHint = True TabOrder = 1 OnChange = VolumeOutTrackBarChange end object btSpeaker: TSpeedButton Left = 414 Top = 269 Width = 28 Height = 28 AllowAllUp = True GroupIndex = 2 Flat = True ParentShowHint = False PopupMenu = PopupWaveOut ShowHint = True OnClick = btSpeakerClick end |
AW: TrackBar einer anderen Anwendung fernsteuern
Die Software "Phoner" wird doch aktiv weiter entwickelt und man spricht deutsch.
Schreib doch den Author an und bitte ihn ein Mute()-Funktion und/oder SetVolume()-Funktion in die ActiveX-Schnittstelle aufzunehmen. Dieses Gemurkse mit FindWindow() ist doch grausam. |
AW: TrackBar einer anderen Anwendung fernsteuern
Zitat:
Habe einen entsprechenden Vorschlag ins Forum gestellt. Jedoch hätte ich trotzdem gern Vorschläge, wie man es selbst lösen kann, denn der Wunsch der Fernsteuerung anderer Programme ist ja eher allgemeingültig. |
AW: TrackBar einer anderen Anwendung fernsteuern
Hallo,
Zitat:
Zitat:
Delphi-Quellcode:
SendMessage (fVolumeTrackBar, TBM_SETPOS, 1, Volume);
eine
Delphi-Quellcode:
SendMessage (fVolumeTrackBar, CN_HSCROLL, 0, 0);
hinterher zu schießen (scheint ja ein Delphi-Programm zu sein)? Gruß |
AW: TrackBar einer anderen Anwendung fernsteuern
Nein, ich hatte es mit WM_VSCROLL versucht, ich Trottelkopp.
Mit CN_VSCROLL (ist eine vertikale TrackBar) funktioniert es. Vielen Dank, Volker. |
AW: TrackBar einer anderen Anwendung fernsteuern
Hallo.
Zitat:
Zitat:
Zitat:
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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