AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Klick auf Button [erledigt]

Ein Thema von Maximus · begonnen am 29. Jan 2005 · letzter Beitrag vom 29. Jan 2005
Antwort Antwort
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#1

Klick auf Button [erledigt]

  Alt 29. Jan 2005, 15:41
Hallo,

Ich möchte von meinem Programm aus einen Klick auf einen Button einer fremden Anwendung simulieren.

Doch leider gibt es dabei ein Problem, ...

Handle holen ...
Delphi-Quellcode:
var
 hFenster, hButton: HWND;

...

hFenster := FindWindow(nil, PChar(Form1.Edit1.Text));
hButton := FindWindowEx(hFenster, 0, 'TButton', nil);
Dem Button sagen das er geklickt wurde
SendMessage(hButton, BM_Click, 0, 0); Der Compiler bringt keine Fehlermeldung, auch während das Programm lauft kommt keine Fehlermeldung, aber auf den Button wird nicht geklickt.

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Klick auf Button

  Alt 29. Jan 2005, 15:57
Ist hFenster und / oder hButton ungleich null? Sprich sind die Handles gültig? Was leifert GetLastError?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#3

Re: Klick auf Button

  Alt 29. Jan 2005, 15:59
Zitat von Luckie:
Ist hFenster und / oder hButton ungleich null? Sprich sind die Handles gültig? Was leifert GetLastError?
hFenster und hButton sind ungleich 0 (wird überprüft)

Delphi-Quellcode:
  if hFenster = 0 then
   ExitError('Error: Kein gültiges Fenster gefunden');
  if hButton = 0 then
   ExitError('Error: Kein gültigen Button gefunden');
ExitError gibt einfach eine Fehlermeldung aus und stoppt das Programm

MFG
Maximus

//Edit: Ups zweimal Abfrage für hFenster geschrieben (bin ausversehen auf [FN]+c stats strg+c gekommen ...)

//Edit2: GetLastError liefert wenn das Programm auf den fremden Button klicken soll 1400 zurück
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Klick auf Button

  Alt 29. Jan 2005, 16:04
Und welche Meldung? Und was sagt
ShowMessage(SysErrorMessage(GetLastError));
Zitat:
1400 = Invalid window handle.
Ist die Fensterklasse wirklich TButton? So heißt die Klasse nämlich nur in der VCL? Wurde das programm denn mit der VCL (Delphi, C-Builder) erstellt oder mit dem VC oder was anderm?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#5

Re: Klick auf Button

  Alt 29. Jan 2005, 16:07
Oh ... da liegt der Fehler "Ungültiges Fensterhandle"

Aber wieso ist hButton ungültig?

//Edit: Das Programm wurde mit Delphi3 erstellt (eine Form mit einem Button) - Ja die Fensterklasse ist wirklich TButton (auch nochmal mit X-Spy überprüft)

------------------------------------------------------------------------------

Aua Hab die Procedure in der das Handle für den Button gesetzt wird vergessen aufzurufen Jetzt funktionierts!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:25 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