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

Beiträge von bernd670

  • Case Schleife: Wenn ein Case richtig ist, die anderen trotzdem durchlaufen

    • bernd670
    • 1. Juli 2007 um 14:54

    Hallo,

    ContinueCase prüft nicht mehr die nachfolgende Bedingung sondern führt nur die Anweisungen im nächsten Case-Block aus.
    Du kannst es aber ganz einfach mit If's lösen.

    [autoit]

    #include <GUIConstants.au3>

    $GUI_titel = "TEST"
    $GUI = GUICreate($GUI_titel , 695, 405, @DesktopWidth -695 -20, @DesktopHeight -405 -80)
    $test = 5

    GUISetState()

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

    If $test = 5 Then MsgBox(0,"", "Genau 5")
    If $test > 2 Then MsgBox(0,"", "Größer 2")
    If $test < 2 Then MsgBox(0,"", "Kleiner 2")

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]
  • Au3Optimizer

    • bernd670
    • 30. Juni 2007 um 23:39

    Hallo,

    hast Du dir das schon angeschaut: CleanScript - verkleinert au3 und Exe deutlich ohne Funktionsverlust

  • Resize ?

    • bernd670
    • 30. Juni 2007 um 22:22

    Hallo,

    mit WinMove funktioniert es doch!

    [autoit]

    #include <GUIConstants.au3>

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

    opt("GUIResizeMode",802) ; Controls bei Resize nicht verschieben

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 635, 350)
    $ButMinMax = GUICtrlCreateButton("&maximieren", 512, 272, 100, 30)
    $Input1 = GUICtrlCreateInput("Input1", 48, 380, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 264, 380, 121, 21)
    $Input3 = GUICtrlCreateInput("Input3", 32, 16, 121, 21)
    $Input4 = GUICtrlCreateInput("Input4", 32, 56, 121, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $ButMinMax
    If GUICtrlRead($ButMinMax) = "&maximieren" Then
    GUICtrlSetData($ButMinMax,"&minimieren")
    WinMove($Form1,"",Default,Default,635,450)
    Else
    GUICtrlSetData($ButMinMax,"&maximieren")
    WinMove($Form1,"",Default,Default,635,350)
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]
  • Graphic auf Tab - geht nicht !?!?

    • bernd670
    • 30. Juni 2007 um 20:54

    Hallo,

    wenn man sie ontop setzt gehts!

    [autoit]

    #include <GUIConstants.au3>

    $GUI_titel = "TEST"
    $GUI = GUICreate($GUI_titel , 695, 405, @DesktopWidth -695 -20, @DesktopHeight -405 -80)

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

    GUICtrlCreateTab(10, 10, 680, 400)
    GUICtrlCreateTabItem("TEST")

    GUICtrlCreateGraphic(15, 75, 80, 70)
    GUICtrlSetBkColor(-1, 0xFFD700)
    GUICtrlSetState(-1,$GUI_ONTOP)

    GUICtrlCreateGraphic(115, 75, 95, 70)
    GUICtrlSetBkColor(-1, 0xFFD700)
    GUICtrlSetState(-1,$GUI_ONTOP)

    GUICtrlCreateGraphic(230, 75, 77, 115)
    GUICtrlSetBkColor(-1, 0xFFD700)
    GUICtrlSetState(-1,$GUI_ONTOP)

    GUICtrlCreateTabItem("")

    GUISetState()

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd

    [/autoit]
  • Variablen-Fehler

    • bernd670
    • 29. Juni 2007 um 23:44

    Hallo,

    ich glaube die Ini-Datei wird nicht gefunden!

    Probiers mal so:

    [autoit]

    ;starte programme

    If $RunOwnTools = "1" Then
    $var = IniReadSection (@ScriptDir & "\" & $ini, "Run own tools after Start")
    For $i = 1 To $var[0][0]
    Run(@ComSpec & ' /c "' & $var[$i][1] & '"', "", @SW_HIDE)
    Next
    Else
    EndIf

    [/autoit]
  • Auslesen eines Pfads aus der Regy

    • bernd670
    • 29. Juni 2007 um 23:22

    Hallo,

    warum läßt Du nicht die Frage stehen und präsentierst deine Lösung, dass könnte vllt. einem anderen auch mal helfen!

  • Resize ?

    • bernd670
    • 29. Juni 2007 um 17:17

    WinMove!

  • Wake on LAN GUI

    • bernd670
    • 29. Juni 2007 um 15:41

    Probiert mal das Programm, ist nicht anderes als IPConfig, habt ihr vllt. mehrer Netzwerkkarten aktiv?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Date.au3>

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

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"
    $Output = ""
    $Output &= "Windows IP-Konfiguration" & @CRLF & @CRLF

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

    $OEvent = ObjEvent("AutoIt.Error", "nothing") ; Bei Fehler weitermachen, entspricht "On Error Resume Next"

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

    $objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
    $colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Output &= @TAB & "Hostname. . . . . . . . . . . . . : " & $objItem.DNSHostName & @CRLF
    $Output &= @TAB & "Verbindungsspezifisches DNS-Suffix: " & $objItem.DNSDomainSuffixSearchOrder(0) & @CRLF
    $Output &= @TAB & "Beschreibung. . . . . . . . . . . : " & $objItem.Description & @CRLF
    $Output &= @TAB & "Physikalische Adresse . . . . . . : " & StringReplace($objItem.MACAddress,":","-") & @CRLF
    $Output &= @TAB & "DHCP-aktiviert. . . . . . . . . . : "
    If $objItem.DHCPEnabled Then
    $Output &= "Ja"
    Else
    $Output &= "Nein"
    EndIf
    $Output &= @CRLF
    $Output &= @TAB & "IP-Adresse. . . . . . . . . . . . : " & $objItem.IPAddress(0) & @CRLF
    $Output &= @TAB & "Subnetzmaske. . . . . . . . . . . : " & $objItem.IPSubnet(0) & @CRLF
    $Output &= @TAB & "Standardgateway . . . . . . . . . : " & $objItem.DefaultIPGateway(0) & @CRLF
    $Output &= @TAB & "DHCP-Server . . . . . . . . . . . : " & $objItem.DHCPServer & @CRLF
    $Output &= @TAB & "DNS-Server. . . . . . . . . . . . : " & $objItem.DNSServerSearchOrder(0) & @CRLF
    $iAnzDNSServ = 0
    For $DNSServer in $objItem.DNSServerSearchOrder
    $iAnzDNSServ += 1
    Next
    $iAnzDNSServ -= 1
    For $i = 1 To $iAnzDNSServ
    $Output &= @TAB & " " & $objItem.DNSServerSearchOrder($i) & @CRLF
    Next
    $Output &= @TAB & "Primärer WINS-Server. . . . . . . : " & $objItem.WINSPrimaryServer & @CRLF
    $Output &= @TAB & "Sekundärer WINS-Server. . . . . . : " & $objItem.WINSSecondaryServer & @CRLF
    $Output &= @TAB & "Lease erhalten. . . . . . . . . . : " & WMIDateStringToDate($objItem.DHCPLeaseObtained) & @CRLF
    $Output &= @TAB & "Lease läuft ab. . . . . . . . . . : " & WMIDateStringToDate($objItem.DHCPLeaseExpires) & @CRLF & @CRLF & @CRLF
    Next
    Endif

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

    Func WMIDateStringToDate($dtmDate)
    Dim $arDayString[8] = [ 7, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" ]
    Dim $arMonthString[13] = [ 12, "Januar", "Februar", "März", "April", "Mai", "Juni", _
    "Juli", "August", "September", "Oktober", "November", "Dezember" ]

    If $dtmDate = "" Then Return ""

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

    $strTag = StringMid($dtmDate, 7, 2)
    $strMonat = StringMid($dtmDate, 5, 2)
    $strJahr = StringLeft($dtmDate, 4)
    $strZeit = StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2)

    $strWochentag = $arDayString[_DateToDayOfWeek ( $strJahr, $strMonat, $strTag )]

    Return ($strWochentag & ", " & Int($strTag) & ". " & $arMonthString[$strMonat] & " " & $strJahr & " " & $strZeit)
    EndFunc

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

    #Region ### START Koda GUI section ### Form=
    $FrmIPConfig = GUICreate("IPConfig", 800, 600, -1, -1)
    $LblOutput = GUICtrlCreateEdit($Output, 16, 16, 768, 528, BitOR($SS_LEFT,$SS_SUNKEN,$WS_HSCROLL,$WS_VSCROLL,$ES_READONLY))
    GUICtrlSetFont(-1, 12, 400, 0, "Courier New")
    GUICtrlSetBkColor(-1, 0xFFFFFF)

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

    $ButOk = GUICtrlCreateButton("&OK", 28, 560, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $ButOk
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Wake on LAN GUI

    • bernd670
    • 29. Juni 2007 um 15:35

    Überschreib mal die Funktion GetSubnetmask mit dieser und Probiers noch mal!

    [autoit]

    Func GetSubnetmask()
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"
    $Output = ""
    $Output &= "Windows IP-Konfiguration" & @CRLF & @CRLF

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

    $OEvent = ObjEvent("AutoIt.Error", "nothing") ; Bei Fehler weitermachen, entspricht "On Error Resume Next"

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

    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    Return $objItem.IPSubnet(0)
    Next
    EndIf

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

    Return ""
    EndFunc ;==>GetSubnetmask

    [/autoit]

    Der Aufruf muss dann so lauten

    [autoit]

    GetBroadcast("192.168.178.21", GetSubnetmask())

    [/autoit]
  • Wake on LAN GUI

    • bernd670
    • 29. Juni 2007 um 15:26

    Wenn ich was nicht kann lern ich's! ;)

  • Wake on LAN GUI

    • bernd670
    • 29. Juni 2007 um 15:23

    Die einzige Möglichkeit ist über WMI:

    [autoit]

    MsgBox(0, "", GetBroadcast("192.168.178.21", GetSubnetmask("192.168.178.21")))

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

    Func GetBroadcast($szIP, $szSN)

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

    Local $aszIP = StringSplit($szIP, ".")
    Local $aszSN = StringSplit($szSN, ".")
    Local $aszBC[5] = [4, 0, 0, 0, 0]

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

    For $cIndex = 1 To 4
    $aszBC[$cIndex] = BitOR($aszIP[$cIndex], BitXOR($aszSN[$cIndex], 255))
    Next

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

    Return $aszBC[1] & "." & $aszBC[2] & "." & $aszBC[3] & "." & $aszBC[4]
    EndFunc ;==>GetBroadcast

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

    Func GetSubnetmask($szIP)
    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = $szIP
    $Output = ""
    $Output &= "Windows IP-Konfiguration" & @CRLF & @CRLF

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

    $OEvent = ObjEvent("AutoIt.Error", "nothing") ; Bei Fehler weitermachen, entspricht "On Error Resume Next"

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

    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    If $objItem.IPAddress (0) = $szIP Then Return $objItem.IPSubnet (0)
    Next
    EndIf

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

    Return ""
    EndFunc ;==>GetSubnetmask

    [/autoit]
  • Wake on LAN GUI

    • bernd670
    • 29. Juni 2007 um 14:59

    Hallo,

    schwer ist es nicht aber ein wenig rechnen muss man schon!

    [autoit]

    GetBroadcast("192.168.2.25", "255.255.255.0")

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

    Func GetBroadcast($szIP, $szSN)

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

    Local $aszIP = StringSplit($szIP, ".")
    Local $aszSN = StringSplit($szSN, ".")
    Local $aszBC[5] = [4, 0, 0, 0, 0]

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

    For $cIndex = 1 To 4
    $aszBC[$cIndex] = BitOR($aszIP[$cIndex],BitXOR($aszSN[$cIndex], 255))
    Next

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

    return $aszBC[1] & "." & $aszBC[2] & "." & $aszBC[3] & "." & $aszBC[4]
    EndFunc ;==>GetBroadCast

    [/autoit]
  • Festplattenbuchstaben auslesen

    • bernd670
    • 29. Juni 2007 um 10:42

    Dann mußt Du einfach alle Laufwerke zu einen String verbinden:

    [autoit]

    $Drives = ""
    $var = DriveGetDrive( "all" )

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

    If NOT @error Then
    For $i = 1 to $var[0]
    $Drives &= $var[$i] & " "
    Next
    EndIf

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

    MsgBox(4096,"Es wurden folgende Laufwerke gefunden " & $Drives)

    [/autoit]
  • If Abfrage

    • bernd670
    • 29. Juni 2007 um 10:34

    Hallo,

    ungleich in AutoIt ist <>, mit == kann man Strings casesensitiv prüfen!

    AutoIt Hilfe -> Language Reference -> Operators

  • Diablo-Launcher

    • bernd670
    • 29. Juni 2007 um 06:23

    Hallo,

    hast Du es schon mal mit dem Run-Befehl probiert?

    [autoit]

    Run(@ComSpec & ' /C E:\D2installationen\diablo_A\game_A.exe -w -skiptobnet')
    Run(@ComSpec & ' /C E:\D2installationen\diablo_B\game_B.exe -w -skiptobnet')

    [/autoit]
  • Festplattenbuchstaben auslesen

    • bernd670
    • 28. Juni 2007 um 22:51

    Hallo und :willkommen:,

    hast Du dir schon mal das Beispiel aus der Hilfe angeschaut?

    [autoit]

    $var = DriveGetDrive( "all" )
    If NOT @error Then
    MsgBox(4096,"", "Found " & $var[0] & " drives")
    For $i = 1 to $var[0]
    MsgBox(4096,"Drive " & $i, $var[$i])
    Next
    EndIf

    [/autoit]
  • Autoit-Tags für eingenes Forum!?

    • bernd670
    • 28. Juni 2007 um 22:47

    Hallo,

    die Codedarstellung für AutoIt wurde mit geshi umgesetzt -> Code tags erneuern

  • DllStructCreate

    • bernd670
    • 28. Juni 2007 um 22:33

    Hallo,

    mit AutoIt kann man keine DLL's erzeugen, mit dem Befehl kann man eine Datenstrucktur erzeugen die man dann an eine DLL übergeben kann um auf Funktionen in DLL's zuzugreifen!

  • "Quit" Knopf geht nicht, egal was ich mache.

    • bernd670
    • 28. Juni 2007 um 22:29

    Hallo,

    ersetzte mal die Funktion Save durch diese:

    Spoiler anzeigen
    [autoit]

    Func Save()
    Sleep(100)
    ProcessClose("IEXPLORE.exe")
    Sleep(100)
    If WinExists("Unbenannt - Editor") Then
    WinActivate("Unbenannt - Editor")
    Sleep(50)
    WinWaitActive("Unbenannt - Editor")
    Sleep(50)
    Send("{ALT down}")
    Sleep(50)
    Send("d")
    Sleep(50)
    Send("u")
    Sleep(50)
    Send("{ALT up}")
    WinWaitActive("Speichern unter")
    Sleep(100)
    Date()
    Sleep(50)
    Send(".txt")
    Sleep(100)
    Send("{ENTER}")
    Sleep(50)
    EndIf
    Exit
    EndFunc ;==>Save

    [/autoit]

    Dann wird das Speichern nur durchgeführt wenn Notepad auch läuft!

  • Wie finde ich Controls-ID von fremden GUI raus.

    • bernd670
    • 28. Juni 2007 um 16:36

    Hallo,

    [autoit]

    GUICtrlGetState ( [controlID] )

    [/autoit]


    ist für Controls die mit AutoIt erstellt wurden!

    Was Du brauchst ist ControlCommand:

    [autoit]

    ControlCommand($winname, "", "Quit","IsEnabled", "")

    [/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™