Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#1

TrackBar einer anderen Anwendung fernsteuern

  Alt 28. Okt 2013, 23:47
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
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat