Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 18:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Prüfen, ob Fenster aktiviert sind?

Discussion on Prüfen, ob Fenster aktiviert sind? within the AutoIt forum part of the Coders Den category.

Reply
 
Old 06/25/2010, 20:13   #31
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
hmm ich tipp mal auf 12...
b2t drück dich das nächste mal deutlicher aus
bladerofdarknes is offline  
Old 06/26/2010, 10:30   #32
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
omg, ich weiß, dass brain.exe kein programm ist, geschweige denn, dass man das downloaden kann
von ironie habt ihr hier wohl auch noch nie etwas gehört.

ich versuch es einfach noch einmal, wenn der thread schon offen ist.....

Quote:
Wir haben ein Programm auf unserem PC, sagen wir mal es heißt "Bla" (Durch Doppelklick auf das Programm (also Icon, auf dem Desktop/etc.) startet das Pogramm in einem neuen Fenster. Dieses Fenster hat jetzt einen Namen, sicherlich heißt es "Bla", da so auch das Programm heißt.
So weit, so gut! Nun haben wir da das Programm AutoIt. Dort haben wir ein GUI, ich habe hier mal eine kleine Vorlage:

PHP Code:
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Bla"19784189122)
$Button1 GUICtrlCreateButton("Prüfe, ob Bla aktiv/gestartet ist"88179650)
GUICtrlSetFont(-194000"Arial")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$Button1
    
EndSwitch
WEnd 
Wenn wird das Scipt nun starten, erscheint unser Programm, bestehend einfach nur aus einem Button (nicht irgentwelche InputLeisten/etc.)
Durck klicken, auf diesen Button soll das Script schauen, ob "Bla" auf unserem PC ausgeführt/gestartet ist. Wenn dies nun der Fall ist, soll uns das eine MsgBox mitteilen, z.B. "msgbox(0,"","Bla ist gestartet"). Wenn "Bla" jetzt allerdings nicht gestartet ist, soll die MsgBox wie folgt aussehen: "msgbox(0,"","Bla ist nicht gestartet").
So, ich glaube/hoffe, dass das genau genug ist.
Danke!
SpuaḺ is offline  
Old 06/26/2010, 11:19   #33
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
ich hab das ganze mal mit deiner vorlage gemacht..

PHP Code:
#include <GUIConstants.au3> 

#Region ### START Koda GUI section ### Form= 
$Form1 GUICreate("Bla"19784189122
$Button1 GUICtrlCreateButton("Prüfe, ob Bla aktiv/gestartet ist"88179650
GUICtrlSetFont(-194000"Arial"
GUISetState(@SW_SHOW
#EndRegion ### END Koda GUI section ### 

While 
    $nMsg 
GUIGetMsg() 
    Switch 
$nMsg 
        
Case $GUI_EVENT_CLOSE 
                    
Exit 
              Case 
$Button1 
                  ExitLoop

        
EndSwitch
        
WEnd
        
        

        
        
if WinGetProcess("Bla""Bla") = @error then 
            MsgBox
("bla""Info""bla ist nicht gestartet")
        EndIf
        
        if 
WinGetProcess("Bla""Bla") = not @error then 
            MsgBox
("bla""Info""bla ist gestartet")
            EndIf 
durch WinGetProcess geht das auch wenn das fenster nicht aktiv ist sondern wenn nur der prozess noch läuft, deswegen bevorzuge ich wingetprozess
bladerofdarknes is offline  
Old 06/26/2010, 13:00   #34
 
Neon™'s Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 2,173
Received Thanks: 1,765
Quote:
Originally Posted by bladerofdarknes View Post
ich hab das ganze mal mit deiner vorlage gemacht..

PHP Code:
#include <GUIConstants.au3> 

#Region ### START Koda GUI section ### Form= 
$Form1 GUICreate("Bla"19784189122
$Button1 GUICtrlCreateButton("Prüfe, ob Bla aktiv/gestartet ist"88179650
GUICtrlSetFont(-194000"Arial"
GUISetState(@SW_SHOW
#EndRegion ### END Koda GUI section ### 

While 
    $nMsg 
GUIGetMsg() 
    Switch 
$nMsg 
        
Case $GUI_EVENT_CLOSE 
                    
Exit 
              Case 
$Button1 
                  ExitLoop

        
EndSwitch
        
WEnd
        
        

        
        
if WinGetProcess("Bla""Bla") = @error then 
            MsgBox
("bla""Info""bla ist nicht gestartet")
        EndIf
        
        if 
WinGetProcess("Bla""Bla") = not @error then 
            MsgBox
("bla""Info""bla ist gestartet")
            EndIf 
durch WinGetProcess geht das auch wenn das fenster nicht aktiv ist sondern wenn nur der prozess noch läuft, deswegen bevorzuge ich wingetprozess
Weißt du was "ElseIf" ist?
Neon™ is offline  
Thanks
1 User
Old 06/26/2010, 13:10   #35
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
ja weiss ich :P
so langsam solltet ihr mich kennen, warum einfach wenns auch kompliziert geht oder?
bladerofdarknes is offline  
Thanks
1 User
Old 06/26/2010, 13:13   #36
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Quote:
Originally Posted by bladerofdarknes View Post
ich hab das ganze mal mit deiner vorlage gemacht..

PHP Code:
#include <GUIConstants.au3> 

#Region ### START Koda GUI section ### Form= 
$Form1 GUICreate("Bla"19784189122
$Button1 GUICtrlCreateButton("Prüfe, ob Bla aktiv/gestartet ist"88179650
GUICtrlSetFont(-194000"Arial"
GUISetState(@SW_SHOW
#EndRegion ### END Koda GUI section ### 

While 
    $nMsg 
GUIGetMsg() 
    Switch 
$nMsg 
        
Case $GUI_EVENT_CLOSE 
                    
Exit 
              Case 
$Button1 
                  ExitLoop

        
EndSwitch
        
WEnd
        
        

        
        
if WinGetProcess("Bla""Bla") = @error then 
            MsgBox
("bla""Info""bla ist nicht gestartet")
        EndIf
        
        if 
WinGetProcess("Bla""Bla") = not @error then 
            MsgBox
("bla""Info""bla ist gestartet")
            EndIf 
durch WinGetProcess geht das auch wenn das fenster nicht aktiv ist sondern wenn nur der prozess noch läuft, deswegen bevorzuge ich wingetprozess
Der sagt mir leider andauernd, dass das Metin2 gestartet ist, auch wenn dies nicht der Fall ist.
SpuaḺ is offline  
Old 06/26/2010, 13:29   #37
 
Neon™'s Avatar
 
elite*gold: 50
Join Date: Feb 2009
Posts: 2,173
Received Thanks: 1,765
Quote:
Originally Posted by SpuaḺ View Post
Der sagt mir leider andauernd, dass das Metin2 gestartet ist, auch wenn dies nicht der Fall ist.
Richtiger Prozess-Name?
Neon™ is offline  
Old 06/26/2010, 13:38   #38
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
ja.
SpuaḺ is offline  
Old 06/26/2010, 13:52   #39
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
groß/klein schreibung beachten, denn zb: metin2 = METIN2 in den meisten fällen heißt der prozess auch anderst, geh auf den tastmanager prozesse und schau wie dieser prozess heißt, denn zb. counter-strike Source = hl2.exe
dennoch ist WinGetProcess eine der besten methoden meiner meinung nach
denn es kann vorkommen das ein programm abstürzt aber die prozess achritektur noch läuft (prozess) und dann sagt dir das fenster "prezess läuft noch"
bladerofdarknes is offline  
Old 06/26/2010, 13:57   #40
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Quote:
Originally Posted by pinguin94 View Post
Also im Task-Manager unter Prozesse zu sehen ist?

EDIT:

Sowas?

Code:
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>

OnAutoItExitRegister("_Exit")
AdlibRegister("_CheckFocus", 1)

Global $hTitle

$hGUI = GUICreate("Process Check", 250, 118, 425, 291)
GUISetFont(10, 400, 0, "Arial")
$hCheck = GUICtrlCreateButton("Check process", 32, 56, 185, 49)
$hTitle = GUICtrlCreateInput("Insert process name here", 32, 16, 185, 24)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $hCheck
			$sRead = GUICtrlRead($hTitle)
			If $sRead <> "Insert process name here" And $sRead <> "" Then
				If ProcessExists($sRead) Then
					MsgBox(0+64+0+0+262144, "Window", "The process exists")
				Else
					MsgBox(0+64+0+0+262144, "Window", "The process doesn't exist")
				EndIf
			Else
				MsgBox(0+64+0+0+262144, "Error", "Please insert something in the input.")
			EndIf
	EndSwitch
WEnd

Func _Exit()
	AdlibUnRegister("_CheckFocus")
	Exit
EndFunc

Func _CheckFocus()
	$hControl = GUICtrlGetHandle($hTitle)
	If _WinAPI_GetFocus() = $hControl Then
		If GUICtrlRead($hTitle) = "Insert process name here" Then
			GUICtrlSetData($hTitle, "", "")
		EndIf
	EndIf
EndFunc
Processnamen herausfinden, in den Input einsetzen, Button drücken, freuen.
Das ist das, was ich schon gepostet hab, und was anscheinend falsch war.
PenGuin :O is offline  
Thanks
1 User
Old 06/26/2010, 14:00   #41
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
bitte pinguin seins benutzten weil mein $handle nicht deklariert ist!
danke @ pinguin
bladerofdarknes is offline  
Old 06/26/2010, 14:23   #42
 
SpuaḺ's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 54
Received Thanks: 18
Prozessname auch richtig.
SpuaḺ is offline  
Old 06/26/2010, 15:05   #43
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Meins funktioniert zu 100%. Alles andere sind Fehler der Person.
PenGuin :O is offline  
Reply

Tags
aktiviert, autoit, fenster, frage, problem


Similar Threads Similar Threads
Gameobjecte aktiviert lassen
03/27/2010 - WoW Private Server - 0 Replies
Ich habe festgestellt das meine Aufzüge ,welche ich auf closed gestellt habe ,damit man die Aufzüge benutzen kann, immer nach server shutdown wieder nicht funktionieren und von einem GM wieder umgestellt werden muss. Ich benutze arcemu. Gibt es eine Möglichkeit dies irgendwie zu machen dass diese Objecte immer aktiviert sindund bleiben?
[Tausche] WOTLK Beta Acc(Schon aktiviert >.<)
08/21/2008 - World of Warcraft Trading - 3 Replies
Moin, Tausche hier nen WOTLK Beta Acc(Da ich Key scho aktiviert habe >.<), auf dem Acc is 2x mein lvl 70 Gladiator Schurke mit Full s3/S4 Schwerten und mein lvl 64 Gnom Warri.Momentan Transvereriere ich nochmal meinen Rogue rüber aber mit s4 Schultern(Da ich 2,2k Letzte Woche geschaft habe) den ich auch nicht anrühren werde also währe das halt der Chara auf dem hier dan halt Anfangen könntet.aufm Acc ist noch nen lvl 62 DK den ich zurzeit noch Stückweise Level und auf Blut geskillt ist. ...



All times are GMT +2. The time now is 18:31.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.