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
http://www.phoner.de/download_de.htm
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