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

Beiträge von Bitnugger

  • Bug in aktueller Autoit Version Makro ?

    • Bitnugger
    • 26. März 2018 um 21:28
    Code
    ; #AutoIt3Wrapper_UseX64=n
    ; @ProgramFilesDir            = C:\Program Files (x86)
    ; EnvGet("ProgramFiles")      = C:\Program Files (x86)
    ; EnvGet("ProgramFiles(x86)") = C:\Program Files (x86)
    
    ; #AutoIt3Wrapper_UseX64=y
    ; @ProgramFilesDir            = C:\Program Files
    ; EnvGet("ProgramFiles")      = C:\Program Files
    ; EnvGet("ProgramFiles(x86)") = C:\Program Files (x86)
  • Bug in aktueller Autoit Version Makro ?

    • Bitnugger
    • 26. März 2018 um 21:13

    Normalerweise wird das Script als 32-Bit-Version ausgeführt/kompliert, wenn du es bei der Installation nicht anders angegeben hast. Auf einem 32-Bit-Windows verweist @ProgramFilesDir auf C:\Program Files, auf einem 64-Bit-Windows aber auf C:\Program Files (x86). Wird das Script als 64-Bit-Version ausgeführt/kompliert, verweist @ProgramFilesDir auf C:\Program Files.

    Diese beiden Verzeichnisse bekommst du auf einem 64-Bit-Windows aber auch mit dem Set-Befehl angezeigt:

    ProgramFiles=C:\Program Files

    ProgramFiles(x86)=C:\Program Files (x86)

    Steuern kannst du das mit diesen Direktiven, die du an den Anfang deines Scripts schreibst:

    #AutoIt3Wrapper_UseX64=                         ;(Y/N) Use AutoIt3_x64 or Aut2Exe_x64. Default=N

    #AutoIt3Wrapper_Compile_both=                   ;(Y/N) Compile both X86 and X64 in one run. Default=N

    Code
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Compile_Both=y
    #AutoIt3Wrapper_UseX64=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    ConsoleWrite('@ProgramFilesDir = ' & @ProgramFilesDir & @CRLF)
  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 21. März 2018 um 17:35
    Zitat von alpines

    Wenn in [0] die Anzahl steht dann meinst du doch sicherlich For $i = 1 To $aRechner[0].

    Ja, habe es bereits gesehen und korrigiert... im Script hatte ich es aber richtig.

  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 21. März 2018 um 17:28
    AutoIt
    Local $aRechner = StringSplit(getData(), ",")

    StringSplit liefert dir im ersten Index die Anzahl der Splits, wenn du das Flag $STR_NOCOUNT nicht als dritten Parameter mit angibst... in dem Fall sollte Zeile 38 so aussehen...

    Code
    For $i = 1 To $aRechner[0] ; [$i] ist hier völliger Quatsch!!!

    Hier das korrigierte Script:

    C
    ;-- TIME_STAMP   2018-03-21 17:23:17   v 0.1
    
    #RequireAdmin
    
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Change2CUI=y
    #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
    #AutoIt3Wrapper_Add_Constants=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    #Region ;**** Includes ****
    #include-once
    #include <MsgBoxConstants.au3>
    #include <StringConstants.au3>
    #include <File.au3>
    #include <WinHttp.au3>
    #EndRegion ;**** Includes ****
    
    If Not IsAdmin() Then Exit MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL, $MB_TOPMOST), @ScriptName, "Das Skript muss mit Adminrechten gestartet werden!")
    
    If Not HotKeySet("{ESC}", _Exit) Then Exit MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL, $MB_TOPMOST), @ScriptName, "Globales HotKey 'ESC' konnte nicht gesetzt werden!")
    
    Global $g_sLogFile = @ScriptDir & "\CheckBootUp.txt"
    
    While 1
        _CheckBootUp()
        Sleep(1 * 1000)    ; 1000 ms = 1 Sekunde
    WEnd
    
    Func _CheckBootUp()
        Local $oHTTP, $sData, $aRechner, $hFile
    
        $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
        $oHTTP.Open("POST", "http://sdestapp3:89/request.php", False)
        $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    
        $sData = "id=getRechner"
        $oHTTP.Send($sData)
        If Not @error And $oHTTP.Status = $HTTP_STATUS_OK Then Then
            $aRechner = StringSplit($oHTTP.ResponseText, ",")
            $hFile = FileOpen($g_sLogFile, BitOR($FO_ANSI, $FO_APPEND))
            For $i = 1 To $aRechner[0]
                If $aRechner[$i] <> '' Then
                    ConsoleWrite(@HOUR & ":" & @MIN & ":" & @SEC & " " & 'Ping ' & $aRechner[$i] & " " & @CRLF)
                    Ping($aRechner[$i], 300)
                    If @error Then
                        ConsoleWrite("Offline" & @CRLF)
                        FileWrite($hFile, StringFormat('%s-%s-%s %s:%s:%s\t%s;%s;%s;%s;%s', _
                            @YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC, $aRechner[$i], '', '', 'offline', '') & @CRLF)
                        $sData = StringFormat('id=setRechnerdaten&data=%s;%s;%s;%s;%s', $aRechner[$i], '', '', 'offline', '')
                    Else
                        ConsoleWrite("Online" & @CRLF)
                        FileWrite($hFile, StringFormat('%s-%s-%s %s:%s:%s\t%s;%s;%s;%s;%s', _
                            @YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC, $aRechner[$i], _GetUserName($aRechner[$i]), '', 'online', _GetLastBootUp($aRechner[$i])) & @CRLF)
                        $sData = StringFormat('id=setRechnerdaten&data=%s;%s;%s;%s;%s', $aRechner[$i], _GetUserName($aRechner[$i]), '', 'online', _GetLastBootUp($aRechner[$i]))
                    EndIf
                    $oHTTP.Send($sData)
                EndIf
            Next
            FileClose($hFile)
        EndIf
    EndFunc   ;==>_CheckBootUp
    
    Func _GetLastBootUp($sComputer = '.')
        Local $oWMIService = ObjGet("winmgmts:\\" & $sComputer & "\root\cimv2")
        If Not IsObj($oWMIService) Then Return ''
        Local $oColOperatingSystems = $oWMIService.ExecQuery("Select LastBootUpTime from Win32_OperatingSystem")
        Local $sBootup
        For $oOS In $oColOperatingSystems
            $sBootup = $oOS.LastBootUpTime
            ConsoleWrite('$sBootup = ' & $sBootup & @CRLF)
        Next
        Return $sBootup = '' ? 'WMI-Dienst nicht gestartet oder keine Regeln für Windows Firewall WMI eingehend definiert!' : StringRegExpReplace($sBootup, '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2}).+'\d, '\1-\2-\3 \4:\5:\6'\6)
    EndFunc   ;==>_GetLastBootUp
    
    Func _GetUserName($strClient = @ComputerName, $strDomain = '')
        Local $objWMIService, $objItem, $colItems, $strUser, $Result
        $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $strClient)
        If Not IsObj($objWMIService) Then Return ''
        $colItems = $objWMIService.InstancesOf("Win32_Process")
        If IsObj($colItems) Then
            For $objItem In $colItems
                If ($objItem.Caption = "explorer.exe") Then
                    $Result = $objItem.GetOwner($strUser, $strDomain)
                    If (Not @error) And ($Result = 0) Then Return $strUser
                EndIf
            Next
        EndIf
        Return 'kein Benutzer angemeldet'
    EndFunc   ;==>_GetUserName
    
    Func _Exit()
        Exit
    EndFunc   ;==>_Exit
    Alles anzeigen
  • Wie Zeichensatz einer Datei effizient bearbeiten?

    • Bitnugger
    • 20. März 2018 um 11:50
    Zitat von autoiter

    Bei mir funktioniert es nicht über einen Start der powershell.exe. Ich kann irgendetwas mit AuoIt lesen und dann ist das Fenster schon weg. Ausführungsbeschränkungen?

    Code
    ;-- TIME_STAMP   2018-03-20 11:48:39   v 0.1
    
    #Region    ;************ Includes ************
    #Include <FileConstants.au3>
    #EndRegion ;************ Includes ************
    
    ;~ Ändern der Skript-Ausführungsrichtlinie für Windows PowerShell
    ;~ https://technet.microsoft.com/de-de/library/ee176961.aspx
    
    If Not FileExists(@TempDir & "\Test.txt") Then
        Local $hFile = FileOpen(@TempDir & "\Test.txt", BitOR($FO_OVERWRITE, $FO_ANSI))
        FileWrite($hFile, '123ÄÖÜäöüß456')
        FileClose($hFile)
    EndIf
    
    _convFile2UTF8(@TempDir & "\Test.txt", @TempDir & "\TestUTF8.txt")
    If Not @error Then
        ShellExecuteWait(@TempDir & "\TestUTF8.txt")
        FileDelete(@TempDir & "\Test.txt")
        FileDelete(@TempDir & "\TestUTF8.txt")
    Else
        ConsoleWrite('! Error = ' & @error & @CRLF)
    EndIf
    
    Func _convFile2UTF8($s_Input, $s_Output)
        Local $s_Command = StringFormat('Get-Content "%s" | Set-Content -Encoding utf8 "%s"', $s_Input, $s_Output)
        Return SetError(ShellExecuteWait("powershell.exe", $s_Command, @WorkingDir, "open", @SW_HIDE))
    EndFunc
    Alles anzeigen
  • Icon aus Exe verwenden in GUI

    • Bitnugger
    • 20. März 2018 um 09:17
    Zitat von Peter S. Taler

    Ein Thema für GUNFOOD?

    Jeep. ;)

    Das ist mir noch nie aufgefallen... gut möglich, dass sich dieser Fehler erst in den letzten Wochen eingeschlichen hat.

  • Icon aus Exe verwenden in GUI

    • Bitnugger
    • 20. März 2018 um 01:20

    Dann ändere das -1 mal zu 0: _GUICtrlButton_SetImage(0, $Section[$ii][1], Default, True)

    Hier noch eine kleine Demo...

    C
    ;-- TIME_STAMP   2018-03-20 01:05:58   v 0.1
    
    #Region    ;************ Includes ************
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiButton.au3>
    #Include <WinAPIReg.au3>
    ;~ #include <WinAPIShPath.au3> ; _WinAPI_PathRemoveArgs
    #EndRegion ;************ Includes ************
    
    ConsoleWrite(@AutoItVersion & @CRLF) ; v3.3.14.5
    
    Global $g_idMemo
    
    Example()
    
    Func Example()
        Local $idBtn, $idChk, $idRdo, $iMsg
    
        GUICreate("Buttons", 500, 200)
        $g_idMemo = GUICtrlCreateEdit("", 2, 60, 496, 136, $WS_VSCROLL)
        GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
        GUISetState(@SW_SHOW)
    
    ;   Local $sPath = _WinAPI_PathRemoveArgs(RegRead('HKEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command', ''))
        Local $aSplit = StringSplit(_WinAPI_AssocQueryString('http', $ASSOCSTR_DEFAULTICON), ',' , 2) ; https, .html, .txt, ...
        Local $sPath = UBound($aSplit) ? $aSplit[0] : '', $iIconID = 0 ; UBound($aSplit) = 2 ? $aSplit[1] : 0
    
        MemoWrite("$sPath   --> " & $sPath)
        MemoWrite("$iIconID --> " & $iIconID & @CRLF)
    
    ;   $idBtn = GUICtrlCreateButton("Button1", 10, 10, 40, 40, $BS_BITMAP)
        $idBtn = GUICtrlCreateButton("Button1", 10, 10, 40, 40, $BS_ICON)
       _GUICtrlButton_SetImage($idBtn, $sPath, $iIconID, True) ; $iIconID >= 0
    
        $idChk = GUICtrlCreateCheckbox("Check1", 60, 10, 50, 32, $BS_ICON)
        _GUICtrlButton_SetImage($idChk, "shell32.dll", 14, True)
    
        $idRdo = GUICtrlCreateRadio("Radio1", 120, 10, 50, 32, $BS_ICON)
        _GUICtrlButton_SetImage($idRdo, "shell32.dll", 21, True)
    
        MemoWrite("$idBtn (Button)   Image Handle: " & _GUICtrlButton_GetImage($idBtn))
        MemoWrite("$idChk (Checkbox) Image Handle: " & _GUICtrlButton_GetImage($idChk))
        MemoWrite("$idRdo (Radio)    Image Handle: " & _GUICtrlButton_GetImage($idRdo))
    
        While 1
            $iMsg = GUIGetMsg()
            If $iMsg = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
    
        Exit
    EndFunc   ;==>Example
    
    ; Write a line to the memo control
    Func MemoWrite($sMessage)
        GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
    EndFunc   ;==>MemoWrite
    Alles anzeigen

    Sehr seltsam... der Quelltext wird nicht komplett angezeigt... einige Kommentarzeilen fehlen ganz, bei anderen die abschließenden Kommentare, wenn Typ = AutoIt!!! Mit Typ = Automatisch ist es korrekt.

    Local $sPath = UBound($aSplit) ? $aSplit[0] : '', $iIconID = 0 ; UBound($aSplit) = 2 ? $aSplit[1] : 0

  • Wie Zeichensatz einer Datei effizient bearbeiten?

    • Bitnugger
    • 20. März 2018 um 00:08
    Zitat von autoiter

    Eine Datei mit etwa 430MB kostet hier etwa 8.5 Sekunden.

    Also ehrlich... du musst dich einfach nur entscheiden, was du willst... entweder Voodoo und den Arbeitsspeicher schonen (30000 Bytes ist ja ein Witz!) oder maximalen Speed! 8o

    Meine Speed-Version sähe deshalb so aus...

    AutoIt
    Func _ConvertFileEncoding($sInputFile, $sOutputFile, $iCodepage)
        Local $sData = FileRead($sInputFile) ; Wenn du bei FileOpen keine Codepage angibst, ist es überflüssig!
        If Not @extended Then Return SetError(1)
        
        Local $hFile = FileOpen($sOutputFile, BitOR($FO_OVERWRITE, $iCodepage))
        If $hFile = -1 Then Return SetError(2)
    
        FileWrite($hFile, $sData)
        Return FileClose($hFile)
    EndFunc   ;==>_ConvertFileEncoding
  • Brauche ein klein wenig hilfe für mein neues projekt: Mein Serienmanager

    • Bitnugger
    • 17. März 2018 um 16:53

    Hier noch ein Tipp: Wer seine Serien/Filme als Dateien auf Festplatte(n) vorliegen hat, kann das aber auch sehr gut mit Kodi und/oder Media Companion machen.

  • Listview-Bug wenn Scrollbalken vorhanden?

    • Bitnugger
    • 16. März 2018 um 18:04

    Ich habe das gerade noch mal getestet, nachdem ich gelesen habe, was Raupi geschrieben hat... und ja, bei mir (Win 10 X64) springt der Cursor auch ganz nach oben in die linke Ecke, wenn der Cursor im Listview in einem Bereich steht, in dem kein Item mehr ist, also rechts neben col3. Tzz...

  • Listview-Bug wenn Scrollbalken vorhanden?

    • Bitnugger
    • 16. März 2018 um 05:55

    Bei mir springt der Cursor nicht...

    Zitat von autoiter

    Ich würde gerne wie mit dem Stil $WS_THICKFRAME Einträge markieren können.

    Mit dem Stil $WS_THICKFRAME hat das nichts zu tun... es liegt daran, dass $LVS_SINGLESEL als default style verwendet wird.

    ; Control default styles

    Global Const $GUI_SS_DEFAULT_LISTVIEW = BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL)

    Willst du mehrere Items auswählen können, dann reicht auch...

    Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 380, 150, $LVS_SHOWSELALWAYS)
    oder...

    Local $idListview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 380, 150, $LVS_REPORT)

  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 15. März 2018 um 15:42

    Du hast bei dem letzten Befehl am Ende der Zeile noch ein S, was da nicht hin gehört und ich sehe auch den Prompt nach diesem Befehl nicht, was bedeutet, dass du ihn nicht ausgeführt hast! Hättest du ihn ausgeführt, stünde da jetzt eine Fehlermeldung und eine Zeile tiefer wieder der Prompt!

    C:\>IF %ERRORLEVEL% reg query "HKCU\SOFTWARE\pSAG\proalpha-client-test\5.1\proALPHA Session" /v UserID /reg:64S

    FEHLER: Ungültige Syntax.

    Geben Sie "REG QUERY /?" ein, um die Syntax anzuzeigen.

    C:\>

    Nun gib mal in einer Eingabeaufforderung auf einem anderen Rechner im Netzwerk (psexec nicht vergessen) folgenden Befehl ein, warte ein paar Sekunden und wiederhole die Befehle (diesmal alle und ohne Fehler) auf INFRA.

    Code
    psexec \\INFRA netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes

    Beide Ausgaben dann wieder hier posten.

    Dateien

    Batch_auf_INFRA_starten.zip 422 Byte – 380 Downloads
  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 15. März 2018 um 14:19
    Zitat von Lashandan

    Ich habe auch das Gefühl, dass der RemoteRegistry Dienst getriggert wird auf dem/den Zielrechner/n aber danach kein "echtes" Auslesen des Keys stattfindet.

    Uns interessieren nur Fakten...

    Gib mal die folgenden Befehle in einer Eingabeaufforderung auf einem der Remote-Rechner ein, den du bereits mit dem Autoit-Script angesprochen hast und poste die Ausgabe (als Bild) hier.

    Code
    pushd C:
    echo USERDOMAIN = %USERDOMAIN%
    
    sc.exe query winmgmt
    netsh advfirewall firewall show rule name="Windows-Verwaltungsinstrumentation (WMI eingehend)"
    reg query "HKCU\SOFTWARE\pSAG\proalpha-client-production\5.1\proALPHA Session" /v UserID /reg:32
    IF %ERRORLEVEL% reg query "HKCU\SOFTWARE\pSAG\proalpha-client-production\5.1\proALPHA Session" /v UserID /reg:64

    Das sollte dann etwa so aussehen... ich habe allerdings einen anderen Unterschlüssel aus HKCU\SOFTWARE\ genommen, weil ich die pSAG-Software ja nicht installiert habe.

    pasted-from-clipboard.png

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.2 2018.01.20)

    • Bitnugger
    • 15. März 2018 um 06:08
    Zitat von Peter S. Taler

    Es gab zum Thema fileexist vor einigen Tagen schon mal jemanden im Forum der (wie die meisten hier im Forum von autoit weit mehr versteht wie ich) baff war, dass * in fileexit funktioniert.

    Für viele Befehle in der Eingabeaufforderung gibt es auch die Möglichkeit Wildcards zu verwenden... das wird in der Hilfe zu diesen Befehlen aber auch nicht erwähnt.

    Copy "f:\Eigene Dateien\TxT\*" z:\Backup\Txt\

    Move "f:\Eigene Dateien\TxT\*AutoIt*" z:\Backup\Txt\AutoIt\

    IF EXIST "f:\Eigene Dateien\TxT\*" Echo Das Verzeichnis TxT existiert!

    IF EXIST "f:\Eigene Dateien\TxT\*.txt" Echo Das Verzeichnis TxT ist nicht leer!

  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 13. März 2018 um 15:12

    Das ist nicht wirklich ein Fehler... damit wird dir nur mitgeteilt, dass bereits eine Instanz dieses Dienstes ausgeführt wird!!!

    Teste mal dieses Script...

    Zitat von Lashandan

    $iError = RunWait(StringFormat('psexec \\\%s -h sc.exe start RemoteRegistry', $sComputerName, $sUserName, $sPasswort))

    Richtig wäre...

    $iError = RunWait(StringFormat('psexec \\\%s -h sc.exe start RemoteRegistry', $sComputerName))

    Dateien

    CheckBootUp.au3 7,86 kB – 251 Downloads
  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 13. März 2018 um 05:50

    Dann ändere mal die Zeile 95 in dem Script aus Post #28.

    AutoIt
    $sUserID = RegRead("\\" & $sComputerName & "\HKCU64\SOFTWARE\pSAG\proalpha-client-production\5.1\proALPHA Session", "UserID")
    ; oder so...
    $sUserID = RegRead("\\" & $sComputerName & (@OSArch = "X86" ? "\HKCU" : "\HKCU64") & "\SOFTWARE\pSAG\proalpha-client-production\5.1\proALPHA Session", "UserID")
  • Start, Logon, Logoff und Shutdown

    • Bitnugger
    • 12. März 2018 um 13:52

    Hier ein Beispiel, wie es bei mir funktioniert:

    Rechnername: ILLUMINATI

    IP-Adresse: 192.168.178.26

    psexec \\ILLUMINATI -h sc.exe start RemoteRegistry

    psexec \\192.168.178.26 -h sc.exe stop RemoteRegistry

    oder...

    psexec \\ILLUMINATI -h sc.exe start RemoteRegistry

    psexec \\192.168.178.26 -h sc.exe stop RemoteRegistry

    Rechnername: Server

    IP-Adresse: 192.168.178.31

    psexec \\Server -h sc.exe start RemoteRegistry

    psexec \\192.168.178.31 -h sc.exe stop RemoteRegistry

    oder...

    psexec \\Server -h sc.exe start RemoteRegistry

    psexec \\192.168.178.31 -h sc.exe stop RemoteRegistry

    Eine Domain gibst du nur an, wenn du mit dem PC an einer Domain angemeldet bist. Meldest du dich an einem lokalen Konto an, darfst du keine Domain angeben, da es diese dann ja nicht gibt oder sie in dem Fall zumindest nicht relevant ist.

    Die Anmeldedaten als Klartext im Script zu speichern, ist sicher keine gute Idee... schau dir dazu z.B. mal die Funktion _Crypt_HashData an...

  • Brauche ein klein wenig hilfe für mein neues projekt: Mein Serienmanager

    • Bitnugger
    • 12. März 2018 um 02:04

    Alinas_SQLite_BuchVw

    Listview-Datenbank v3

    Eine SQLite Datenbank erfordert sicher ein wenig mehr Aufwand, bietet dafür aber auch einige Vorteile, z.B. dass man mehrere Suchparameter miteinander verknüpfen kann.

  • Treeview Icons einzeln ändern

    • Bitnugger
    • 10. März 2018 um 17:52
    Zitat von mirko2002

    Eine Frage habe ich zu den Gruppen. Du schließt jede Gruppe mit GUICtrlCreateGroup('', -99, -99, 1, 1) - dies habe ich noch nie so gesehen und frage mich wozu dies dient?

    A group control is the thin line you see around controls (usually only Radio button) that visually groups them together. Only one Radio button within a Group can be selected at once.

    If you want to have multiple groups without the visible line then you must use GUIStartGroup() to group your Radio buttons.

    Ein Gruppensteuerelement ist die dünne Linie, die um Steuerelemente herum angezeigt wird (normalerweise nur Radio-Button (Optionsfeld)), die sie visuell gruppiert. Nur ein Radio-Button innerhalb einer Gruppe kann gleichzeitig ausgewählt werden. Wenn Sie mehrere Gruppen ohne die sichtbare Linie haben möchten, müssen Sie GUIStartGroup() verwenden, um Ihre Optionsschaltflächen zu gruppieren.

    Wenn ich mich recht erinnere, ist das Schließen der Group-Controls wichtig für das Resizing (Größenänderung) der GUI.

  • Basepointer auslesen mit NomadMemory.au3 oder WinAPI.au3

    • Bitnugger
    • 9. März 2018 um 12:50
    AutoIt
    ConsoleWrite('0x' & Hex(0x59F7D1E590 + 18) & @CRLF)

    Ausgabe: 0x00000059F7D1E5A2

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™