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

Beiträge von Micha_he

  • Bilder auf Duplikat prüfen

    • Micha_he
    • 6. Juli 2012 um 10:51

    Wenn es sich um 100% identische (bit-genaue) Bilddateien handelt, geht es einfach so:

    [autoit]

    $bild1 = FileRead("lw:\Bild1.jpg")
    $bild2 = FileRead("lw:\Bild2.jpg")

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

    If $bild1 = $bild2 Then MsgBox(0, "Info", "Bilder sind identisch")

    [/autoit]
  • Suche einfache Abfrage, ob PC in einer Domain oder Arbeitsgruppe hängt

    • Micha_he
    • 5. Juli 2012 um 13:29
    Zitat von chip

    Richtig.

    Nein Falsch ! Bei meinem Windows 7 x64 (Arbeitsgruppenkonfiguration) steht auch in 'Domain' die Arbeitsgruppe.

  • upload von einer Datei über FTP

    • Micha_he
    • 5. Juli 2012 um 08:56

    "_FTP_Open()" baut ja nicht mal eine Verbindung auf, das würde erst "_FTP_Connect()" tun. Soweit ich das verstanden habe, wird nur die Struktur /der Handle für eine mögliche Datenübertragung aus der "WinINet.dll" bereitgestellt.

    Also noch keine Verbindung nach außen ! Alles nur zwischen Deinem AutoIt-Tool und der DLL.

  • upload von einer Datei über FTP

    • Micha_he
    • 4. Juli 2012 um 08:28

    Hast Du auf den bereffenden Rechnern, mal eine Verbindung mit dem Windows-FTP-Client aus der Konsole heraus versucht ?

  • Wie bau ich am besten die Schleife ein

    • Micha_he
    • 3. Juli 2012 um 15:09

    Ich würde es, basierend auf dem "Code-Schnipsel", so verändern:

    Spoiler anzeigen
    [autoit]

    If Not @error Then
    DriveMapDel("G:")
    _WriteLogData("Laufwerk G:\ getrennt.")
    DriveMapDel("H:")
    _WriteLogData("Laufwerk H:\ getrennt.")
    $count = 0
    Do
    DriveMapAdd("G:", \\domäne.local\dfs\Abteilung)
    $error = @error
    If $error Then
    $count += 1
    Else
    ExitLoop
    EndIf
    Until $count >= 3
    If $count >= 3 Then
    $Laufwerk = "G:\"
    _ErrorLog($Error, $Laufwerk)
    Else
    $Error = ""
    $Laufwerk = ""
    If WinActive ("Connect") Then
    ControlSetText("Connect","",5,@CRLF & @CRLF & "Netzlaufwerke werden verbunden," & @CRLF & @CRLF & "Laufwerk G:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ verbunden.")
    ElseIf WinActive ("VPN- Status") Then
    ControlSetText("VPN- Status","",11, "Netzlaufwerke werden verbunden," & @CRLF & "Laufwerk G:\ erfolgreich verbunden.")
    Sleep(250)
    _WriteLogData("Laufwerk G:\ aus Childform verbunden.")
    EndIf
    EndIf

    [/autoit]
  • upload von einer Datei über FTP

    • Micha_he
    • 3. Juli 2012 um 14:10

    Funktioniert bei mir (ftp.strato.de, Upload eine Textdatei) ohne Fehler !

  • StrVar = Shell("C:\MyScript.exe") aber wie ?

    • Micha_he
    • 28. Juni 2012 um 14:23

    Ich glaube er sucht

    [autoit]

    ConsoleWrite()

    [/autoit]

    wobei im AutoIt-Compiler noch "Compile for System = Console" gewählt werden muss.

  • Problem mit _FTP_FilePut()

    • Micha_he
    • 28. Juni 2012 um 09:50

    Oder der im Script davor liegende Befehl _FTP_Connect() muss unter Umständen passiv (Parameter Nr. 5) erfolgen !

  • Ordner abgleichen und kopieren

    • Micha_he
    • 26. Juni 2012 um 09:53

    Vielleicht hilft Dir dies: _RobocopyBackup_WithProgress()

  • USB Autorun

    • Micha_he
    • 25. Juni 2012 um 18:42

    Das ging meines Wissens nach für USB-Speicher noch nie. Autorun nur für CD-Laufwerke, Icon setzen auch bei USB-Stick.

    Eine mögliche Lösung wäre ein zusätzliches Tool (läuft ständig im Hintergrund, z.B. über Autostart), welches die INF-Datei auswertet und das betreffende Programm startet.

    Ich hatte mal etwas in der Art erstellt:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    USB_Autorun.zip 4,53 kB – 156 Downloads
  • DriveMapAdd mit (T:) Templaufwerk

    • Micha_he
    • 19. Juni 2012 um 17:55

    Ich verstehe kein Wort !

    Edit:
    Das einzige was ich aus den gestückelten Sätzen herauslesen kann, wäre etwas in der Art:

    Spoiler anzeigen
    [autoit]

    $sShare = "\\Server\Share"
    $sLetter = "T:"
    $sName = "Testlaufwerk"

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

    DriveMapAdd($sLetter, $sShare)
    $oShell = ObjCreate("shell.application")
    $oShell.NameSpace($sLetter).Self.Name = $sName

    [/autoit]
  • WinSCP (command) und _RunDos ?

    • Micha_he
    • 26. Mai 2012 um 15:18

    Du musst mal bei winscp nachsehen, ob Du an die Infomation kommst, wie weit der Vorgang fortgeschritten ist.
    Du brauchts irgendwie einen Wert in % oder "y byte kopiert von X" mit dem Du die ProgressBar steuerst.

    Edit: und Dich dann in der AutoIt-Hilfe unter "StdOutRead" informieren.

  • WinSCP (command) und _RunDos ?

    • Micha_he
    • 26. Mai 2012 um 10:27

    1. "\WinSCP>winscp.com" könnte "\WinSCP\winscp.com" sein
    2. Pfad "C:\Program Files (x86)\WinSCP" existiert nicht
    3. "winscp.com" liegt nicht in dem Pfad
    4. Server "server@test.com" gibt es nicht
    5. Quell-Datei "c:\test.txt" fehlt
    6. Zielpfad "/cygdrive/c/" existiert nicht, wird aber nicht automatisch angelegt

    An obigem siehst Du, es kann an vielem liegen. Etwas mehr Infos sind schon notwendig.
    Funktioniert die Programmzeile in einer Kommandozeile ? Bzw. welche Fehlermeldung
    kommt in der Kommandozeile oder unter AutoIt ?

    Ein wenig tun musst Du schon ;)

  • Service starten/beenden

    • Micha_he
    • 13. Mai 2012 um 14:45

    z.B.: Link

    oder: Link

  • Ordnerpfade in Win7 funzen nicht zum Server hin!

    • Micha_he
    • 14. April 2012 um 14:52

    Ich gehe davon aus, das das Laufwerk "L:" ein Netzlaufwerk ist.

    Da Du am Scriptanfang #RequireAdmin verwendest, wird das Script aber unter einem anderen User ausgeführt, wenn Du nicht Admin bist. Dieser andere User hat aber DEIN (jeder angemeldete User hat seine eigenen) Netzlaufwerk "L:" nicht !

  • Buttons erstellen

    • Micha_he
    • 13. April 2012 um 19:36

    Ich glaub ich habs:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIScroll.au3>
    $sWinTitle = "Form1"

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

    Dim $Oben = 50
    Dim $Links = 40
    Dim $Spalten = 4
    Dim $Buttonbreite = 80
    Dim $Buttonhoehe = 150
    Dim $Spaltenstart = 0

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

    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    $Form1 = GUICreate($sWinTitle, 650, 400, 200, 100, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_VSCROLL))
    GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)
    Scrollbar_Create($Form1, $SB_VERT, (Ceiling($var[0][0]/$Spalten) * $Buttonhoehe) + $Oben); Höhe für vertikale Scrollbar = Anzahl Reihen * Buttonhöhe + Kopfzeilenhöhe
    Scrollbar_Step(20, $Form1, $SB_VERT); Scrolls per 20 pixels.
    $aGUISize = WinGetClientSize ($sWinTitle)
    $Buttonbreite = ($aGUISize[0] - $Links) / $Spalten
    For $i = 1 To $var[0][0]
    GUICtrlCreateButton($var[$i][1],$Links,$oben,$Buttonbreite,$Buttonhoehe)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Links += $Buttonbreite
    $Spaltenstart +=1
    If $Spaltenstart = $Spalten Then
    $Spaltenstart = 0
    $Links =40
    $oben +=$Buttonhoehe
    endif
    Next
    EndIf

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

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

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

    EndSwitch
    WEnd

    [/autoit]

    Und hier die GUIScroll-UDF:

    Dateien

    GUIScroll.au3 8,19 kB – 184 Downloads
  • Buttons erstellen

    • Micha_he
    • 13. April 2012 um 18:59

    Ich hab es am Anfang erwähnt - Ein vernünftige Beschreibung ist Gold wert !

  • Buttons erstellen

    • Micha_he
    • 13. April 2012 um 17:50

    Mein Beispiel funktioniert auch bei 30 Buttons noch !

  • Buttons erstellen

    • Micha_he
    • 13. April 2012 um 16:06

    Ich habe über die letzten Beiträge etwas den Faden verloren, was nicht geht. Aber trotzdem:

    Laut dein Beschreibung sollte dies doch etwa das sein, was Du wolltest:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $sWinTitle = "Form1"

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

    $Form1 = GUICreate($sWinTitle, 625, 443, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
    $aGUISize = WinGetClientSize ($sWinTitle)

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

    Dim $Oben = 50
    Dim $Links = 40
    Dim $Spalten = 4
    Dim $Buttonbreite = 50
    Dim $Buttonhoehe = 20
    Dim $Spaltenstart = 0

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

    $Buttonbreite = ($aGUISize[0] - $Links) / $Spalten
    $var = IniReadSection(@ScriptDir & '\Namen.ini',"Name")
    If @error Then
    MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
    Else
    $Buttonhoehe = Int(($aGUISize[1] - $Oben) / Ceiling(($var[0][0] / $Spalten)))
    For $i = 1 To $var[0][0]
    GUICtrlCreateButton($var[$i][1],$Links,$oben,$Buttonbreite,$Buttonhoehe)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $Links += $Buttonbreite
    $Spaltenstart +=1
    If $Spaltenstart = $Spalten Then
    $Spaltenstart = 0
    $Links =40
    $oben +=$Buttonhoehe
    endif
    Next
    EndIf
    GUISetState(@SW_SHOW)
    GUISetState(@SW_MAXIMIZE)

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

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

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

    EndSwitch
    WEnd

    [/autoit]
  • Buttons erstellen

    • Micha_he
    • 13. April 2012 um 12:11

    Anfänglich ist doch schon einmal eine Frage offen:

    Deine GUI im Script hat eine feste Größe. Damit wäre eine Abhängigkeit der Buttons von "@DesktopWidth" doch Blödsinn.


    Folgende Punkte wären zu klären:

    Wie groß soll die GUI sein ? Fest, Variabel, Fullscreen ? x-Prozent von Desktop ?
    Wieviel Rand in der GUI bis zu den Buttons ? Oben, Unten, Links und Rechts gleich ?
    Größe der Buttons soll immer das mögliche Maximum ergeben ?
    Wieviel Abstand horizontal/vertikal ? Relativ zur Buttongröße ?

    Das wären so auf Anhieb mal meine Fragen ?
    Gruß
    Micha_he

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™