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

Beiträge von veronesi

  • Prozess überwachen

    • veronesi
    • 10. August 2010 um 15:09

    Perfekt! Super!

    Vielen Dank. Genau das wollte ich! :thumbup:

  • Prozess überwachen

    • veronesi
    • 10. August 2010 um 14:08

    Hat keiner eine Idee, wie man die Beschreibung der laufenden Prozesse auslesen könnte?
    Leider habe ich im englischen Forum auch (noch) nichts gefunden.

  • Prozess überwachen

    • veronesi
    • 6. August 2010 um 09:33

    Vielen Dank.
    Ja, ich könnte wirklich StringRegExp benutzen, um die Strings zu prüfen.

    Doch erst muss ich mal von allen laufenden Prozessen die Beschreibung auslesen können und diese dann per StringRegExp durchsuchen!

  • Prozess überwachen

    • veronesi
    • 6. August 2010 um 09:07

    Hallo zusammen,

    ja, ich habe die Suchfunktion benutzt, aber auf mein Problem noch keine Lösung gefunden!
    Ich möchte in einer Endlosschleife nach einem bestimmten Prozess ausschau halten. Sobald dieser existiert, muss ich gewisse Aktionen ausführen.

    Bis jetzt mache ich das so:

    [autoit]


    $PID = WinGetProcess("", "ERP Workspace")
    If $PID <> -1 AND WinExists("ERP 0408") Then XYZ

    [/autoit]

    Das Problem ist, ich darf bei WinGetProcess nicht auf einen bestimmten Titel gehen, weil der Benutzer die EXE umbenannt haben könnte (kommt wirklich vor!)
    Aber der Text ERP Workspace kommt in diesem Prozess vor und ist ja auch für den Benutzer unveränderlich.
    Leider reicht das noch nicht. Denn wenn nun jemand in ein Notepad diesen Text schreibt, wir ja auch meine Aktion ausgeführt!
    Deshalb noch die Abfrage WinExist!

    Doch wenn jemand dummerweise ein Fenster offen hat, welches auch so heisst, dann läuft das auch nicht 100% zuverlässig!

    Meine Frage nun: Wie kann ich die Beschreibung eines Prozesses (siehe Taskmanager) auslesen?
    Zusätzlich: Ich kenne einige Schlüsselwörter, die in der Prozessbeschreibung vorkommen müssen. Doch leider nicht am Stück!
    Also Z.B. ERP Workspace 07045 Process Update Manager Die Zahl kann aber immer ändern.

    Wie kann ich sowas überprüfen?

    Vielen Dank für alle Anregungen!
    Veronesi

  • SaveDialog in einer gelockten RDP-Session

    • veronesi
    • 26. Juli 2010 um 13:11

    Wenn Du über das "X" die RDP Session "schliesst", dann ist die Gegenstelle immer noch gesperrt.
    Vermutlich läuft deshalb das Script nicht richtig.

    Du musst also nur dafür sorgen, dass beim schliessen dieser Session der vorherige Benutzer wieder eingeloggt wird!

  • Programm De- und Installieren - Windows7

    • veronesi
    • 9. Juli 2010 um 09:32

    Zu 2. habe ich mal einen Beitrag geschrieben:

    Beitrag <klick mich>

  • Win32_DesktopMonitor

    • veronesi
    • 24. Juni 2010 um 13:30

    So, mit diesem Script (aus dem Link welchen Du mir genannt hast) funktioniert es nun!
    Ich muss einfach vorher unter Windows 7 folgende Befehle ausführen:

    [autoit]

    ShellExecuteWait(@WindowsDir & "\System32\DisplaySwitch.exe", "/extend")

    [/autoit]


    Damit werden alle Bildschirme neu eingelesen.
    (Hintergrund: bei mir werden im laufenden Betrieb neue Bildschirme angeschlossen und gewechselt. Wäre dies nicht der Fall, würde das Script auch ohne diese Zeile funktionieren)

    Script:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $aMonitor = _CI_GetMonitor()
    $hFile = FileOpen(@ScriptDir & '\!Monitor-Info.txt', 2)
    If $hFile <> -1 Then
    For $i = 0 To UBound($aMonitor) - 1
    $save = ''
    For $j = 0 To UBound($aMonitor, 2) - 1
    $save &= $aMonitor[$i][$j] & ' *** '
    Next
    FileWriteLine($hFile, $save)
    Next
    FileClose($hFile)
    EndIf
    _ArrayDisplay($aMonitor)

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

    Func _CI_GetMonitor($strComputer = '.')
    Switch @OSVersion
    Case 'WIN_VISTA', 'WIN_7'
    Local $sX64 = '', $iCount, $sHKLM, $sTmp, $sMfg, $sDeviceDesc, $sDPMS, $sClassGUID, $sHardwareID
    If @OSArch <> 'X86' Then $sX64 = '64'
    $sHKLM = 'HKEY_LOCAL_MACHINE' & $sX64
    $iCount = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\services\monitor\Enum', 'Count')
    Local $aMonitor[$iCount + 1][6] = [['Hersteller:', 'Modell:', 'DPMS-Untersützung:', 'Position (x, y):', 'akt. Auflösung:', 'max. Auflösung:']]
    For $i = 1 To $iCount
    $sTmp = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\services\monitor\Enum', $i - 1)
    $sMfg = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Enum\' & $sTmp, 'Mfg')
    $aMonitor[$i][0] = StringRegExpReplace($sMfg, '.+;(.+)', '$1')
    $sDeviceDesc = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Enum\' & $sTmp, 'DeviceDesc')
    $aMonitor[$i][1] = StringRegExpReplace($sDeviceDesc, '.+;(.+)', '$1')
    $sDPMS = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Enum\' & $sTmp & '\Device Parameters', 'DPMS')
    $aMonitor[$i][2] = StringMid('NeinJa', $sDPMS * 4 + 1, 4)
    $sClassGUID = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Enum\' & $sTmp, 'ClassGUID')
    $sHardwareID = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Enum\' & $sTmp, 'HardwareID')
    Local $iEnum = 0, $sTmpKey, $sMatchingDeviceId, $sConnectivity, $sRecent, $sMatchConfig, $j, $x, $y, $cx, $cy
    While True
    $sTmpKey = $sHKLM & '\SYSTEM\CurrentControlSet\Control\Class\' & $sClassGUID & '\' & StringRight('0000' & $iEnum, 4)
    $sMatchingDeviceId = RegRead($sTmpKey, 'MatchingDeviceId')
    If @error Then ExitLoop
    If $sMatchingDeviceId = $sHardwareID Then
    $aMonitor[$i][5] = StringReplace(RegRead($sTmpKey, 'MaxResolution'), ',', ' x ')
    $sConnectivity = RegEnumKey($sHKLM & '\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity', 1)
    $sRecent = RegRead($sHKLM & '\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity\' & $sConnectivity, 'Recent')
    $j = 0
    Do
    $j += 1
    $sMatchConfig = RegEnumKey($sHKLM & '\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\', $j)
    Until StringInStr($sMatchConfig, $sRecent) Or (@error <> 0)
    $sTmp = $sHKLM & '\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\' & $sMatchConfig & '\' & StringRight('00' & $i - 1, 2)
    $x = Number(String(RegRead($sTmp, 'Position.cx')))
    If $x > 2 ^ 31 Then $x = -BitXOR($x, 0xffffffff)
    $y = Number(String(RegRead($sTmp, 'Position.cy')))
    If $y > 2 ^ 31 Then $y = -BitXOR($y, 0xffffffff)
    $cx = RegRead($sTmp, 'PrimSurfSize.cx')
    $cy = RegRead($sTmp, 'PrimSurfSize.cy')
    $aMonitor[$i][4] = $cx & ' x ' & $cy
    $aMonitor[$i][3] = $x & ', ' & $y
    ExitLoop
    EndIf
    $iEnum += 1
    WEnd
    Next
    Return $aMonitor
    Case Else
    Local $aReturn[2][8] = [[ _
    'Hersteller:', 'Modell:', 'Breite (Pixel):', 'Höhe (Pixel):', _
    'Pixel pro Inch (X):', 'Pixel pro Inch (Y):', 'Monitorgröße (ca.):', 'PNPDeviceID:']]
    Local $x = 0, $objWMIService, $colItems, $Output
    $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\cimv2')
    If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DesktopMonitor', 'WQL', 0x30)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $x += 1
    ReDim $aReturn[$x + 1][8]
    $aReturn[$x][0] = $objItem.MonitorManufacturer
    $aReturn[$x][1] = $objItem.Name
    $aReturn[$x][2] = $objItem.ScreenWidth
    $aReturn[$x][3] = $objItem.ScreenHeight
    $aReturn[$x][4] = $objItem.PixelsPerXLogicalInch
    $aReturn[$x][5] = $objItem.PixelsPerYLogicalInch
    $aReturn[$x][6] = Round($objItem.ScreenWidth / ($objItem.PixelsPerXLogicalInch / 2.54), 2) & _
    ' x ' & Round($objItem.ScreenHeight / ($objItem.PixelsPerYLogicalInch / 2.54), 2) & ' cm²'
    $aReturn[$x][7] = $objItem.PNPDeviceID
    Next
    EndIf
    Return $aReturn
    EndSwitch
    EndFunc ;==>_CI_GetMonitor

    [/autoit]

    Vielen Dank!

  • Win32_DesktopMonitor

    • veronesi
    • 24. Juni 2010 um 11:39

    Dieser Beitrag endet leider im Januar mit mehr oder weniger dem Satz: "Ich geb's auf"...
    Und leider funktioniert das script von dort bei mir nicht auf allen Win7 PCs mit allen Grafikkarten. Das ist mein eigentliches Problem!

    Trotzdem danke für die Antwort.

    Das Tutorial werde ich gerne mal lesen. Aber ich habe nicht grosse Hoffnungen für mich. (Bin eigentlich kein Programmierer) Und ich habe noch nicht mal herausgefunden war für ein Datentyp der Rückgabewert hat.....

    Wäre um Hilfe echt froh und dankbar!
    Veronesi

  • Win32_DesktopMonitor

    • veronesi
    • 24. Juni 2010 um 11:30

    Hallo zusammen,

    ich möchte gerne mit AutoIt diverse Informationen zu den angeschlossenen Bildschirmen auslesen. (Mehrere Monitore)
    Mit ein bisschen suchen bin ich auf diese Seite gestossen: MSDN

    Leider kenne ich mich in AutoIt überhaupt nicht aus, wie man eine DLL ansteuert. Da habe ich regelmässig Probleme. Ich kriege es einfach nicht hin.
    Könnte mir jemand helfen?

    Ich weiss einfach dass bei mir die Availability auf 3 stehen müsste.
    Zurückbekommen möchte ich von der Funktion den ConfigManagerErrorCode ob er korrekt initialisiert wurde, sowie den String von MonitorType

    Dazu benötigt man die Cimwin32.dll. Aber ich steh echt auf dem Schlauch, wie ich das auslesen könnte!

    Vielen Dank für Eure Hilfen!
    Veronesi

  • UNC Pfad

    • veronesi
    • 22. Juni 2010 um 12:46

    Wenn die Variable $iBuffer auf 500 setze, dann bekomme ich keine Fehlermeldung mehr zurück. Doch der Rückgabewert ($Filename) ist immer gleich 0.
    Was stimmt hier nicht?

    Spoiler anzeigen
    [autoit]

    Func UNCPath()
    Local $Filename, $tmp, $last

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

    If WinActive("[CLASS:CabinetWClass]") = 0 Then Return -1 ;Return if not the Windows Explorer Windows is active!
    _ClipBoard_Empty() ;Clears Clipboard
    Send("^c") ;Ctrl + C
    While 1 ;Wait till Clipboard is captured (with Ctrl+C)
    $tmp = _ClipBoard_GetData(15) ;Get Clipboard Header Data
    If $tmp <> "" Then ExitLoop
    WEnd
    $tmp = BinaryToString($tmp, 2) ;Converts binary to String
    $tmp = StringTrimLeft($tmp, 10)
    $last = StringInStr($tmp, Chr(0), 1)
    If $last Then $Filename = StringLeft($tmp, $last -1) ;Filename contains now Path and filename, but not in UNC
    $Filename = _WinNet_LetterToUNC(StringLeft($Filename, 3))
    _ClipBoard_SetData($Filename)
    MsgBox(0,"",$Filename)
    EndFunc ;==>UNCPath

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

    Func _WinNet_LetterToUNC($sDriveLetter)
    ; Author: ProgAndy
    Local Static $sizeNETRESOURCE = DllStructGetSize(DllStructCreate($tagNETRESOURCE, 1))
    $sDriveLetter = StringLeft($sDriveLetter, 1)&':'
    Local $hEnum, $nStatus, $iCount, $iBuffer = 500, $tBuffer, $pBuffer, $iLen, $sLocalName, $tString, $pString, $tNETRESOURCE, $sRemoteName

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

    If DriveStatus($sDriveLetter) = 'INVALID' Then Return SetError(1,0,'')
    If Not _WinNet_OpenEnum(0, 0, 0, 0, $hEnum) or $hEnum=0 Then Return SetError(2,0,'')

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

    $iCount = -1
    _WinNet_EnumResource($hEnum, $iCount, 0, $iBuffer)
    If $iBuffer = 0 Then Return SetError(3,0,0)
    $tBuffer = DllStructCreate("byte[" & $iBuffer+1 & ']')
    $pBuffer = DllStructGetPtr($tBuffer)

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

    $iCount = -1
    If _WinNet_EnumResource($hEnum, $iCount, $pBuffer, $iBuffer) Then
    For $i = 0 To $iCount-1
    $tNETRESOURCE = DllStructCreate($tagNETRESOURCE, $pBuffer+$i*$sizeNETRESOURCE)

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

    $pString = DllStructGetData($tNETRESOURCE, 'LocalName')
    $iLen = DllCall("kernel32.dll", "int", "lstrlenW", "ptr", $pString)
    If Not @error Then $iLen = $iLen[0]
    $sLocalName = DllStructGetData(DllStructCreate("wchar[" & $iLen & "]", $pString), 1)

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

    If StringLeft($sLocalName, 2) = $sDriveLetter Then
    $pString = DllStructGetData($tNETRESOURCE, 'RemoteName')
    $iLen = DllCall("kernel32.dll", "int", "lstrlenW", "ptr", $pString)
    If Not @error Then $iLen = $iLen[0]
    $sRemoteName = DllStructGetData(DllStructCreate("wchar[" & $iLen & "]", $pString), 1)
    _WinNet_CloseEnum($hEnum)
    Return $sRemoteName
    EndIf
    Next
    EndIf
    _WinNet_CloseEnum($hEnum)
    EndFunc

    [/autoit]
  • UNC Pfad

    • veronesi
    • 17. Juni 2010 um 10:51

    Also, hab's nun so gemacht:
    $ret = _WinNet_LetterToUNC("R:\")
    MsgBox(0, "", $ret & @CRLF & "error: " & @error)

    $ret war = 0 und @error war = 3

  • UNC Pfad

    • veronesi
    • 17. Juni 2010 um 10:32

    @progandy
    Vielen Dank für die Funktion. Leider bekomme ich immer 0 zurück!
    Hier meine Versuche:

    Spoiler anzeigen
    [autoit]

    Func UNCPath()
    Local $Filename, $tmp, $last

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

    If WinActive("[CLASS:CabinetWClass]") = 0 Then Return -1 ;Return if not the Windows Explorer Windows is active!
    _ClipBoard_Empty() ;Clears Clipboard
    Send("^c") ;Ctrl + C
    While 1 ;Wait till Clipboard is captured (with Ctrl+C)
    $tmp = _ClipBoard_GetData(15) ;Get Clipboard Header Data
    If $tmp <> "" Then ExitLoop
    WEnd
    $tmp = BinaryToString($tmp, 2) ;Converts binary to String
    $tmp = StringTrimLeft($tmp, 10)
    $last = StringInStr($tmp, Chr(0), 1)
    If $last Then $Filename = StringLeft($tmp, $last -1) ;Filename contains now Path and filename, but not in UNC
    $Filename = _WinNet_LetterToUNC(StringLeft($Filename, 3))
    _ClipBoard_SetData($Filename)
    MsgBox(0,"",$Filename)
    EndFunc ;==>UNCPath

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

    Func _WinNet_LetterToUNC($sDriveLetter)
    ; Author: ProgAndy
    Local Static $sizeNETRESOURCE = DllStructGetSize(DllStructCreate($tagNETRESOURCE, 1))
    $sDriveLetter = StringLeft($sDriveLetter, 1)&':'
    Local $hEnum, $nStatus, $iCount, $iBuffer, $tBuffer, $pBuffer, $iLen, $sLocalName, $tString, $pString, $tNETRESOURCE, $sRemoteName

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

    If DriveStatus($sDriveLetter) = 'INVALID' Then Return SetError(1,0,'')
    If Not _WinNet_OpenEnum(0, 0, 0, 0, $hEnum) or $hEnum=0 Then Return SetError(2,0,'')

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

    $iCount = -1
    _WinNet_EnumResource($hEnum, $iCount, 0, $iBuffer)
    If $iBuffer = 0 Then Return SetError(3,0,0)
    $tBuffer = DllStructCreate("byte[" & $iBuffer+1 & ']')
    $pBuffer = DllStructGetPtr($tBuffer)

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

    $iCount = -1
    If _WinNet_EnumResource($hEnum, $iCount, $pBuffer, $iBuffer) Then
    For $i = 0 To $iCount-1
    $tNETRESOURCE = DllStructCreate($tagNETRESOURCE, $pBuffer+$i*$sizeNETRESOURCE)

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

    $pString = DllStructGetData($tNETRESOURCE, 'LocalName')
    $iLen = DllCall("kernel32.dll", "int", "lstrlenW", "ptr", $pString)
    If Not @error Then $iLen = $iLen[0]
    $sLocalName = DllStructGetData(DllStructCreate("wchar[" & $iLen & "]", $pString), 1)

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

    If StringLeft($sLocalName, 2) = $sDriveLetter Then
    $pString = DllStructGetData($tNETRESOURCE, 'RemoteName')
    $iLen = DllCall("kernel32.dll", "int", "lstrlenW", "ptr", $pString)
    If Not @error Then $iLen = $iLen[0]
    $sRemoteName = DllStructGetData(DllStructCreate("wchar[" & $iLen & "]", $pString), 1)
    _WinNet_CloseEnum($hEnum)
    Return $sRemoteName
    EndIf
    Next
    EndIf
    _WinNet_CloseEnum($hEnum)
    EndFunc

    [/autoit]
  • UNC Pfad

    • veronesi
    • 17. Juni 2010 um 09:54

    OK.
    Ich bekomme den Pfad der markierten Datei im Array. Das ist ja korrekt. Einfach von diesem muss ich noch irgendwie auf den UNC Pfad kommen. (Siehe Bild)

    Aber leider schnalle ich nicht, warum man diesen Header dann noch beschneiden muss, um an den Pfad zu kommen. Stehen dann in diesem Header diese Informationen? Und woher weiss ich das? Wieviele Zeichen? Wo findet man das?

    Danke für weitere Infos!

    Bilder

    • Array.jpg
      • 23,09 kB
      • 438 × 162
  • UNC Pfad

    • veronesi
    • 17. Juni 2010 um 08:41
    Zitat von Andy

    veronesi
    auf allen Freigaben im Netz bekomme ich den UNC-Pfad zurück. Wenn du auf der lokalen Maschine arbeitest, dann werden allerdings auch die lokalen Dateinamen zurückgegeben. Aber wo ist das Problem, die Rückgabe am Anfang auf \\ zu testen und dann den Servernamen davorzuhängen?

    Ich arbeite auch im Netzwerk. Und ich bekomme immer den Pfad zurück (U:\2_Projekte\AutoIt\Testscript.au3) Aber leider ist das nicht der UNC Pfad.
    Das Problem liegt darin, dass bei verschiedenen Leuten die Serverpfade nicht zwingend auf die gleichen Laufwerksbuchstaben gemappt sind. Deshalb benötige ich die UNC Pfade.
    Und "einfach" den Servernamen davorzusetzen geht auch nicht, weil ich den dann ja nicht kenne.
    Wir haben hier 72 verschiedene Server in einem Cluster. Da kann jedes Verzeichnis (auch wenn es für den Benutzer auf der gleichen Freigabe ist) von einem anderen Server stammen!

  • UNC Pfad

    • veronesi
    • 17. Juni 2010 um 08:19

    Hallo!
    Vielen Dank!!
    Es funktioniert fast :)

    Ich bekomme nun den ganzen Pfad mit Dateiname. Aber eigentlich wollte ich den UNC Pfad.
    Also \\Servername\Freigabe\Pfad1\Pfad2\Dateiname.ext
    Wie komme ich nun an den ran? Aber das ist schon mal genial!

    Nur habe ich leider überhaupt nicht verstanden, wie das funktioniert!
    Könnte mir das jemand erklären?

    Hier der Code:

    Spoiler anzeigen
    [autoit]

    Func UNCPath()
    Local $Filename, $tmp, $last

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

    If WinActive("[CLASS:CabinetWClass]") = 0 Then Return -1 ;Return if not the Windows Explorer Windows is active!
    _ClipBoard_Empty() ;Clears Clipboard
    Send("^c") ;Ctrl + C
    While 1 ;Wait till Clipboard is captured (with Ctrl+C)
    $tmp = _ClipBoard_GetData(15)
    If $tmp <> "" Then ExitLoop
    WEnd
    $tmp = BinaryToString($tmp, 2) ;Converts binary to String
    $tmp = StringTrimLeft($tmp, 10) ;Why this?
    $last = StringInStr($tmp, Chr(0), 1) ;Why this?
    If $last Then $Filename = StringLeft($tmp, $last -1) ;Why this?
    _ClipBoard_SetData($Filename)
    ;~ MsgBox(0,"",$Filename)
    EndFunc ;==>UNCPath

    [/autoit]
  • UNC Pfad

    • veronesi
    • 16. Juni 2010 um 15:27

    *hust* und nun?
    Leider kann ich damit nichts anfangen. Ich finde keinerlei Informationen zur markierten Datei!

    Dateien

    Au3Info.jgp.JPG 133,52 kB – 0 Downloads
  • Hängen in einer Schleife.....

    • veronesi
    • 16. Juni 2010 um 14:56
    Zitat von LuZ1F3R

    hmm werd ich die tage ma versuchen.

    aber ist dieses GUISetOnEvent auch für normale buttons nutzbar? ich hatte in der referenz nur allgemeine dinge wie maximieren, minimieren, cancel und mausaktionen gesehen. is mein erstes autoit script, daher bitt ich um nachsicht :D


    Ja, sicher geht das!
    Du brauchst einfach

    [autoit]

    Opt("GUIOnEventMode", 1) ;Enable events on GUI

    [/autoit]

    und

    [autoit]

    GUICtrlSetOnEvent($bButtonXYZ, "_FuncXYZ")

    [/autoit]

    Sobald dieser entsprechende Button gedrückt ist, springt AutoIt automatisch in die Subfunktion. Einfacher gehts' dann nicht mehr!

  • UNC Pfad

    • veronesi
    • 16. Juni 2010 um 12:39

    Hat jemand eine Idee, wie ich den UNC Pfad einer gerade im Windows Explorer herausfinden kann?
    Oder zumindestens irgendwelche Informationen über die markierte Datei?

  • Hängen in einer Schleife.....

    • veronesi
    • 16. Juni 2010 um 12:32

    Nimm mal die #include Zeile bei Button1 und Button2 raus und füge diese einmal oben (bei den anderen Includes) ein.

    Zudem würde ich generell - wenn Du schon die GUIGetMsg() Funktion verwenden möchtest - in den Cases nur Subfunktionen aufrufen.
    Das macht das ganze viel übersichtlicher!

    Oder verwende gleich die GUISetOnEvent Funktion!

  • Stoppuhr - Verbesserungsvorschläge

    • veronesi
    • 15. Juni 2010 um 21:38

    Hallo Oscar!

    Vielen Dank!
    Nun habe ich auch die Funktionen Int und Mod kennen gelernt! Super!

    Auch das StringFormat habe ich nun (mindestens im Ansatz) begriffen!
    Danke!

    Gruss
    Veronesi

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™