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

  • Program als Dienst einrichten

    • bernd670
    • 31. Mai 2008 um 18:20

    Hatten wir schon mal -> [ gelöst ] Kompal. Script als Dienst starten

  • DirCopy

    • bernd670
    • 31. Mai 2008 um 08:24

    Es ist z.B. möglich durch Gruppenrichtlinien/Registryeinträge die Ordner für Profilverzeichnisse auf ein anderes Laufwerk und/oder Verzeichnis zu verschieben. In @UserProfileDir und den anderen Makros steht immer der richtige Pfad und Du bist auf der sicheren Seite.

  • DirCopy

    • bernd670
    • 31. Mai 2008 um 08:08

    Das Quellverzeichnis solltest Du besser so angeben:

    [autoit]

    FileCopy(@UserProfileDir & "\Lokale Einstellungen\Anwendungsdaten\Identities\" & $ident & "\Microsoft\Outlook Express\*.dbx", "C:\Sicherungen\" & $datum, 1)

    [/autoit]
  • DirCopy

    • bernd670
    • 31. Mai 2008 um 07:49

    Hallo,

    DirCopy kopiert nur ganze Verzeichnisse es ist nich möglich Dateien anzugeben, ersetzte mal DirCopy durch FileCopy dann sollte es gehen!

  • Wie bekomme ich beide checkboxen gleichzeitig zum laufen

    • bernd670
    • 30. Mai 2008 um 22:13

    Bitte!


    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop

    Case $button1
    If ProcessExists("notepad.exe") Then
    WinClose("[CLASS:Notepad]", "")
    Else
    Run("notepad.exe")
    EndIf
    EndSwitch

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

    If BitAnd(GUICtrlRead($checkbox1),$GUI_CHECKED) = $GUI_CHECKED Then
    ;~ WinActivate("[Class:Notepad]")
    ControlSend("[Class:Notepad]", "", "Edit1", "1")
    EndIf

    If BitAnd(GUICtrlRead($checkbox2),$GUI_CHECKED) = $GUI_CHECKED Then
    ;~ WinActivate("[Class:Notepad]")
    ControlSend("[Class:Notepad]", "", "Edit1", "2")
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Homepages speichern

    • bernd670
    • 30. Mai 2008 um 21:47

    Ersetzte mal

    [autoit]

    If Not $URL = "about:blank" Then

    [/autoit]

    durch

    [autoit]

    If $URL <> "about:blank" Then

    [/autoit]
  • Homepages speichern

    • bernd670
    • 30. Mai 2008 um 21:28

    In der URL sind Zeichen die in einem Dateinamen nicht enthalten sein dürfen !


    Spoiler anzeigen
    [autoit]

    #include <FF.au3>
    #include <File.au3>
    #Include <String.au3>

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

    HotKeySet("{ESC}", "_EXIT")

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

    Dim $Hilf = False
    Dim $FileContent

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

    $FilePath = @DesktopDir & "\Homepages.txt"

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

    $Socket = _FFStart("about:blank")
    FileWrite($FilePath, "about:blank" & @CRLF)

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

    While 1
    If $Hilf = False Then _FileReadToArray($FilePath, $FileContent)
    $URL = _FFSetGet($Socket, "content.document.location.href")
    $Hilf = 0
    For $i = 1 To $FileContent[0]
    If $URL = $FileContent[$i] Then
    $Hilf = True
    ExitLoop
    EndIf
    Next
    If $Hilf = False Then
    FileWrite($FilePath, $URL & @CRLF)
    $HTML = _FFReadHtml($Socket)
    If Not $URL = "about:blank" Then
    $aszBetween = _StringBetween($URL, "//", "/")
    FileWrite(@DesktopDir & "\" & $aszBetween[0] & ".html", $HTML)
    EndIf
    EndIf
    Sleep(500)
    WEnd

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

    Func _EXIT()
    Exit
    EndFunc

    [/autoit]
  • Homepages speichern

    • bernd670
    • 30. Mai 2008 um 20:53

    Probiers mal so, ohne FileOpen, FileWrite mit Dateiname arbeitet immer im Append-Modus:


    Spoiler anzeigen
    [autoit]

    #include <FF.au3>
    #include <File.au3>

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

    HotKeySet("{ESC}", "_EXIT")

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

    Dim $Hilf = False
    Dim $FileContent

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

    $FilePath = @DesktopDir & "\Homepages.txt"

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

    $Socket = _FFStart("about:blank")
    FileWrite($FilePath, "about:blank" & @CRLF)

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

    While 1
    If $Hilf = False Then _FileReadToArray($FilePath, $FileContent)
    $URL = _FFSetGet($Socket, "content.document.location.href")
    $Hilf = 0
    For $i = 1 To $FileContent[0]
    If $URL = $FileContent[$i] Then
    $Hilf = True
    ExitLoop
    EndIf
    Next
    If $Hilf = False Then
    FileWrite($FilePath, $URL & @CRLF)
    EndIf
    Sleep(500)
    WEnd

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

    Func _EXIT()
    Exit
    EndFunc

    [/autoit]

    Edit: Sleep hinzugefügt!

  • Homepages speichern

    • bernd670
    • 30. Mai 2008 um 20:35

    Hallo,

    Du mußt $Hilf vor der For-Schleife auf 0 setzten!

  • @OSBuild welche Antworten möglich??

    • bernd670
    • 30. Mai 2008 um 18:45

    Hallo,

    ich hab dir mal mit Scriptomatic ein Beispiel zum Auslesen von Win32_Battery erzeugt.


    Spoiler anzeigen
    [autoit]

    ; Erstellt von AutoIt Scriptomatic
    $wbemFlagReturnImmediately=0x10
    $wbemFlagForwardOnly=0x20
    $colItems=""
    $strComputer="localhost"
    $Output=""
    $Output&="Computer: " &$strComputer & @CRLF
    $Output&="==========================================" & @CRLF
    $objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
    $colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_Battery", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Output&="Availability: " &$objItem.Availability & @CRLF
    $Output&="BatteryRechargeTime: " &$objItem.BatteryRechargeTime & @CRLF
    $Output&="BatteryStatus: " &$objItem.BatteryStatus & @CRLF
    $Output&="Caption: " &$objItem.Caption & @CRLF
    $Output&="Chemistry: " &$objItem.Chemistry & @CRLF
    $Output&="ConfigManagerErrorCode: " &$objItem.ConfigManagerErrorCode & @CRLF
    $Output&="ConfigManagerUserConfig: " &$objItem.ConfigManagerUserConfig & @CRLF
    $Output&="CreationClassName: " &$objItem.CreationClassName & @CRLF
    $Output&="Description: " &$objItem.Description & @CRLF
    $Output&="DesignCapacity: " &$objItem.DesignCapacity & @CRLF
    $Output&="DesignVoltage: " &$objItem.DesignVoltage & @CRLF
    $Output&="DeviceID: " &$objItem.DeviceID & @CRLF
    $Output&="ErrorCleared: " &$objItem.ErrorCleared & @CRLF
    $Output&="ErrorDescription: " &$objItem.ErrorDescription & @CRLF
    $Output&="EstimatedChargeRemaining: " &$objItem.EstimatedChargeRemaining & @CRLF
    $Output&="EstimatedRunTime: " &$objItem.EstimatedRunTime & @CRLF
    $Output&="ExpectedBatteryLife: " &$objItem.ExpectedBatteryLife & @CRLF
    $Output&="ExpectedLife: " &$objItem.ExpectedLife & @CRLF
    $Output&="FullChargeCapacity: " &$objItem.FullChargeCapacity & @CRLF
    $Output&="InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
    $Output&="LastErrorCode: " &$objItem.LastErrorCode & @CRLF
    $Output&="MaxRechargeTime: " &$objItem.MaxRechargeTime & @CRLF
    $Output&="Name: " &$objItem.Name & @CRLF
    $Output&="PNPDeviceID: " &$objItem.PNPDeviceID & @CRLF
    $strPowerManagementCapabilities=$objItem.PowerManagementCapabilities(0)
    $Output&="PowerManagementCapabilities: " &$strPowerManagementCapabilities & @CRLF
    $Output&="PowerManagementSupported: " &$objItem.PowerManagementSupported & @CRLF
    $Output&="SmartBatteryVersion: " &$objItem.SmartBatteryVersion & @CRLF
    $Output&="Status: " &$objItem.Status & @CRLF
    $Output&="StatusInfo: " &$objItem.StatusInfo & @CRLF
    $Output&="SystemCreationClassName: " &$objItem.SystemCreationClassName & @CRLF
    $Output&="SystemName: " &$objItem.SystemName & @CRLF
    $Output&="TimeOnBattery: " &$objItem.TimeOnBattery & @CRLF
    $Output&="TimeToFullCharge: " &$objItem.TimeToFullCharge & @CRLF
    If Msgbox(1, "WMI-Ausgabe", $Output)=2 then ExitLoop
    $Output=""
    Next
    Else
    Msgbox(0, "WMI-Ausgabe","Keine WMI-Objekte gefunden für Klasse: " & "Win32_Battery")
    Endif

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

    Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) &"/" &StringMid($dtmDate, 7, 2) &"/" &StringLeft($dtmDate, 4) & " " &StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2))
    EndFunc

    [/autoit]
  • StringRegExpReplace Probleme

    • bernd670
    • 30. Mai 2008 um 14:27

    Hallo,

    warum machst Du nicht einfach ein StringTrimLeft wenn das 1. Zeichen ein Punkt ist?

    Noch ein kleiner Hinweis:

    Solche Anweisungen

    [autoit]

    FileRead(FileOpen(@ScriptDir & '\file.txt', 0))

    [/autoit]

    sind nicht nur überflüssig sondern können auch noch zu Fehlern führen, da die Datei mit FileOpen geöffnet wurde aber nicht mehr mit FileClose geschlossen wird.
    Die Anweisung kann man auch einfach so schreiben:

    [autoit]

    FileRead(@ScriptDir & '\file.txt')

    [/autoit]
  • @OSBuild welche Antworten möglich??

    • bernd670
    • 29. Mai 2008 um 23:46

    Hallo,

    ob man es direkt auslesen kann weiß ich jetzt nicht aber es gibt die WMI-Klasse Win32_Battery und Win32_PortableBattery damit kann man den Status des Akku abfragen und den gibt es ja in der Regel nur bei Notebooks!

  • Screenshot von einem fenster

    • bernd670
    • 29. Mai 2008 um 21:34

    Hallo,

    so wird ein Screenshot vom gerade aktiven Fenster gemacht!


    [autoit]

    #include <ScreenCapture.au3>
    Opt('WinTitleMatchMode', 2)

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

    ShellExecute('www.google.de')
    WinWait('Mozilla Firefox')
    Sleep(1000)

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

    _ScreenCapture_CaptureWnd('test.jpg', WinGetHandle("[ACTIVE]"))

    [/autoit]

    Edit:

    Zitat von Deepred

    Kann ich das auch so machen, ohne das man das Fenster im Vordergrund haben muss? :S


    Sorry hab wohl das "ohne" überlesen!

    Ich glaube nicht das es so einfach mit den ScreenCapture-Funktionen geht!

  • Controls von der Bildschirmtastatur ansprechen

    • bernd670
    • 29. Mai 2008 um 21:30

    Hallo,

    was macht es für einen Sinn die Tasten der Bildschirmtastatur zu steuern wenn man die Tastencodes direkt mit AutoIt senden kann? ?(

  • Firefoxfrage

    • bernd670
    • 26. Mai 2008 um 14:25

    Hallo,

    kann es sein das das Add-On Mozlab fehlt!

  • Inidatei schreiben unter Vista

    • bernd670
    • 22. Mai 2008 um 20:51

    Wenn Du die Ini-Datei unter Anwendungsdaten im Benutzer-Verzeichnis anlegst hat das den Vorteil das jeder Benutzer seine eingene Einstellungen machen kann.

  • Button Funktion ausführen mit "onClick"

    • bernd670
    • 22. Mai 2008 um 20:46

    So:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $myGUI = GUICreate("My GUI Button") ; will create a dialog box that when displayed is centered
    GUISetOnEvent($GUI_EVENT_CLOSE, "CloseEvent")
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "PrimaryDownEvent")

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

    Opt("GUICoordMode",2)
    $Button_1 = GUICtrlCreateButton ("Run Notepad", 10, 30, 100)
    $Button_2 = GUICtrlCreateButton ( "Button Test", 0, -1)

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

    GUISetState () ; will display an dialog box with 2 button

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

    ; Run the GUI until the dialog is closed
    While 1
    Sleep(100)
    Wend

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

    Func PrimaryDownEvent()
    $ctrlMsg = GUIGetCursorInfo()
    $ctrlMsg = $ctrlMsg[4]
    Select
    Case $ctrlMsg = $Button_1
    Run('Notepad.exe') ; Will Run/Open Notepad
    Case $ctrlMsg = $Button_2
    MsgBox(0, 'Testing', 'Button 2 was pressed') ; Will demonstrate Button 2 being pressed
    EndSelect
    EndFunc

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

    Func CloseEvent()
    Exit
    EndFunc

    [/autoit]
  • Inidatei schreiben unter Vista

    • bernd670
    • 22. Mai 2008 um 19:57

    Hallo,

    ich habe es gerade mal getestet, es liegt wohl daran das der normale Benuter nur lesende Rechte auf das neue Verzeichnis hat!

  • Button Funktion ausführen mit "onClick"

    • bernd670
    • 22. Mai 2008 um 19:07

    Hallo,

    ich versteh zwar den Sinn noch nicht ganz aber so gehts:


    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $myGUI = GUICreate("My GUI Button") ; will create a dialog box that when displayed is centered

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

    Opt("GUICoordMode",2)
    $Button_1 = GUICtrlCreateButton ("Run Notepad", 10, 30, 100)
    $Button_2 = GUICtrlCreateButton ( "Button Test", 0, -1)

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

    GUISetState () ; will display an dialog box with 2 button

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg(1)
    Select
    Case $msg[0] = $GUI_EVENT_CLOSE
    ExitLoop

    Case $msg[0] = $GUI_EVENT_PRIMARYDOWN
    $aCGP = ControlGetPos($myGUI, "" ,$Button_1)
    If $msg[3] > $aCGP[0] And $msg[3] < $aCGP[0] + $aCGP[2] And $msg[4] > $aCGP[1] And $msg[4] < $aCGP[1] + $aCGP[3] Then Run('Notepad.exe') ; Will Run/Open Notepad

    $aCGP = ControlGetPos($myGUI, "" ,$Button_2)
    If $msg[3] > $aCGP[0] And $msg[3] < $aCGP[0] + $aCGP[2] And $msg[4] > $aCGP[1] And $msg[4] < $aCGP[1] + $aCGP[3] Then MsgBox(0, 'Testing', 'Button 2 was pressed') ; Will demonstrate Button 2 being pressed
    ;~ Case $msg[0] = $Button_1
    ;~ Run('Notepad.exe') ; Will Run/Open Notepad
    ;~ Case $msg[0] = $Button_2
    ;~ MsgBox(0, 'Testing', 'Button 2 was pressed') ; Will demonstrate Button 2 being pressed
    EndSelect
    Wend

    [/autoit]
  • NameSpace Problem

    • bernd670
    • 22. Mai 2008 um 11:13

    Hallo,

    die Zählvariable in der For-Schleife wird immer automatisch als LOCAL definiert!

    Zitat von Aus der Hilfe

    The Variable will be created automatically with a LOCAL scope, even when MustDeclareVars is on.

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™