Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit AutoIT auf Button drücken.

Frage Entwicklung

Mitglied: Vierus

Vierus (Level 1) - Jetzt verbinden

09.06.2011, aktualisiert 22:41 Uhr, 14932 Aufrufe, 5 Kommentare

Hallo da ich mich gerade einarbeite in AutoIT und es für mich neu Land ist Hoffe ich auf eure Hilfe.

Hallo lieber Helfer
Mein Problem ist das ich auf den Button 1 Klicken will aber ich kriegs irgendwie nicht hin.(ja Button 1 nicht 5 )
Mein versuche mit:

WinWait("Fenstertitel", "beliebiger Text aus dem Fenster - dient zum unterscheiden", [optional ein TimeOut])
ControlCommand ( "title", "text", controlID, "command" [, "option"] )
ControlClick("Fenstertitel", "FensterText", "Name des zu bearbeitenden Objektes")

waren bisher erfolglos müsste doch aber in der abfolge so gehen oder?

Da ich kein Fenster Titel habe kann ich auch die ID:1115314 benutzen?

Hier der Button auszug vom Info tool:
01.
  
02.
>>>> Window <<<< 
03.
Title:	 
04.
Class:	TSplashScreen 
05.
Position:	510, 676 
06.
Size:	500, 200 
07.
Style:	0x96000000 
08.
ExStyle:	0x00010000 
09.
Handle:	0x00030200 
10.
 
11.
>>>> Control <<<< 
12.
Class:	TColorButtonNF 
13.
Instance:	5 
14.
ClassnameNN:	TColorButtonNF5 
15.
Name:	 
16.
Advanced (Class):	[CLASS:TColorButtonNF; INSTANCE:5] 
17.
ID:	1115314 
18.
Text:	1 
19.
Position:	55, 156 
20.
Size:	50, 22 
21.
ControlClick Coords:	25, 12 
22.
Style:	0x5C01000B 
23.
ExStyle:	0x00000000 
24.
Handle:	0x001104B2 
25.
 
26.
>>>> Mouse <<<< 
27.
Position:	590, 844 
28.
Cursor ID:	0 
29.
Color:	0x6576A2 
30.
 
31.
>>>> StatusBar <<<< 
32.
 
33.
>>>> ToolsBar <<<< 
34.
 
35.
>>>> Visible Text <<<< 
36.
37.
38.
39.
40.
41.
 
42.
>>>> Hidden Text <<<<
MfG
Vierus
Mitglied: vossi31
10.06.2011 um 08:34 Uhr
Hallo Vierus,

versuche es mal so:

WinWaitActive("","5") ; oder anstatt "5" "4","3","2" ,"1"
Send("!s") ; wenn "s" der Shortkey für den Button wäre

Der Button sollte schon einen Shortkey haben oder du sendest alternativ eine Aktion wie Enter:

Send("{ENTER}")


Aber da du hier ein unbenanntes Fenster mit einem "Button 1" fernsteuern willst, frage ich mich ob du das Konzept vertstanden hast.
Willst du evtl. selbst eine GUI erstellen - dann geht man anders vor?

Henning
Bitte warten ..
Mitglied: Vierus
10.06.2011 um 13:58 Uhr
Hallo Henning

Danke für die schnelle Antwort.
Es funktioniert auch aber jetzt kommts es gibt einen Text in dem "TSplashScreen" und zwar folgender:
"Drücken Sie 3 um das Programm zu Starten"
darunter sind dann die Buttons
[1] [2] [3] [4] [5]

Das ganze habe ich per VB6 gemacht und ein zufallswert eingebaut bei der Zahl im Text und das wenn der Text "Drücken Sie 3" ist dann muss Button [3] gedrückt werden.

Also brauche ich noch eine Variable, wie bekomm ich diese aus dem Text?
Habs so versucht:
$text = WinGetText ( "[CLASS:TSplashScreen]" [, "Drücken Sie 3 um das Programm zu Starten"] )
MsgBox(0,'Information WinGetText', 'Text von Programm: ' & $text)
aber es klappt nicht.
Und noch ein Problem er Aktiviert mir nicht das Fenster sondern wartet drauf bis es Aktiviert ist warum geht das nicht mit:
If WinActive("[CLASS:TSplashScreen]") Then
MsgBox(0, "", "Das Fenster ist aktiv")
EndIf

Gruß Vierus
Bitte warten ..
Mitglied: vossi31
10.06.2011 um 15:45 Uhr
Hallo Vierus,

wird dieser Text "Drücken Sie x um das..." als visible Text im AutoIt Windows Info angezeigt? (Wenn nein --> weiss ich nicht spontan) Wenn ja würde ich folgendes versuchen.

$text = WinGetText ( "" ,"Drücken Sie")
MsgBox(0,'Information WinGetText', 'Text von Programm: ' & $text)

Jetzt sollte der komplette Text ab "Drücken Sie" in $text stehen. Auf Stelle 13 also 1,2,3,4,5
Dann abhängig davon 1 bis 5 mal

Send("{TAB}")

und dann

Send("{ENTER}")

Viel Erfolg

Henning
Bitte warten ..
Mitglied: Vierus
11.06.2011 um 00:12 Uhr
Hallo Henning

Also ich bin schon mal weiter meinen 2. Fehler habe ich auch schon bemerkt u.z.w. WinActive ist WinActivate naja gut muss man halt mal richtig gucken stimmets.

So nu denn, nein der Text wird nicht im AutoIt Windows Info Tool Angezeigt und mit send Tab kann ich nicht Arbeiten da ich keine tab reihenfolge festgelegt habe und Tab im Fenster auch nix bewirkt.

$text = WinGetText ( "" ,"Drücken Sie")
MsgBox(0,'Information WinGetText', 'Text von Programm: ' & $text)
Ausgabe ist: 0 (Heuel hab sogar AutoItSetOption("WinDetectHiddenText", 1) gesetzt.)

Nützt mir das handel eigentlich was ?(den den wert bekomm ich)
Und wo verwende ich dies Advanced (Class):[CLASS:TColorButtonNF; INSTANCE:5].(z.b. die INSTANCE auf ne Variable legen?oder in verwendung mit ControlClick das muss doch auch gehen oder?)
Alles an Daten die ich habe, hatte ich im ersten Posting gepostet und die Daten vom TSplashScreen sind leer.
Wie bekomm ich das nur hin hmmm,lese seit stunden ach Tagen die einzelnen AutoIt Befehle durch und find keine Lösung.

Gruß
Vierus

@andere traut euch mal zu Helfen
Bitte warten ..
Mitglied: Vierus
11.06.2011 um 21:47 Uhr
Hey
Ich hab die lösung hier der Code
01.
$result = _ImageSearch("1.bmp",1,$x1,$y1,0) 
02.
if $result=1 Then 
03.
	WinActivate("[CLASS:TSplashScreen]") 
04.
	WinWaitActive("[CLASS:TSplashScreen]","1") 
05.
Sleep (2000) 
06.
Send("{ENTER}") 
07.
	MsgBox(0,"Found","Found 1") 
08.
EndIf
Gruß Vierus
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Sicherheit
gelöst Libreoffice Makros deaktivieren - Button fehlt in LO 5 (2)

Frage von Der-Phil zum Thema Sicherheit ...

Microsoft Office
Button für Wechseln zwischen den Tabellenblättern (6)

Frage von lupi1989 zum Thema Microsoft Office ...

Python
gelöst Python GUI Button funktionen? (7)

Frage von Scuzzy zum Thema Python ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...