AGB  ·  Datenschutz  ·  Impressum  







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

Unbekannte Fenster steuern

Ein Thema von Coder1990 · begonnen am 3. Feb 2009 · letzter Beitrag vom 4. Feb 2009
Antwort Antwort
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#1

Unbekannte Fenster steuern

  Alt 3. Feb 2009, 13:45
Seas,

ich habe ein Makro Programm geschrieben, dass jetzt nun auch Makros ausführen soll, die minimierte oder nicht im Vordergrund stehende Fenster steuern.
Ich weiß, ich weiß Suche.. aber ich such jetzt schon länger rum und habe nichts gefunden.
Hier meine Fragen:

1. Mit welchen Prozeduren gebe ich anderen Fenstern befehle (messages)?
2. Benötige ich dazu die Komponente des Fensters, die modifiziert werden soll oder wie muss ich da vorgehen?
3. Was für Werte muss ich aufzeichnen (Fenstername, Komponentennamen..) um das Makro später erfolgreich wiederzugeben
4. bzw. wie erhalte ich den Namen des Fensters, welches sich im Vordergrund befindet?

Wenn ihr gute Seiten kennt, die sich mit dem Thema auseinandersetzen, KÖNNTE mir das auch schon reichen (kommt darauf an ob alles enthalten ist )

MfG
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Unbekannte Fenster steuern

  Alt 3. Feb 2009, 14:01
Also mit Sendmessage kannst du beliebigen Fenster Befehle senden. Du brauchst dafür das Handle des Fensters oder der Komponente. Guck dir mal das Programm Win Spy von toms an, da kann dir einen Code generieren.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Unbekannte Fenster steuern

  Alt 4. Feb 2009, 16:30
So ich hab WinSpy mal ausprobiert und direkt deinstalliert, entweder habe ich es nicht verstanden oder es konnte mir nicht weiterhelfen.
Jedenfalls wollte ich nochmal erwähnen dass das Programm für alle möglichen Fenster Makros erstellen können soll. Also ist es mir völlig unbekannt welche Programme damit gesteuert werden sollen. Möglicherweiße hätte mir WinSpy irgendwie beispielhaft weitergeholfen, habe aber wie gesagt nichts gefunden.
Noch weitere Informationen?
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Unbekannte Fenster steuern

  Alt 4. Feb 2009, 16:39
Wenn du nicht weisst, was für ein programm du steuern willst, wo dessen fenster ist und auch sonst keine infos hast, wie willst du dann überhaupt wissen, ob dein programm was zu tun hat.
was genau willst du überhaupt machen. um welche fenster handelt es sich hier. um bestimmte oder gar alle sichtbaren fenster. was willst du mit diesen machen?

wenn du weisst, wo das gesuchte fenster ist, könntest du das handel selbigens ermitteln und dann mit sendmessage nachrichten an dieses schicken.
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Coder1990
Coder1990

Registriert seit: 3. Nov 2007
116 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Unbekannte Fenster steuern

  Alt 4. Feb 2009, 17:15
Ah ich scheine mein Problem nicht richtig verdeutlicht zu haben:

Mein Projekt besteht aus einem "MakroEditor" und einem "MakroAusführer" in ersten erstellt man Makros und biete Funktionen mit denen man auch die momentante Mausposition auslesen kann und ins Makro abspeichern kann, nun will ich noch Makro Funktionen wie z.b. "SendKey(##Var##,B)" soll an das Fenster "Var" nun den Druck auf "B" senden.
Nun weiß ich nicht wie ich das Fenster am besten abspeichere für z.b. diese Funktion (soll es nur der Fenstertitel sein oder Komponentenname und wie krieg ich Fenstertitel überhaupt). Deswegen will ich eine Hilfe implementieren die bei der Makro Erstellung z.b. bei Klick auf ein anderes Fenster in einer Listbox die benötigten Variablen sozusagen aus dem Fenster einspeichert.

Ich glaube ich verdeutliche das mal an einem Beispiel:

"Ich will nun ein Makro erstellen um Firefox zu refreshen, wenn er nicht offen ist!"

Der Benutzer soll nun so vorgehen:

1. Er aktiviert die Funktion, dass bei Klicken auf andere Fenster (während MakroEditor aktiv ist), die benötigten Fensterdaten ausgelesen und in einer Listbox gespeichert werden (z.b. Fenstertitel)
2. Jetzt schaut der Benutzer in die Listbox und kopiert den Fenstertitel heraus.
3. Nun schreibt er in mein MakroMemoFeld (hier werden Makrobefehle eingefügt) "SendKey(" dann fügt er hier den Fenstertitel ein und dann noch ",F5)".
4. Fertig

Nun soll mein ausführendes Programm Firefox refreshen können.



Mein Problem ist einfach nur dass ich nicht weiß wie ich da rangehen soll, also welche Werte ich aus den Fenstern brauche um sowas zu realisieren (möglicherweiße muss ja auch mal auf spezielle Buttons gedrückt werden oder Text in ein EditFeld im Fenster eingetippt werden).

Könnt ihr mir nun weiterhelfen?
  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 06:22 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