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

Beiträge von Oscar

  • PDF´s in Reihenfolge drucken.

    • Oscar
    • 22. Oktober 2008 um 17:27

    Mein Drucker zeigt während des druckens immer das Statusfenster an. Vielleicht hat Dein Drucker ja etwas ähnliches, dann kannst Du warten bis das Fenster geschlossen wird (drucken beendet).

  • PC´s im LAN mit Autoit kontrollieren

    • Oscar
    • 22. Oktober 2008 um 17:09
    Zitat von Remax

    Netzwerk aktivieren/deaktivieren ...

    Also deaktivieren mag ja noch gehen, aber wie Du das dann über's Netz wieder aktivieren willst??? :rolleyes:

    SCNR.

  • Maus-Meter

    • Oscar
    • 22. Oktober 2008 um 16:58

    Schade! Das ist auch nur der "physikalische" Wert. Also die max. mögliche DPI-Zahl.
    Bei mir kommt da zum Beispiel "96" raus, was ja soweit auch korrekt ist. Zumindest solange ich mit der nativen Auflösung (1920x1200) meines Monitors arbeite. Schalte ich hingegen in eine geringere Auflösung, so wird dieser Wert nicht angepasst. Damit stimmt dann aber die Berechnung der Strecke in cm nicht mehr, denn 1024 geteilt durch 96 ergibt halt nur 10,67 Zoll oder 27,09 cm. Mein Monitor hat aber eine horizontale Größe von 50,8 cm.
    Aber das Thema hatten wir ja schonmal... ;)

  • Hintergrundbild bei GUI

    • Oscar
    • 20. Oktober 2008 um 18:38

    Das steht alles in der Hilfe unter GUICtrlCreatePic: ;)
    "If a picture is set as a background picture, as the other controls will overlap, it's important to disable the pic control : GuiCtrlSetState(-1,$GUI_DISABLE)."

  • Eingabe von Inputfeld an andere Stelle in einen Text einfügen?

    • Oscar
    • 20. Oktober 2008 um 12:47

    Das war's von meiner Seite zu diesem Thema!
    Ich leiste keinerlei Bot-Support. Weder hier noch als PM.

  • Eingabe von Inputfeld an andere Stelle in einen Text einfügen?

    • Oscar
    • 20. Oktober 2008 um 12:21

    Und warum soll das nicht funktionieren?
    Sind die Variablen nicht global oder schließt Du das Fenster, bevor Du das Inputfeld ausliest oder...?
    Zeig mal mehr (das Ganze) von Deinem Script...

  • Eingabe von Inputfeld an andere Stelle in einen Text einfügen?

    • Oscar
    • 20. Oktober 2008 um 11:58

    Ein Inputfeld von Deiner AutoIt-GUI oder von einem fremden Programmfenster?

  • Eingabe von Inputfeld an andere Stelle in einen Text einfügen?

    • Oscar
    • 20. Oktober 2008 um 07:23

    Du musst den String und den Inhalt des Inputfeldes miteinander verbinden:

    [autoit]

    Send(" Diesen Text hast du eingegeben:" & GUICtrlRead($i1))

    [/autoit]
  • Func an Tab koppeln

    • Oscar
    • 19. Oktober 2008 um 18:28

    Upps! So ist es natürlich noch besser! :)
    Mache so wenig mit TABs...

  • Func an Tab koppeln

    • Oscar
    • 19. Oktober 2008 um 17:47

    Ich habe das Beispiel aus der Hilfe entsprechend erweitert:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $tab, $tab0, $tab0OK, $tab0input
    Local $tab1, $tab1combo, $tab1OK
    Local $tab2, $tab2OK, $aMsg, $actTab, $oldTab

    GUICreate("My GUI Tab") ; will create a dialog box that when displayed is centered

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

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

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

    $tab = GUICtrlCreateTab(10, 10, 200, 100)

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

    $tab0 = GUICtrlCreateTabItem("tab0")
    GUICtrlCreateLabel("label0", 30, 80, 50, 20)
    $tab0OK = GUICtrlCreateButton("OK0", 20, 50, 50, 20)
    $tab0input = GUICtrlCreateInput("default", 80, 50, 70, 20)

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

    $tab1 = GUICtrlCreateTabItem("tab----1")
    GUICtrlCreateLabel("label1", 30, 80, 50, 20)
    $tab1combo = GUICtrlCreateCombo("", 20, 50, 60, 120)
    GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon") ; default Jon
    $tab1OK = GUICtrlCreateButton("OK1", 80, 50, 50, 20)

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

    $tab2 = GUICtrlCreateTabItem("tab2")
    GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
    GUICtrlCreateLabel("label2", 30, 80, 50, 20)
    $tab2OK = GUICtrlCreateButton("OK2", 140, 50, 50)

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

    GUICtrlCreateTabItem("") ; end tabitem definition

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

    GUICtrlCreateLabel("label3", 20, 130, 50, 20)

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

    GUISetState()

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

    ; Run the GUI until the dialog is closed
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_PRIMARYDOWN
    $actTab = GUICtrlRead($tab,1)
    If $actTab <> $oldTab Then
    $oldTab = $actTab
    Switch $actTab
    Case $tab0
    MsgBox(0,0,'0')
    Case $tab1
    MsgBox(0,0,'1')
    Case $tab2
    MsgBox(0,0,'2')
    EndSwitch
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>Example

    [/autoit]
  • PSI

    • Oscar
    • 18. Oktober 2008 um 22:26

    Wie wäre es, wenn Du das Script veröffentlichst?

  • fenster im hintergrund bedienen

    • Oscar
    • 18. Oktober 2008 um 17:28

    Nur um zu sehen, wo das Script sich gerade befindet, gibst Du alles in Notepad aus?
    ConsoleWrite oder Tooltip sollten für solche Aufgaben doch viel besser geeignet sein. Vor allem auch schneller. :rolleyes:

  • Fragen zu Iniread (Defaultkey):

    • Oscar
    • 18. Oktober 2008 um 04:38

    Ich würde es einfach so machen (ohne die Funktion):

    [autoit]


    Global $VA = IniRead('C:\Dokumente und Einstellungen\Nussman\Desktop\autoitskripte\HTPC\HTPC.ini', "Auflösung", "Vertikal", "720")
    Global $HA = IniRead('C:\Dokumente und Einstellungen\Nussman\Desktop\autoitskripte\HTPC\HTPC.ini', "Auflösung", "Horizontal", "1280")
    Dim $DefaultBild = @ScriptDir & "\htpc2.bmp"
    Dim $Bild = IniRead('C:\Dokumente und Einstellungen\Nussman\Desktop\autoitskripte\HTPC\HTPC.ini', "Hintergrundbilder", "HauptGUI", $defaultbild)
    Global $HauptGUI = GUICreate("HTPC", $HA, $VA, -1, -1, BitOR($WS_POPUP,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUICtrlCreatePic ($Bild,0 ,0, $HA, $VA)
    GUICtrlSetState(-1, $GUI_DISABLE)

    [/autoit]

    Und die absoluten Pfade lieber gegen @ScriptDir oder @AppDataDir austauschen.

  • iniread & iniwrite

    • Oscar
    • 17. Oktober 2008 um 15:28

    Und was macht so ein Script im AutoIt-Forum?
    Fremdgehen? :P

  • iniread & iniwrite

    • Oscar
    • 17. Oktober 2008 um 13:04

    Was ist denn das für eine Programmiersprache?
    AutoIt jedenfalls nicht. ;)

  • Desktopsperre - USB-Stick zum ent-/sperren des Desktop

    • Oscar
    • 17. Oktober 2008 um 12:07

    Ich habe meine Desktopsperre mal etwas erweitert/verbessert.
    Diese Version hier fragt nicht ständig den USB-Stick ab, sondern wartet auf eine Windowsmessage beim an-/abstecken des Sticks. Außerdem wird beim ersten Start die ID eines USB-Stick "registriert" und in einer Inidatei abgespeichert. Mit diesem registrierten Stick kann man dann den Desktop sperren/entsperren.
    Zum beenden des Scripts dient die Tastenkombination [ALT] + [ESC].

    Spoiler anzeigen
    [autoit]


    #include<MenuConstants.au3>
    #include<SendMessage.au3>
    #include<WindowsConstants.au3>
    #include<Misc.au3>

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

    Opt('GUICloseOnESC', 0)
    Opt('TrayIconHide', 1)
    Opt('TrayAutoPause', 0)
    Opt('WinTitleMatchMode', 4)

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

    Global $gui_titel = 'Desktopsperre'
    Global $sIni = @ScriptDir & '\Desktopsperre.ini'
    Global Const $WM_DEVICECHANGE = 0x0219
    Global Const $Off = 2, $On = -1
    Global $hMonitor = WinGetHandle('classname=Progman')
    Global $bLock = False, $bOnOff = False
    Global $usbstor = 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\usbstor\Enum'
    Global $r = RegRead($usbstor, 'count')
    If @error Then
    MsgBox(48, 'Desktopsperre', 'Konnte Registryeintrag nicht lesen!' & $r)
    Exit
    EndIf
    Global $sID = IniRead($sIni, 'ID', '1', '')
    If $sID = '' Then _RegID()

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

    Global $gui = GUICreate($gui_titel)

    GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE')

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

    While 1
    sleep(10)
    If $bLock() Then
    _ToggleMonitor($hMonitor, $Off)
    _MouseTrap(@DesktopWidth - 1, @DesktopHeight - 1, @DesktopWidth - 1, @DesktopHeight - 1); Maus in die untere, rechte Ecke setzen (einfrieren)
    HotKeySet('!{Esc}'); Hotkey freigeben, damit das Programm nicht beendet werden kann
    If WinExists('Windows Task-Manager') Then WinClose('Windows Task-Manager'); evtl. geöffneten Task-Manager schliessen
    BlockInput(1)
    Else
    _ToggleMonitor($hMonitor, $On)
    _MouseTrap(); Maus wieder freigeben
    BlockInput(0)
    HotKeySet('!{Esc}', '_End'); Hotkey (ALT+{Esc}) zum beenden des Programms einrichten
    EndIf
    Wend; Schleife fortsetzen

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

    Func MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam)
    If _Unlock() Then; wenn die Funktion '1' zurückliefert (USB-Stick gesteckt), dann
    $bLock = False
    Else; wenn die Funktion '0' zurückliefert (USB-Stick abgezogen), dann
    $bLock = True
    EndIf
    EndFunc

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

    Func _Unlock()
    For $count = 0 To RegRead($usbstor, 'count') - 1; Schleife für alle USB-Wechseldatenträger
    If $sID = RegRead($usbstor, $count) Then Return 1; Stimmt die id mit der id eines gemounteten USB-Sticks überein, dann Funktion beenden
    Next
    Return 0; keine Übereinstimmung gefunden, dann '0' zurückgeben
    EndFunc

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

    Func _RegID()
    MsgBox(0, $gui_titel, 'Falls der USB-Stick momentan eingesteckt ist,' & @CRLF & 'bitte entfernen und dann auf [Ok] klicken!')
    $count = RegRead($usbstor, 'count')
    MsgBox(0, $gui_titel, 'Bitte jetzt den USB-Stick einstecken!' & @CRLF & 'Er wird automatisch erkannt.', 5)
    While RegRead($usbstor, 'count') = $count
    Sleep(100)
    WEnd
    $count = RegRead($usbstor, 'count')
    $sID = RegRead($usbstor, $count - 1)
    IniWrite($sIni, 'ID', '1', $sID)
    MsgBox(0, $gui_titel, 'Dieser USB-Stick ist nun zum ent-/sperren des Desktop registriert!', 5)
    EndFunc

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

    Func _End()
    If MsgBox(36, 'Desktopsperre', 'Programm beenden?') = 6 then Exit
    EndFunc

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

    Func _ToggleMonitor($hwnd, $OnOff)
    Local Const $WM_SYSCOMMAND = 274
    Local Const $SC_MONITORPOWER = 61808
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $OnOff)
    If @error Then
    MsgBox(0,"_ToggleMonitor", "_SendMessage Error: " & @error)
    Exit
    EndIf
    EndFunc

    [/autoit]
  • In .txt Datei exportieren

    • Oscar
    • 16. Oktober 2008 um 20:00

    Im Prinzip hast Du Recht. Er fragte aber nur nach dem Datum.

    Dein Beispiel hat übrigens einen kleinen Fehler. So funktioniert's:

    [autoit]


    #include <Date.au3>
    $script_dir = @ScriptDir
    If StringRight($script_dir, 1) <> "\" Then $script_dir &= "\"
    $log=$script_dir & StringReplace(_NowCalcDate(), "/", "") & "-" & StringReplace(_NowTime(2), ":", "") & ".log"
    MsgBox(0,"",$log)

    [/autoit]
  • Präfix von mehreren Datei-Namen ändern

    • Oscar
    • 16. Oktober 2008 um 17:56

    Du musst den geänderten String auch wieder der Variablen zuweisen:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    #include <File.au3>

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

    Global $files = "c:\USR\H4a185C\DSK\FLDR\"; Pfad der Dateien

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

    $files = _FileListToArray($files); Dateien einlesen
    _ArrayDisplay($files); Dateien + Anzahl ([0]) werden angezeigt
    For $c = 1 To $files[0]
    $files[$c] = StringReplace($files[$c], '-', 'replaced'); Fall ein "-" in einem String gefunden wird soll es mit replaced ersetzt werden
    Next
    _ArrayDisplay($files); Zeigt die Dateien (Sollte doch auch die Änderungen anzeigen, oder nicht?)

    [/autoit]
  • textdatei auslesen und verwerten

    • Oscar
    • 16. Oktober 2008 um 17:47

    Ich sehe gerade, dass Du FileOpen innerhalb der For...Next-Schleife stehen hast. FileOpen muss oberhalb von "For" stehen und nach "Next" dann das FileClose nicht vergessen!

    Vermutlich hat sich AutoIt an den zu zahlreichen FileHandles "verschluckt".

  • Schleife mit zufälliger Zusatzfunktion

    • Oscar
    • 16. Oktober 2008 um 17:35

    Dann geht es so:

    [autoit]


    $check = Random(5, 10, 1)
    For $i = 0 To 99
    MsgBox(0,"",$i )
    If $i = $check Then
    $check = Random(5, 10, 1) + $i
    MsgBox(0,"","Test" )
    EndIf
    Next

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