AGB  ·  Datenschutz  ·  Impressum  







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

TrackBar einer anderen Anwendung fernsteuern

Ein Thema von Amateurprofi · begonnen am 28. Okt 2013 · letzter Beitrag vom 29. Okt 2013
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.077 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
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: TrackBar einer anderen Anwendung fernsteuern

  Alt 29. Okt 2013, 00:43
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.
fork me on Github
  Mit Zitat antworten Zitat
Amateurprofi

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

AW: TrackBar einer anderen Anwendung fernsteuern

  Alt 29. Okt 2013, 01:10
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.
Recht hast Du.
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.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#4

AW: TrackBar einer anderen Anwendung fernsteuern

  Alt 29. Okt 2013, 01:58
Hallo,

[...] Dieses Gemurkse mit FindWindow() ist doch grausam.
Jepp, sehe ich auch so.

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.
Hast Du schon mal versucht Deiner
SendMessage (fVolumeTrackBar, TBM_SETPOS, 1, Volume);
eine
SendMessage (fVolumeTrackBar, CN_HSCROLL, 0, 0);
hinterher zu schießen (scheint ja ein Delphi-Programm zu sein)?

Gruß
Volker Zeller

Geändert von Volker Z. (29. Okt 2013 um 02:32 Uhr) Grund: Tippfehler
  Mit Zitat antworten Zitat
Amateurprofi

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

AW: TrackBar einer anderen Anwendung fernsteuern

  Alt 29. Okt 2013, 02:34
Nein, ich hatte es mit WM_VSCROLL versucht, ich Trottelkopp.
Mit CN_VSCROLL (ist eine vertikale TrackBar) funktioniert es.

Vielen Dank, Volker.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#6

AW: TrackBar einer anderen Anwendung fernsteuern

  Alt 29. Okt 2013, 03:03
Hallo.

Zitat:
[...] ich Trottelkopp
Nöh, ne.

Zitat:
[...] (ist eine vertikale TrackBar)
Sorry, hab ich wohl irgendwie übersehn.

Zitat:
[...] Habe einen entsprechenden Vorschlag ins Forum gestellt.
Kannst ja mal berichte was bei rauskommt.

Gruß
Volker Zeller
  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 23:32 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