AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi String an anderes Programm schicken
Thema durchsuchen
Ansicht
Themen-Optionen

String an anderes Programm schicken

Ein Thema von SimStar001 · begonnen am 9. Jul 2008 · letzter Beitrag vom 10. Jul 2008
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#31

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 16:16
Hier, hab ich vor 100 Jahren mal geschrieben. Man muss aber auf die Items links klicken, damit die Kindfenster angezeigt werden.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#32

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 16:32
Finds auch nicht, aber aber cih hab mal folgenden Schnipsel gebastelt, hilft allerdings noch nicht interher auch die Klasse von der Kompnente im Fenster zu finden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Window: HWND;
  WindowClassName: array[0..79] of Char;
begin
  //Window := FindWindow(nil, 'Titel in Titelleiste');
  Window := FindWindow('Notepad', 'Unbenannt - Editor');
  if Window <> 0 then
  begin
    GetClassName(Window, @WindowClassName, 80); //gehe davon aus das daas NULL an Ende mit gezählt wird, falls das falsch ist, bitte mal anmerken
    Showmessage('Fenster lpClassName: ' + WindowClassName);
    Window := FindWindowEx(Window, 0, 'Edit', nil);
    PostMessage(Window, WM_KEYDOWN, 48, 0);
    GetClassName(Window, @WindowClassName, 80);
    Showmessage('Komponente lpClassName: ' + WindowClassName);
  end
  else showmessage('Konnte das Editorfenster nicht finden! Errorcode: ' + IntToStr(GetLastError));
end;
So Window := FindWindow(nil, 'Titel in Titelleiste'); solltest du dein Fenster eigentlich schon finden, du musst aber beachten, dass dir das bei mehreren Fenstern mit gleichen Titel nur das Handle auf das zuletzt angeklickte liefert (Ergebnis von einem praktischen Test eben), ist also hier sicherer, wenn du es erst mal anklickst. Danach sollte dir das GetClassName den Namen liefern, nur wie ich an die Komponente komme, wenn ich sie vorher nicht kenne, weiß ich auch noch nicht.
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#33

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 16:36
Zitat von alzaimar:
Hier, hab ich vor 100 Jahren mal geschrieben. Man muss aber auf die Items links klicken, damit die Kindfenster angezeigt werden.
Wäre gut, wenn dus noch anhängst.
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#34

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 16:45
wenn ich deinen code ausführe wie er da steht kommt fehlercode '2'


wenn ich dann allerdings diese zeile ausführe... Window := FindWindow(nil, 'Titel in Titelleiste'); dann findet der bei mir nur das Mozilla browserfenster?
Marco Tröger
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#35

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 16:56
mir fällt da gerade so mal ein, dass wir die ganze zeit nach enm fenster suchen!? wäre es nicht besser erstmal nach der anwendung zu suchen?
Marco Tröger
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#36

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 17:25
Zitat von Cyf:
Zitat von alzaimar:
Hier, hab ich vor 100 Jahren mal geschrieben. Man muss aber auf die Items links klicken, damit die Kindfenster angezeigt werden.
Wäre gut, wenn dus noch anhängst.
Angehängte Dateien
Dateityp: rar fenster-list-o-mat_193.rar (195,1 KB, 28x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#37

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 17:42
super damit konnet ich zumindest mal di caption und die windoclass ermitteln, mal sehen wies nu weiter geht ich werde mal weiter rumprobieren
Marco Tröger
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#38

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 18:18
so ich habe jetzt doch ein problem.... und zwar ist die caption der anwendung die ich ansprechen möchte immer unterschiedlich, sie ändert sich mit der mausbewegung....


als class bekomme ich soetwas angezeigt: Afx:00400000:0


kann ich jetzt irgendwie immer di aktuelle caption herausfinden?
Marco Tröger
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#39

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 18:39
Ich habe das mit EnumWindows gelöst, dort bekommst du für jedes Fenster in Windows sowohl den Klassennamen als auch die Überschrift (Caption). Wenn die Fensterklasse ansonsten eindeutig ist, reicht das doch.

Probieren geht über Studieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#40

Re: String an anderes Programm schicken

  Alt 10. Jul 2008, 18:56
on die fensterklasse eindeutig ist weiß ich leider noch net ich probiers die stunden aus und melde mich sonst wieder
Marco Tröger
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 11:00 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