1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. stinger2k

Beiträge von stinger2k

  • Exitloop zerstört alle schleifen...??

    • stinger2k
    • 21. Februar 2013 um 16:35

    Hallo,

    hab ein Problem das _Processclose () das komplette script killt, vielleicht kann mir einer auf die Sprünge helfen... ;)

    Code zum probieren:

    http://pastebin.com/qgAHwzJ0

  • Inputbox Problem

    • stinger2k
    • 6. November 2011 um 14:23
    [autoit]

    MsgBox(0,"","Angabe aus der Inputbox : " & GuiCtrlRead ($sinputboxanswer))

    [/autoit]
  • Drag and Drop mit mehrer Datein

    • stinger2k
    • 2. November 2011 um 08:45

    mit _GuiCtrlListView_SetExtendedStyle () den Stil auf einen button oder eine andere abfrage zuweisen.
    Dann sollten Checkboxen bei jedem Item auftauche welche geklickt werden können die du wiederum in einer neuen Abfrage mit _GuiCtrlListView_GetItemChecked () abfragen kannst und dann wenn zutrifft in deine löschen func übernimmst.

    (_GuiCtrlListView_DeleteItem () )

    Schreibe jetzt nur mal so aus dem kopf, weiß nicht ob der genaue wortlaut der befehle stimmt ? Steht aber ansonsten alles in der Hilfe auch nochmal.
    Oder du machst eine Abfrage mit _guiCtrlListView_GetItemSelected () und übergibst diese dann an deine löschen func.


    MfG
    Stinger2k

  • Drag and Drop mit mehrer Datein

    • stinger2k
    • 1. November 2011 um 12:57

    mit dem Extended Stil Checkboxes ich glaube LV_CHECKBOX oder so?

  • Mouse2Sides

    • stinger2k
    • 30. Oktober 2011 um 12:48

    James

    So einfach wird das nicht gehen, wenn wie bei mir, der 2. Bildschirm mit einer anderen Auflösung arbeitet.

  • Einbindung von Label Ausgabe durch ComboBox Auswahl

    • stinger2k
    • 30. Oktober 2011 um 09:17

    Deine Erklärungen sind etwas unverständlich, Was meinst du mit Label (ein GuiCtrlCreateLabel ?)

    Vielleicht wäre ein Array mit deinen Werten das richtige? (ein Array welche du bei bestimmter Auswahl in deiner Combox neu anordnen lässt)

    Damit dir hier jemand weiterhelfen kann und möchte, wäre vielleicht ein screenshot mit beschreibungen was du erreichen willst um einiges hilfreicher als nur dein script mit einer mini-gui.

  • ! FileOpenDialog() mit Mehrfachauswahl Volle Dateipfade in ein Array eintragen...

    • stinger2k
    • 26. Oktober 2011 um 19:05

    Manchmal sieht man den Wald vor lauter Bäumen nicht... ?(

  • ! FileOpenDialog() mit Mehrfachauswahl Volle Dateipfade in ein Array eintragen...

    • stinger2k
    • 26. Oktober 2011 um 18:47

    Möchte alle Dateipfade die ich mit einer Mehrfachauswahl im FileOpenDialog () getätigt habe mit vollem Pfad in ein Array eintragen...

    Beispielskript:

    Spoiler anzeigen


    [autoit]
    $Text = " Wurde vom Autor entfernt "

    Hat einer ne Ahnung Wie unter insertfiles() im Beispiel...???

  • WinActive + Mehere Fenster

    • stinger2k
    • 23. Juli 2011 um 22:34

    Vielleicht hilft dir das weiter gibt dir so alle möglichen Informationen zurück welche man gebrauchen könnte um Fenster zu identifizieren...

    inkl. Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    #include <Inet.au3>
    #include <Misc.au3>
    #include <Process.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $PID = Run(@WindowsDir & "\notepad.exe")
    msgbox(0,"",PIdGetWindow($PID,2,2))

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;============================================================================================
    ;
    ; Function Name: _PIdGetWindow
    ; Description: Returns the Windowhandle(s) owned by the specified process (PId only !).
    ;
    ; Parameter(s): $iPid - the owner-PID.
    ;
    ; $iWndState - WindowState´s (default = active Windows) Option´s as shown
    ; by Helpfile for WinGetState()
    ;
    ; $iOption - Optional : return/search methods :
    ; 0 - returns Processname for the window declared at $iWndState.
    ; 1 - returns new PID for the Process.
    ; 2 - returns WindowTitle for matches in $iWndState(default).
    ; 3 - returns WindowHandle for matches in $iWndState.
    ; 4 - returns WindowState for specified PId.
    ; 5 - returns an Array with all Data can found for Processes and Windows.
    ;
    ;
    ; Return Value(s): On Success - returns an Array (see below for $iOption method 5).
    ; $array[0][0] - number of Processes
    ; $array[x][0] - Processname
    ; $array[x][1] - ProcessId (if Process already exists, a new PId is given by this function)
    ; $array[x][2] - WindowTitle
    ; $array[x][3] - Windowhandle
    ; $array[x][4] - Windowstate
    ;
    ; On Failure - returns 0 and sets @error to 1.
    ;
    ; Note´s: For this Function, <Array.au3> & <Process.au3> must be included.
    ;
    ; Author(s): Stinger2K
    ;
    ;============================================================================================

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _PIdGetWindow($iPId,$iWndState=2,$iOption=2)
    Local $aResult[1]
    Local $var = _ProcessGetName($iPId)
    Local $test = ProcessExists($var)

    [/autoit] [autoit][/autoit] [autoit]

    If $test <> $iPId Then ; make sure that process exits once
    ProcessClose($var)
    EndIf
    ProcessWait($var)

    [/autoit] [autoit][/autoit] [autoit]

    Local $handle_name = WinList()

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $handle_name[0][0]
    ReDim $aResult[UBound($aResult) + 1][5]
    $aResult[UBound($aResult) - 1][0] = _ProcessGetName(WinGetProcess($handle_name[$i][1]))
    $aResult[UBound($aResult) - 1][1] = WinGetProcess($handle_name[$i][1])
    $aResult[UBound($aResult) - 1][2] = $handle_name[$i][0]
    $aResult[UBound($aResult) - 1][3] = $handle_name[$i][1]
    $aResult[UBound($aResult) - 1][4] = WinGetState($handle_name[$i][1])

    [/autoit] [autoit][/autoit] [autoit]

    If $aResult[$i][1] = $iPId and BitAND (WinGetState ($aResult[$i][3]),$iWndState) Then
    If $iOption=0 Then
    Return $aResult[$i][0] ; Processname
    ElseIf $iOption=1 Then
    Return $aResult[$i][1] ; new PID
    ElseIf $iOption=2 Then
    Return $aResult[$i][2] ; WindowTitle
    ElseIf $iOption=3 Then
    Return $aResult[$i][3] ; Windowhandle
    ElseIf $iOption=4 Then
    Return $aResult[$i][4] ; Windowstate
    EndIf
    Else
    EndIf
    Next
    If $iOption =5 Then
    _ArraySort($aResult)
    Return $aResult
    EndIf
    If $iOption >5 or $iOption <0 Then
    SetError(2)
    Return -2
    EndIf
    SetError(1)
    Return -1
    EndFunc ;==>PID2Window

    [/autoit]
  • Wie in Dos-Konsole text schreiben od. anzeigen

    • stinger2k
    • 10. August 2010 um 19:47

    ...

  • Wie in Dos-Konsole text schreiben od. anzeigen

    • stinger2k
    • 10. August 2010 um 13:40

    Hallo Leute,

    Komme bei einem kleinem Problem nicht mehr weiter:

    Habe ein kleines script welches ich mit parametern über die dos-konsole versorge (Bsp: test.exe -?)

    Nun wollte ich damit eine Ausgabe im Dos-Fenster erreichen in der Form: -? show´s this screen etc.

    Hab aber leider keinen Plan wie ich in die bereits-geöffnete Dos-Konsole schreiben kann.

    Das Programm sollte bei normalen Aufruf eine GUI starten und bei Aufruf über die Kommandozeile eine CUI.


    Wie kann ich das bewerkstelligen? (es sollte jedoch alles in diesem einen script ablaufen...) ????

  • Bitte testen... _PIdGetWindow

    • stinger2k
    • 16. Mai 2010 um 20:27

    Sinnvoll ist es wenn man aus der Registry Standardprogramme ausliest (z.B. _INetMail () macht das um den Standard-Mail-Client zu starten...).

    z.B.: möchte ich warten bis ein Fenster existiert (wobei ich den Titel oder Text des Fensters nicht wissen kann), um dann per Send("^v") eine Dateianlage zu übergeben.


    Bei mir funktioniert die Func nur dann einwandfrei, wenn die übergebene PID stimmt, was jedoch nicht der Fall ist wenn z.B. Outlook schon in einer Instanz offen ist... Dadurch wird auch kein passender Fensterhandle gefunden da die PID die mir bei Run() übergeben wird nicht existiert( kannst du probieren indem du die PId´s im Taskmanager vergleichst...)


    mit ProcessClose() möchte ich nur sicherstellen das keine Instanz mehr offen ist wenn das Programm startet - damit ich die richtige PId bekomme.


    PS: Danke, für deine Statement´s...

  • Bitte testen... _PIdGetWindow

    • stinger2k
    • 16. Mai 2010 um 19:58

    Das hatten wir erst gestern besprochen... ^^

    Weil bei bestimmten Programmen es vorkommt das sie zwar mit einer neuen PId starten, jedoch den gestarteten Prozess gleich wieder killen und nur ein neues Fenster unter der selben PId starten (Outlook, Explorer, etc...)

  • Bitte testen... _PIdGetWindow

    • stinger2k
    • 16. Mai 2010 um 19:44

    Hallo Leute,

    Das ist sozusagen der 1. Versuch einer Sinnvollen UDF. Bitte teilt mir eure Meinungen und ERfahrungen mit, auch wenn Sie nicht so schön sind... ^^

    Danke an alle...

    Hier die Func:

    Spoiler anzeigen
    [autoit]


    ;============================================================================================
    ;
    ; Function Name: _PIdGetWindow
    ; Description: Returns the Windowhandle(s) owned by the specified process (PId only !).
    ;
    ; Parameter(s): $iPid - the owner-PID.
    ;
    ; $iWndState - WindowState´s (default = active Windows) Option´s as shown
    ; by Helpfile for WinGetState()
    ;
    ; $iOption - Optional : return/search methods :
    ; 0 - returns Processname for the window declared at $iWndState.
    ; 1 - returns new PID for the Process.
    ; 2 - returns WindowTitle for matches in $iWndState(default).
    ; 3 - returns WindowHandle for matches in $iWndState.
    ; 4 - returns WindowState for specified PId.
    ; 5 - returns an Array with all Data can found for Processes and Windows.
    ;
    ;
    ; Return Value(s): On Success - returns an Array (see below for $iOption method 5).
    ; $array[0][0] - number of Processes
    ; $array[x][0] - Processname
    ; $array[x][1] - ProcessId (if Process already exists, a new PId is given by this function)
    ; $array[x][2] - WindowTitle
    ; $array[x][3] - Windowhandle
    ; $array[x][4] - Windowstate
    ;
    ; On Failure - returns 0 and sets @error to 1.
    ;
    ; Note´s: For this Function, <Array.au3> & <Process.au3> must be included.
    ;
    ; Author(s): Stinger2K
    ;
    ;============================================================================================

    [/autoit] [autoit][/autoit] [autoit]

    Func _PIdGetWindow($iPId, $iWndState = 2, $iOption = 2)
    Local $aResult[1]
    Local $var = _ProcessGetName($iPId)
    Local $test = ProcessExists($var)
    Local $handle_name = WinList()
    If $test <> $iPId Then ; make sure that process exits once
    ProcessClose($var)
    Sleep(1000)
    EndIf
    ProcessWait($var)
    For $i = 1 To $handle_name[0][0]
    ReDim $aResult[UBound($aResult) + 1][5]
    $aResult[UBound($aResult) - 1][0] = _ProcessGetName(WinGetProcess($handle_name[$i][1]))
    $aResult[UBound($aResult) - 1][1] = WinGetProcess($handle_name[$i][1])
    $aResult[UBound($aResult) - 1][2] = $handle_name[$i][0]
    $aResult[UBound($aResult) - 1][3] = $handle_name[$i][1]
    $aResult[UBound($aResult) - 1][4] = WinGetState($handle_name[$i][1])
    If $aResult[$i][1] = $iPId And BitAND(WinGetState($aResult[$i][3]), $iWndState) Then
    If $iOption = 0 Then
    Return $aResult[$i][0] ; Processname
    ElseIf $iOption = 1 Then
    Return $aResult[$i][1] ; new PID
    ElseIf $iOption = 2 Then
    Return $aResult[$i][2] ; WindowTitle
    ElseIf $iOption = 3 Then
    Return $aResult[$i][3] ; Windowhandle
    ElseIf $iOption = 4 Then
    Return $aResult[$i][4] ; Windowstate
    EndIf
    Else
    EndIf
    Next
    If $iOption = 5 Then
    _ArraySort($aResult)
    Return $aResult
    EndIf
    If $iOption > 5 Or $iOption < 0 Then
    Return -2
    EndIf
    SetError(1)
    Return -1
    EndFunc ;==>_PIdGetWindow

    [/autoit]
  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 22:18

    TaDaa ==> meins: :thumbup:

    [autoit]


    #include <Array.au3>
    #include <Process.au3>

    Global $aResult[1]

    $handle_name = WinList()

    For $i = 1 To $handle_name[0][0]
    ReDim $aResult[UBound($aResult) + 1][5]
    $aResult[UBound($aResult) - 1][0] = _ProcessGetName(WinGetProcess($handle_name[$i][1]))
    $aResult[UBound($aResult) - 1][1] = WinGetProcess($handle_name[$i][1])
    $aResult[UBound($aResult) - 1][2] = $handle_name[$i][0]
    $aResult[UBound($aResult) - 1][3] = $handle_name[$i][1]
    Next
    _ArraySort($aResult)
    _ArrayDisplay($aResult)

    [/autoit]
  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 20:46

    damit ich über die PID den WindowTitle und gleichzeitig das Handle ausfindig machen kann... Soll vielleicht mal eine UDF mit Sinn ergeben.

  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 20:24
    Zitat

    Lern lesen.... :rolleyes:

    Und nun ein beispielscript, damit du mich verstehst auf was ich hinaus will.

    Spoiler anzeigen
    [autoit]


    #include <Inet.au3>
    #include <Array.au3>
    Global $aResult[1]
    $var =_INetMail("", "", "")
    $pid_name = ProcessList ()
    $handle_name = WinList ()
    For $i = 1 to $pid_name[0][0]
    ReDim $aResult[UBound($aResult) + 1][4]
    $aResult[Ubound($aResult) - 1][0] = $handle_name[$i][0]
    $aResult[UBound($aResult) - 1][1] = $pid_name[$i][0]
    $aResult[UBound($aResult) - 1][2] = $handle_name[$i][1]
    $aResult[UBound($aResult) - 1][3] = $pid_name[$i][1]
    Next
    _ArrayDisplay($aResult)

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Nun möchte ich aber noch das die bezüge zu den einzelnen Fenstertiteln und Prozessen inkl. hWnd und PId im Array stimmen....

    Ich hoffe das war nun verständlich...

  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 17:37

    Ich brauche den Titel um mit WinWaitActive () darauf zuzugreifen...

    Hat jemand eine Idee, den in der Hilfe gibt es keine fertigen Funktionen um über die PId oder Hwnd an den Fenstertitel zu kommen...?

  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 16:35

    oh mir leider aucg nicht. Na dann....

    Jetzt muss ich nur noch zum Fenstertitel kommen damit ich überprüfen kann ob der gestartete Prozess aktiv und im Vordergrund ist...

  • InetMail() gibt unbekannte PID´s zurück ????

    • stinger2k
    • 2. Mai 2010 um 16:11

    Warum taucht die PID in dem von ProcessList() erstelltem Array nicht auf?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™