AGB  ·  Datenschutz  ·  Impressum  







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

Taste drücken durch Programm ?

Ein Thema von Helmut · begonnen am 16. Feb 2003 · letzter Beitrag vom 25. Feb 2003
Antwort Antwort
Seite 1 von 3  1 23      
Helmut

Registriert seit: 22. Nov 2002
64 Beiträge
 
#1

Taste drücken durch Programm ?

  Alt 16. Feb 2003, 14:49
Hi,

ich möchte mir ein Programm basteln, welches mir etwas an Zeit einspart.
Weiter unten erkläre ich, worum es im genauen geht.

Ich brauche dazu nur ein Programm was entweder ständig mausklicken macht (mausposition wird nicht verändert) oder in sekundenabständen die taste "k" drückt.

Damit will ich dieses DFÜ-Fenster steuern (siehe anhang).

_____

Erklärung:

Bei ISDN-XXL kann man sonntags kostenlos mit kanalbündelung surfen. Das Problem: die einwahlknoten sind überlastet. Das heisst: man muss mind. eine halbe stunde auf "aktivieren" klicken bis er die zweite verbidung aufbaut. Das programm soll automatisch solange auf aktivieren drücken bis die zweite verbindung aufgebaut ist oder solange "k" (aktivieren) drücken.

Wenn man aktivieren drückt und er kann sich nicht einwählen springt der button nach 1 1/2 sekunden wieder auf "aktivieren" zurück. Wenns geklappt hat bleibt der button mit der aufschrift "deaktivieren" stehen in dieser dfü-verbindung.

Glaubt ihr, das man das irgendwie realisieren kann?

[edit=Admin]Bild aus Beitrag entfernt. Es befindet sich ja im Anhang. Mfg, Daniel[/edit]
Miniaturansicht angehängter Grafiken
xxl.gif  
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#2
  Alt 16. Feb 2003, 16:40
hallo

also ich denke mit einen Timer könnte man es versuchen
du mußt aber erst den Button der fremd anwendung ansteuern


Buttons fremder anwendungen drücken
Delphi-Quellcode:
//Zuerst ermittelt man das Fensterhandle mit folgender Anweisung:

FindWindow((Fensterklasse,wenn bekannt),Fenstertitel).

//Anschließend holt man das Fenster mit

SetForegroundWindow(Fensterhandle)nach vorn. //Dies ist jedoch nicht notwendig.

{Nun kann man mit keybd_event eine Tastenkombination an das Fenster schicken.
Wenn man mit FindWindowEx(ParentHandle, nil,nil,nil) rekursiv die entfernte
Anwendung nach dem gewünschten Button durchsuchen lässt, kann man hinterher
folgende Messages senden:
}


PostMessage(Handle.Kind,WM_LBUTTONDOWN,MK_LBUTTON,0);
PostMessage(Handle.Kind,WM_LBUTTONUP,0,0);

//Und schon wird der Button gedrückt.
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 16. Feb 2003, 17:00
Moin Zusammen,

also wenn man erst einmal das Handle des Button hat, wäre es einfacher diesen mit

SendMessage(ButtonHandle,BM_CLICK,0,0); timergesteuert anzuklicken.

Dann muss das Fenster nicht mal sichtbar sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 16. Feb 2003, 17:02
So, jetzt mal mit dem Spiegel über die Schulter nach hinten gezielt mit dem Revolver:

Delphi-Quellcode:
procedure ClickIt;
var
  hWnd : Cardinal;
  hBtn : Cardinal;
begin
  hWnd := FindWindow(nil, 'verbunden mit XXL arcor');
  if hWnd = 0 then
  begin
    Messagebox(Handle, 'Fenster nicht gefunden', 'Fehler', MB_ICONSTOP);
    exit;
  end;
  hBtn := FindWindowEx(hWnd, 0, nil, 'Aktivieren');
  if hBtn = 0 then
  begin
    Messagebox(Handle, 'Knöppgens nicht gefunden', 'Fehler', MB_ICONSTOP);
    exit;
  end;
  SendMessage(hBnt, BM_CKLICK, 0, 0);
end;
Den Fenstertitel und den Buttontext könnte man als parameter übergeben, dann wird es etwas universeller.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 16. Feb 2003, 17:03
Moin Luckie,

die Caption des Button müsste allerdings A&ktivieren sein
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6
  Alt 16. Feb 2003, 17:07
Das spielt, glaube ich, keine Rolle. Wie gesagt, nur mit dem Spiegel über die Schulter. Dann hat die Jungfrau auf der rotierenden Scheibe eben einen kleinen Kratzer abbekommen.

Ist der Kringel denn auch dabei, wenn ich mit WM_GETTEXT die Caption hole?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 16. Feb 2003, 17:35
Moin Luckie,

sollte er auf jeden Fall.
Einer der Gründe, warum ich, nach Möglichkeit, lieber die ID nehme als den Text.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 16. Feb 2003, 17:36
Die müßte man sich dann erst mit Spy++ suchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Helmut

Registriert seit: 22. Nov 2002
64 Beiträge
 
#9
  Alt 16. Feb 2003, 22:34
wow, wieviele antworten!

Hatte heute leider keine zeit mehr mich mit dem problem zu beschäftigen. Aber morgen oder übermorgen werd ich mir mal die einzelnen beispiele genauer ansehen.

Es ist auf jeden fall wichtig das nicht der button gedrückt wird, sondern die taste.
Denn wenn der button gedrückt wird und die verbdingung hergestellt wurde, trennt man ja die verbindung nach einem erneuten klick auf den button (weil die caption dann ja deaktivieren ist). Aber das sollte kein problem sein mit dem captionauslesen.
Nagut, wie gesagt, morgen oder übermorgen mach ich mich an die arbeit. Dürfte ja dank euren super erklärungen nicht sehr schwierig sein, auch für mich anfänger

Vielen dank für die schnelle hilfe! Was wär ich bloss ohne euch und das delphi-praxis-forum!

mfg
Helmut
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10
  Alt 16. Feb 2003, 22:49
wenn man den Button entsprechend der Caption sucht, sollte es ja kein Problem sein, ihn nur so lange zu drücken, wie nötig...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 04:30 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