AGB  ·  Datenschutz  ·  Impressum  







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

Handle an anderes Fenster weitergeben

Offene Frage von "Stefan92"
Ein Thema von Stefan92 · begonnen am 22. Jan 2007 · letzter Beitrag vom 26. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#1

Handle an anderes Fenster weitergeben

  Alt 22. Jan 2007, 21:48
Hallo,

mein neuestes Programm ist so eine Art Trainer, der Tastendrücke simulieren soll. Um dem User allerdings etwas Arbeit zu ersparen möchte ich, dass das Handle direkt an das Fenster weitergegeben wird. Wie finde ich denn dazu den Namen des Handles raus? Irgendwie muss das Ganze ja eindeutig identifizierbar sein, oder?

Danke im Voraus für eure Antworten.

Gruß


Stefan
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#2

Re: Handle an anderes Fenster weitergeben

  Alt 22. Jan 2007, 21:59
Ich fürchte du hast etwas Gundlegendes nicht verstanden. Ein handle ist nur eine Art "Nummer" des Fensters. Dieses erhälst du z.B. über die Funktion Delphi-Referenz durchsuchenFindWindow(Ex)...

BTW: Die Handles der einzelnen VCL-Komponenten(genauer: der TWinControls), kriegst du über die property Handle...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Handle an anderes Fenster weitergeben

  Alt 23. Jan 2007, 07:20
Danke erstmal für die Antwort.
Verstehe ich das also richtig, wenn ich sagen würde, ein Handle ist wie eine IP-Adresse?
Übrigens habe ich in meiner Hilfe in Delphi 7 nichts zu FindWindow gefunden. Allerdings habe ich im Internet folgenden Code gefunden:
Delphi-Quellcode:
PROCEDURE TForm1.Button2Click(Sender: TObject);
VAR h: THandle;
begin
  h := FindWindow('Notepad',NIL);
  IF NOT (h=NULL) THEN
  begin
    ShowWindow(h,SW_MAXIMIZE);
  end;
end;
Dieses Beispiel bezog sich auf den Notepad von Microsoft. Wenn ich aber stattdessen Mozilla Firefox hinschreibe funktioniert es nicht.
Kannst du mir den Befehl eben erklären?

Gruß

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Handle an anderes Fenster weitergeben

  Alt 23. Jan 2007, 07:40
Zitat von Stefan92:
Übrigens habe ich in meiner Hilfe in Delphi 7 nichts zu FindWindow gefunden.
Für Windows-Api-Befehle musst du in Delphi unter "Hilfe" --> "Windows SDK" suchen. Und dort stehen dann die relevanten Teil aus der MSDN-Library.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#5

Re: Handle an anderes Fenster weitergeben

  Alt 23. Jan 2007, 11:17
Zitat von Stefan92:
Delphi-Quellcode:
  ...
  h := FindWindow('Notepad',NIL);
  ...
Dieses Beispiel bezog sich auf den Notepad von Microsoft. Wenn ich aber stattdessen Mozilla Firefox hinschreibe funktioniert es nicht.
Guck mal ins PSDK(bzw. Win32SDK). Das hat sirius dir ja schon erklärt. Und da guckst du dir an, für was die beiden Parameter sind...
BTW. Das PSDK gibts auch online. Guckst du hier: MSDN-Library durchsuchenFindWindow

[ot]
Hallo sirius
wo man sich überall trifft...
[/ot]

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Handle an anderes Fenster weitergeben

  Alt 25. Jan 2007, 06:57
So, hab jetzt in das PSDK online geguckt und folgendes gefunden, was ich noch nicht ganz verstehe:
Zitat:
Parameters

lpClassName
[in] Pointer to a null-terminated string that specifies the class name or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero.

If lpClassName points to a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, or any of the predefined control-class names.

If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
Ich verstehe nicht so ganz, was bei diesem Parameter erwartet wird. Was ist denn ein high- bzw. low-orderword. Und wie finde ich den ClassName überhaupt heraus?

Bitte um Hilfe.

Gruß

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Handle an anderes Fenster weitergeben

  Alt 25. Jan 2007, 08:24
der ClassName wäre zum Beispiel TForm1, TEdit, etc. Diesen findest du mit diversen Tools heraus. Ich glaube WinSpy oder so heißt eines. Ich hab vor ewigkeiten mal ComponentFinder geschrieben der das auch kann aber es gibt auch jede menge andere Tools die besser sind. Allerdings weiß ich die Namen nicht auswendig.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Stefan92

Registriert seit: 9. Jan 2007
146 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Handle an anderes Fenster weitergeben

  Alt 25. Jan 2007, 19:54
Kennt denn irgendjemand von euch vielleicht ein kostenloses Tool?
Oder muss ich den gar nicht herausfinden? Kann ich auch Nil eingeben und nur den Titel des Fensters beim zweiten Parameter angeben?

Gruß

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Handle an anderes Fenster weitergeben

  Alt 25. Jan 2007, 20:33
Delphi-Quellcode:
  findwindow('MozillaUIWindowClass','Mozilla Firefox');
  findwindow(nil,'Mozilla Firefox');
  findwindow('MozillaUIWindowClass',nil);
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#10

Re: Handle an anderes Fenster weitergeben

  Alt 25. Jan 2007, 20:48
Zitat von Stefan92:
Kennt denn irgendjemand von euch vielleicht ein kostenloses Tool?
Oder muss ich den gar nicht herausfinden? Kann ich auch Nil eingeben und nur den Titel des Fensters beim zweiten Parameter
Jupp, sogar mit Source. Alternativ Motzis X-Spy.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:51 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