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. RapaNui

Beiträge von RapaNui

  • Process Information

    • RapaNui
    • 24. Januar 2007 um 07:40

    Das Ding scheint ja zu laufen, 6 downloads
    Nix für ungut, gern geschehen
    Saludos de Chile

  • Brauche Hilfe

    • RapaNui
    • 20. Januar 2007 um 02:56

    Hallo @Dustin.

    ein anderer Tip von mir

    benutze:

    [autoit]

    ShellExecute("http://www.blablabla.de/")

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

    ; und Du kannst Dir all das hier sparen
    ; Run("C:\Programme\Mozilla Firefox\firefox.exe")
    ; WinWaitActive("Mozilla Firefox")
    ; Sleep(500)
    ; Send("http://www.ogame.de/", 1)

    [/autoit]

    Ein weiterer Vorteil liegt darin, dass diese Anweisung den "voreingestellten Browser" lädt und nicht auf Pfad-Angaben angewiesen ist

    [Edit]
    Was sind ListView...
    gehe in Dein AutoIt-Installationsverzeichnis
    %ProgramFiles%\Examples\Helpfile\ ...
    suche Die die Einträge über _GUICtrlListView......au3 und arbeite sie der Reihe nach ab (Doppelklick) und sieh Dir den Source-Code an, so solltest Du poco a poco dahinterkommen, was ListView sind und wie sie funktionieren.
    Nebenher natürlich nicht die AutoIt Help vernachlässigen.


    Saludos de Chile

  • Process Information

    • RapaNui
    • 18. Januar 2007 um 05:40

    Hi Spider,
    wirklich nettes Script, gefällt mir gut.
    Ich hab mal ein wenig mircosofiert :lol: und einiges über WMI nachgelesen. Wenn man "winmgmts:\\localhost\root\CIMV2" abfragen will, dann geht dies auch in der Kurzform ObjGet("winmgmts:")
    Der ganze Stoff und Deine geniale Idee hat mich dann dazu veranlasst folgende UDF zu schreiben.

    Spoiler anzeigen
    [autoit]


    #include-once
    Func _ProcessInfo($iPID="0",$iFlag="0")
    ; ------------------------------------------------------------------------------
    ; Include Version:1.00 (17/01/2007)
    ; AutoIt Version: 3.2.2.0
    ; Author Wilfried Stenzel (Chile)
    ; Language: English
    ; Description - Returns a array containing the process, PID, Priority, Threats, ExecutablePath ...
    ; if no entries $array[0][0] = 0
    ; Syntax - _ProcessInfo($iPID,$iFlag)
    ; Parameters - $iPID - "0" (default) = currently running processes
    ; - by PID = the Process-ID of the process to check
    ; - by name = the name of the process to check
    ; $iFlag - "0" (default) = Shortlist (only WMI)
    ; $iFlag - "1" = Longlist (WMI + FileVersion, CompanyName, FileDescription, ProductName)
    ; Requirements - None.
    ; Return Values - Success - The array of the process(es)
    ; The array returned is two-dimensional and is made up as follows:
    ; $array[0][0] = Number of processes
    ; $array[1][0] = Process name
    ; $array[1][1] = Process ID (PID) as string
    ; $array[1][2] = Process ID (PID) as uint32 Global process identifier that you can use to identify a process
    ; $array[1][3] = Priority (32=normal/64=high/128/256=realtime as uint32 The higher the value, the higher priority a process receives
    ; $array[1][4] = Threat Count Number of active threads in a process
    ; $array[1][5] = Executable Path, base for 7 - 10
    ; $array[1][6] = CommandLine (Command line used to start a specific process, if applicable. This property is new for Windows XP.
    ; $array[1][7] = the "File" version information returns -1 if file not exist /returns "0.0.0.0" if no version information
    ; returns -1 if file not exist /returns "0.0.0.0" if no version information
    ; $array[1][8] = the "File" CompanyName like "Microsoft Corporation
    ; $array[1][9] = the "File" Description see more en FileGetVersion
    ; $array[1][10] = the "File" ProductName
    ;
    ; $array[n][0] = nth Process name
    ; ...
    ; Notes - http://msdn2.microsoft.com/en-us/library/aa394372.aspx about WMI
    ;====================================================================================

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

    Local $iWMIService,$iWMIItems,$iPInfo[1][11],$iSelect = "SELECT * FROM Win32_Process"
    If $iPid = "0" Then
    $iSelect = "SELECT * FROM Win32_Process"
    Else
    If Mod($iPid,$iPid) = 0 Then
    $iSelect &= " WHERE ProcessId = " & $iPID
    Else
    $iSelect &= " WHERE Name = '" & $iPID &"'"
    EndIf
    EndIf
    $iWMIService = ObjGet("winmgmts:")
    $iWMIItems = $iWMIService.ExecQuery ($iSelect)
    If IsObj($iWMIItems) Then
    For $i In $iWMIItems
    ReDim $iPInfo[UBound($iPInfo)+1][UBound($iPInfo,2)]
    $iPInfo[0][0] = $iPInfo[0][0]+1
    $iPInfo[$iPInfo[0][0]][0] = $i.Name ; ProcessName string
    $iPInfo[$iPInfo[0][0]][1] = $i.Handle ; ProcessID string
    $iPInfo[$iPInfo[0][0]][2] = $i.ProcessId ; ProcessID uint32
    $iPInfo[$iPInfo[0][0]][3] = $i.Priority ; Priority uint32
    $iPInfo[$iPInfo[0][0]][4] = $i.ThreadCount ; ThreatCount uint32
    $iPInfo[$iPInfo[0][0]][5] = $i.ExecutablePath ; ExecutablePath string
    If @OSType ="WIN32_WINDOWS" Then
    $iPInfo[$iPInfo[0][0]][6] = " *** Not supported on Windows 95/98/ME ***"
    Else
    $iPInfo[$iPInfo[0][0]][6] = $i.CommandLine
    EndIf
    If $iFlag=1 Then
    If FileExists($iPInfo[$iPInfo[0][0]][5]) Then
    $iPInfo[$iPInfo[0][0]][7] = FileGetVersion($iPInfo[$iPInfo[0][0]][5])
    $iPInfo[$iPInfo[0][0]][8] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"CompanyName")
    $iPInfo[$iPInfo[0][0]][9] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"FileDescription")
    $iPInfo[$iPInfo[0][0]][10] = FileGetVersion($iPInfo[$iPInfo[0][0]][5],"ProductName")
    Else
    $iPInfo[$iPInfo[0][0]][7] = -1
    EndIf
    EndIf
    Next
    EndIf
    Return $iPInfo
    EndFunc ;==>_ProcessInfo

    [/autoit]


    Ich liefere da zwar keine Fenstertitel oder Win-Handle, dafür aber neben dem Path auch die CMDLine (ab XP) sowie einige Versionsinfo, sofern vorhanden.
    Achja, die Infos sind jederzeit erweiterbar, ARRAY heraufsetzen und weitere Abfragen einfüllen
    Das Script müsste (no se nada seguro) auch unter NT 4.0 ohne PSAPI.DLL laufen, da funz ja bekanntlich der ProcessExist nur mit der DLL

    Saludos de Chile
    Willie

    P.S. Ich hoffe die Beschreibung ist ok so, mein Englisch ist absolut miserabel, bevorzuge lieber Spanisch

    Edit: hab die UDF als Datei angehangen, der Einfachheit halber

    Dateien

    _ProcessInfo.au3 4,15 kB – 489 Downloads
  • Doppelklick (noch ne Lösung?)

    • RapaNui
    • 7. Dezember 2006 um 00:01

    Hi und Hallo,
    möchte nur schnell Danke sagen

    Saludos de Chile
    Willie

  • Doppelklick (noch ne Lösung?)

    • RapaNui
    • 4. Dezember 2006 um 00:17

    Hi und Hallo
    Danke für den Hinweis auf eine weitere Möglichkeit des Doppelklick.

    Dennoch bleibt meine Frage unbeantwortet.

    Funktioniert diese (meine Möglichkeit) nur auf meinem ME-System oder klappt das auch auf XP etc...

    Saludos de Chile
    Willie

  • Doppelklick (noch ne Lösung?)

    • RapaNui
    • 3. Dezember 2006 um 04:56

    Hallo an alle AutoIt-Fanatiker und liebe Grüße aus Chile-

    Seit kurzem beschäftige ich mich mit AutoIt und bin - natürlich - dabei auch auf Eure Seite gelangt. Das Thema Doppelklick wurde mehrfach angesprochen und doch, irgendwie, nie so richtig gelöst. Beim Spielen mit AutoIt ist mir aber aufgefallen, dass die List- / ListView aus selektieren und fokusieren besteht, also 2 Klicks.....
    O.K. lange Rede kurzer Sinn, ich hab mal eine Spiel-Gui gebaut, bei der der Doppelklick funktioniert. Jetzt weiß ich aber nicht ob das eine Eigenart bei ME (Muy Extraño - ich weiß :rolleyes:) ist, oder ob das bei Xp usw. auch funktioniert...
    Hier kommt mal der Code:

    Spoiler anzeigen
    [autoit]

    <GUIConstants.au3>
    #Include <GuiListView.au3>
    #include <GuiList.au3>
    ;~ /======== Doppelklick-Spiel-GUI ========\
    ;~ /======== AutoIt-Vers.: v3.2.0.1 ========\
    ;~ /======== Hinweis: die Anwendung läuft ohne Checkbox/TreeView ========\
    ;~ /======== dazu mÇussten mehr Abfragen eingebaut werden ========\
    ;~ /======== Saludos de Chile / Willie ========\
    Opt ('MustDeclareVars', 1)

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

    Dim $msg,$Liste,$ListView, $Ausgang,$BTN1,$BTN2,$CurPos
    GUICreate("Doppelklick die Lösung ?", 400, 230, -1, -1)
    $Liste = GUICtrlCreateList("", 25, 40, 100, 120,$LBS_MULTIPLESEL)
    GUICtrlCreateLabel("List",55,20,40,20)
    GUICtrlSetFont(-1,11)
    GUICtrlSetData($Liste, "Listeintrag 1|Listeintrag 2|Listeintrag 3|º(·¿·)º|";)
    $ListView = GUICtrlCreateListView("List-View| ...", 140, 19, 200, 130)
    _GUICtrlListViewSetColumnWidth ($ListView, 0, 150)
    GUICtrlCreateListViewItem("List-View-Eintrag 1|(·¿·)", $ListView)
    GUICtrlCreateListViewItem("List-View-Eintrag 2|(·¡-)", $ListView)
    GUICtrlCreateListViewItem("List-View-Eintrag 3|(º.º)", $ListView)
    GUICtrlCreateListViewItem("List-View-Eintrag 4|(_º_)", $ListView)
    $Ausgang = GUICtrlCreateButton("E X I T", 360, 22, 20, 130,-1,$WS_EX_DLGMODALFRAME )
    GUICtrlSetStyle($Ausgang,$SS_Center+$BS_MULTILINE )
    $BTN1 = GUICtrlCreateButton("Liste Sel.", 25, 160, 100, 25)
    $BTN2 = GUICtrlCreateButton("ListView Sel.", 240, 160, 100, 25)
    GUISetState()
    While 1
    $msg = GUIGetMsg(1)
    Select
    Case $msg[0] = $GUI_EVENT_CLOSE Or $msg[0] =$Ausgang
    ExitLoop
    Case $msg[0] = $GUI_EVENT_PRIMARYUP
    ;~ ==== Doppelklick (linke Maustaste) abprüfen ===
    ;~ ==== ACHTUNG: das funktioniert nicht mit CHeckbox/Trees ===
    $CurPos=GUIGetCursorInfo()
    Select
    Case $CurPos[4] = $Liste
    _GetListe()
    Case $CurPos[4] = $ListView
    _GetListView()
    EndSelect
    Case $msg[0] = $BTN1
    $CurPos=GUIGetCursorInfo()
    _GetListe()
    Case $msg[0] = $BTN2
    $CurPos=GUIGetCursorInfo()
    _GetListView()
    EndSelect
    WEnd

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

    Func _GetListe()
    Local $AnzSelect,$AnzTotal,$text,$cnt,$cntT
    ;~ == Liste muss MultiSel sein (ob das sinnvoll ist bei Doppelklick?) ===
    $AnzSelect=_GUICtrlListGetSelCount($Liste) ; === ausgewählte ===
    $AnzTotal =_GUICtrlListCount($Liste) ; === Gesamteintrsg Liste ===
    $Text ="ausgewählte Einträge = "&$AnzSelect&" von Total = "&$AnzTotal&@cr
    $cnt = _GUICtrlListGetSelItems($Liste) ; === Num ausgewählte ===
    $cntT = _GUICtrlListGetSelItemsText($Liste) ; === Text ausgewählte ===
    If Not IsArray($cnt) Then ; Liste meldet immer Array
    msgbox(16,"Liste-Auswahl","keine Daten selektiert";)
    Return
    EndIf
    If $CurPos[4] = $BTN1 Then ; Info aus GUIGetCursorInfo()
    $text=$text&"*** manuelle Auswahl ***"&@cr&@cr
    Else
    $text=$text&"*** Doppelklick ***"&@cr&"------------------------"&@cr
    EndIf
    For $i = 1 To $cnt[0]
    $text=$text&$cnt[$i]&". "&$cntT[$i]&@cr
    Next
    MsgBox(0, "Liste-Auswahl: ",$text)
    EndFunc

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

    Func _GetListView()
    Local $SatzSelect,$AnzTotal,$text
    ;~ ListView, wegen Doppelklick kein Status: MultiSel ! ===
    $SatzSelect=_GUICtrlListViewGetCurSel($ListView) ; === ausgewählter Satz ===
    If $SatzSelect = $LV_Err Then
    msgbox(16,"List-View-Auswahl","keine Daten selektiert";)
    Return
    EndIf
    $AnzTotal =_GUICtrlListViewGetItemCount($ListView) ; === Gesamteinträge ListView ===
    $Text ="ausgewählter Eintrag = "&$SatzSelect&" von Total = "&$AnzTotal&@cr
    If $CurPos[4] = $BTN2 Then
    $text=$text&"*** manuelle Auswahl ***"&@cr&@cr
    Else
    $text=$text&"*** Doppelklick ***"&@cr&"------------------------"&@cr
    EndIf
    $text=$text&$SatzSelect&". "&_GUICtrlListViewGetItemText($ListView,$SatzSelect)
    MsgBox(0, "List-View-Auswahl: ",$text)
    EndFunc

    [/autoit]

    Auch hier der Hinweis: Die List/ListView arbeitet ohne Checkbox/TreeView. Sollte dies gewünscht werden müssen weitere Abfragen eingebaut werden, da diese Anweisungen den Klick sofort erkennen.

    Freu mich auf Eure Antworten, hoffentlich positiv
    Saludos de Chile
    Willie

    (3x editiert unde jetzt klappts auch mit dem Spoiler/Autoit)

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™