Variable in ProcessExist Shellexecute schleife

06/19/2013 13:50 AlvinX2#1
Moin! Wie kann man denn bitte eine Variable für eine solche Schleife benutzen:

PHP Code:
Case $Select
    $Launcher 
FileOpenDialog("Select your AA Launcher exe",@UserName "\Desktop""Applications (*.exe)",2)

Case 
$restart
    
EndSwitch
    If 
$bCheck Then
        
If Not ProcessExists($Launcher) And Not ProcessExists("bf3.exe"Then
;~             Run(@DesktopDir "\BlaueKugel.exe")
            
ShellExecute($Launcher)
        EndIf
    EndIf

WEnd 
So läuft's nicht.. Habt ihr vorschläge wie man das Fixen bzw zum laufen bringen kann?
06/19/2013 13:57 lolkop#2
Quote:
Originally Posted by AlvinX2 View Post
Moin! Wie kann man denn bitte eine Variable für eine solche Schleife benutzen:

PHP Code:
Case $Select
    $Launcher 
FileOpenDialog("Select your AA Launcher exe",@UserName "\Desktop""Applications (*.exe)",2)

Case 
$restart
    
EndSwitch
    If 
$bCheck Then
        
If Not ProcessExists($Launcher) And Not ProcessExists("bf3.exe"Then
;~             Run(@DesktopDir "\BlaueKugel.exe")
            
ShellExecute($Launcher)
        EndIf
    EndIf

WEnd 
So läuft's nicht.. Habt ihr vorschläge wie man das Fixen bzw zum laufen bringen kann?
fileopendialog gibt dir einen pfad zurück... prozesse enthalten nie pfad namen, womit ProcessExists($Launcher) immer False zurück geben wird.

da hiermit die Not-Verknüpfung aber immer True ist, bräuchten wir schon etwas mehr informationen...
abgesehen davon ist $Launcher in deinem codeschnipsel nicht zwangsweise zum zeitpunkt des checks deklariert, was ohnehin vom interpreter angemeckert werden sollte...
06/19/2013 14:33 AlvinX2#3
Der versuch ist die Schleife:

PHP Code:
$bCheck False

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Start
            $bCheck 
not $bCheck
    
EndSwitch
    If 
$bCheck Then
        
If Not ProcessExists("BlaueKugel.exe") And Not ProcessExists("bf3.exe"Then
;~             Run(@DesktopDir "\BlaueKugel.exe")
            
ShellExecute(@DesktopDir "\BlaueKugel.exe")
        EndIf
    EndIf

WEnd 
mit einer Variable zu versehen, sodass der Name "BlaueKugel.exe" nicht pflicht ist, und das Programm auch mit anderen Programmen funktioniert, die man da halt auswählen kann.
06/19/2013 15:03 YatoDev#4
ich bezweifle das du scite installiert hast oder das du weist wie du damit umgehen musst .

Syntax Check Prod -> dadurch siehst du das bei case $Select was falsch ist
Dann öffnest du die autoit hilfe und suchst im tab index Case bzw Switch ( :o ).

Wenn du den code nicht verstehst suchst du eben noch nach den anderen code stücken

Du kannst auch bei [Only registered and activated users can see links. Click Here To Register...] nach den funcs suchen : Autoit Case ..Switch

Auch noch wichtig ist das wir immer deinen gesammten code brauchen und nein die begründung das dass jemand klauen könnte ist schwachsinn .

Nächstes Thema : Variablen
In variablen können Informationen gespeichert werden .
z.B. Strings , Integer jegliche rückgabewerte von functionen .
$programm = vom user ausgewählte .exe
Programm Logik
Wie soll der user die nun auswählen ? am besten fangen wir da mit einer gui an .
Die erstellst du in Koda form designer .
Da kommt ein button und eine inputbox rein .
Bei klick auf den button wird nun FileOpenDialog aufgerufen dessen Rückgabewert (return) in die variable $Programm gespeichet wird

einfacher für dich (nehme ich mal an) wäre es mögliche .exe dateien in einer combobox einzutragen und die auswählen lassen

Ich hoffe du hast jetzt genug denkanstoße und hilfestellungen bekommen so das du in nächster zeit vielleicht besser mit autoit klar kommst .

Im autoit talk wird auch immer geholfenb und ist bei so anfängerfragen eher geiegnet als ein neuer thread . Wenn manche jetzt meinen da wird nicht mehr so schnell geantwortet - falsch !

Und noch was geb FileOpenDialog in der hilfe ein ganz unten ist ein beispiel .

Das ist auch kein hate oder iwas das ist eine schritt für schritt anleitung um besser mit autoit zurecht zukommen