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

  • Frage zum Ergebnisfenster von msg.exe

    • bernd670
    • 5. Juli 2018 um 15:48

    Hallo,

    Zitat von Code4Fun

    wie nennt man diese Art von Fenster im Fachjargon

    Ein Fenster das erst bestätigt werden muss, bevor man was anderes machen kann nennt man "System Modal".

  • SNMP HP Switche - MAC-Überwachung

    • bernd670
    • 16. Mai 2018 um 18:31

    Hallo,

    du kannst doch PortSecurity so konfigurieren das der Port disabled wird, sobald ein fremdes Gerät angstöpselt wird. Das meinte @Zec wohl mit "Abschaltung". Der Port bleibt dann sollange disabled bis der Admin in wieder aktiviert, zusätzlich kann der Switch auch noch ein Trap senden, sobald der Port disabled wurde.

  • Canonical Names

    • bernd670
    • 7. Mai 2018 um 19:05

    Hallo,

    es gibt noch das Komnadozeilentool assoc vielleicht hilft dir ja das weiter.

  • Neustart

    • bernd670
    • 6. Mai 2018 um 22:51
    Zitat von Peter S. Taler

    die Du dann immer wieder aufrufst

    wozu er dann wieder eine Endlosschleife benötigt, wenn es nicht in einer Endlosrekursion enden soll, welche immer ein Stack Overflow zur folge hat.

  • Canonical Names

    • bernd670
    • 6. Mai 2018 um 21:45
    Zitat von BigRox

    Das ging bisher bei AutoIt immer mit:

    Run(@ComSpec & " /c " & "control.exe /name Microsoft.DefaultPrograms /page pageFileAssoc", "", @SW_HIDE)

    Probier es mal mit der CLSID

    Run("explorer shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966} -Microsoft.DefaultPrograms\pageFileAssoc", "", @SW_HIDE)

  • Button

    • bernd670
    • 6. Mai 2018 um 16:53

    Hallo,

    schau dir mal in der Hilfe das Beispiel zu GUICtrlCreateButton an. Ansonsten gibt hier im Forum schon tausende von Beispielen.

  • Neustart

    • bernd670
    • 6. Mai 2018 um 16:43

    Hallo,

    dafür gibt es in AutoIt keine Funktion. Aber je nachdem was dein Script macht, kannst du deinen Code in ein While True ... Wend packen oder du nutzt die Restart-UDF.

  • Zeitberechnung - Rundung

    • bernd670
    • 5. Mai 2018 um 10:32

    Hallo,

    mit ein wenig Modulo und _DateAdd geht es auch.

    AutoIt
    #include <Date.au3>
    
    #Region Simulation
    ConsoleWrite("Simulation (06:00 - 09:59)" & @CRLF)
    $sDT_format = _NowCalcDate() & " %02i:%02i"
    For $hour = 6 To 9
        For $min = 0 To 59
            $sDT = StringFormat($sDT_format, $hour, $min)
            $sBeginDT = _DateAdd("n",(Mod($min,5) ? 5 - Mod($min,5) : 0), $sDT)
            $sEndDT = _DateAdd("n", 510, $sBeginDT) ; plus 8,5h
            ConsoleWrite("Buchungszeit: " & _DateTimeFormat($sDT, 4) & " -> Arbeitszeit: " & _DateTimeFormat($sBeginDT, 4) & " bis " & _DateTimeFormat($sEndDT, 4) & @CRLF)
        Next
    Next
    #EndRegion
    
    #Region Echtzeit
    ConsoleWrite("Echtzeit (Dauer: 1h)" & @CRLF)
    For $runtime = 0 To 59
        Sleep(60000 - (@SEC & @MSEC)) ; warten bis zur nächsten Minute
        $sDT = _NowCalc()
        $sBeginDT = _DateAdd("n",(Mod(@Min,5) ? 5 - Mod(@Min,5) : 0), $sDT)
        $sEndDT = _DateAdd("n", 510, $sBeginDT)
        ConsoleWrite("Buchungszeit: " & _DateTimeFormat($sDT, 4) & " -> Arbeitszeit: " & _DateTimeFormat($sBeginDT, 4) & " bis " & _DateTimeFormat($sEndDT, 4) & @CRLF)
    Next
    #EndRegion
    Alles anzeigen
  • Vorhandene! bcdedit.exe kann NiCHT vom Script ausgeführt werden weil es diese exe nicht findet

    • bernd670
    • 5. Mai 2018 um 01:08

    Hallo,

    sysnative kann aber leider nur von 32bit Programmen benutzt werden. Wenn etwas braucht was sowohl von 64bit als auch unter 32bit funktioniert, kann man das so machen wie es z.B. von OPSI genutzt wird. Man legt sich im Windows-Verzeichnis eine Kopie / Link zur 64bit cmd an mklink %windir%\cmd64.exe %windir%\system32\cmd.exe. Danach kann man von 32bit und 64bit Programmen mit Run(@WindowsDir & "\cmd64.exe /c ....."  auf die 64bit Umgebung zugreifen.

  • Vorhandene! bcdedit.exe kann NiCHT vom Script ausgeführt werden weil es diese exe nicht findet

    • bernd670
    • 4. Mai 2018 um 21:28

    Der gesuchte Thread ist wohl Windows-Fax und -Scan aufrufen. Das ist aber bei bcdedit.exe nicht der Fall. Wäre aber auch egal, denn AutoIt ist auch in der Lage diese, per Hardlink verknüpfte Dateien, zu starten. Da die Datei aber nur im system32-Verzeichnis liegt, hat Candyland wohl nur vergessen auf 64Bit umzuschalten.

  • Vorhandene! bcdedit.exe kann NiCHT vom Script ausgeführt werden weil es diese exe nicht findet

    • bernd670
    • 4. Mai 2018 um 20:46

    Hallo,

    nutzt du evtl. eine 64bit-Version von Windows? Dann probiers mal mit #AutoIt3Wrapper_UseX64=y.

  • Canonical Names

    • bernd670
    • 4. Mai 2018 um 13:48

    Hallo,

    unter Windows 10 gibt es die Möglichkeit via DISM.exe /Online /Export-DefaultAppAssociations:<PATH_TO_XML> die Zuordnung der Standard-Apps zu exportieren. Diese XML kann man sich dann anpassen und via DISM.exe /Online /Import-DefaultAppAssociations:<PATH_TO_XML> die neue Zuordnung Importieren. In der Version 1709 erhält man bei DISM.exe /Online /Export-DefaultAppAssociations:<PATH_TO_XML> evtl. den Fehler 0x80004002, dann kann man sich mit DISM.exe /Online /Get-DefaultAppAssociations > <PATH_TO_XML> behelfen.

  • Programm als Admin ausführen mit eingeschränkten Rechten

    • bernd670
    • 3. Mai 2018 um 16:37
    Zitat von Tuxedo

    Leider funktioniert das aber nur, wenn das Programm das mit erhöhten Rechten laufen soll, nicht schon von sich aus Adminrechte erfordert.

    Gibt es hier eine Möglichkeit, auch über RunAs als normaler Benutzer ein Programm als Admin zu starten das schon selbst per Manifest

    Adminrechte anfordert.

    Dann hast du aber in deinem Sciprt evtl. noch ein #RequireAdminstehen, dass solltest du dann entfernen.

  • Programm als Admin ausführen mit eingeschränkten Rechten

    • bernd670
    • 2. Mai 2018 um 22:07

    Hallo,

    du bnötigst nur einen Benutzer mit Adminrechten und vier Zeilen zusätzlichen Code, um dein Script mit Adminrechten zu starten. Folgender Code muß am Anfang deines Scriptes eingefügt werden.

    AutoIt
    If Not IsAdmin() Then
        RunAs("<localadminuser>", @ComputerName, "<password>", 0, @ScriptFullPath, @ScriptDir, @SW_HIDE)
        Exit
    EndIf

    Sollte es sich beim Benutzer um ein Domänenkonto handeln, muß @ComputerName durch die Domäne ersetzt werden.

    Der Code prüft ob das mit administrativen Rechten gestartet wurde, ist das nicht der Fall, wird das Programm erneut als Administrator gestartet und das ohne administrative Rechte, wird beendet.

    Sollte in deinem Programm _Singleton aufgerufen werden, müssen die Zeilen davor eingefügt werden.

  • Tee Timer - Timer mit Countdown-Balken

    • bernd670
    • 24. April 2018 um 04:46

    Hallo,

    du meinst nicht zufällig den Pizzatimer von Oscar

  • Windows Aktivierung Status

    • bernd670
    • 24. April 2018 um 04:33

    Hallo,

    ändern kann man den Scripthost mit dem Parameter //H: cscript //H:cscript aktiviert cscript und cscript //H:wscript aktiviert wscript als StandardScripthost. Alles weitere wird bei Windows Scripting FAQ recht gut erklärt.

  • PC Herunterfahren erzwingen

    • bernd670
    • 22. April 2018 um 17:50

    Hallo,

    hast du dir schon mal die Bemerkungen beim Shutdown-Befehl angeschaut?

    Zitat

    The shutdown code is a combination of the following values:

    $SD_LOGOFF (0) = Logoff

    $SD_SHUTDOWN (1) = Shutdown

    $SD_REBOOT (2) = Reboot

    $SD_FORCE (4) = Force

    $SD_POWERDOWN (8) = Power down

    $SD_FORCEHUNG (16) = Force if hung

    $SD_STANDBY (32) = Standby

    $SD_HIBERNATE (64) = Hibernate


    Alles anzeigen

    Shutdown(5) od. Shutdown(17) wäre wohl das was du suchst.

  • Windows Aktivierung Status

    • bernd670
    • 20. April 2018 um 19:13

    Hallo,

    wenn der Standardskripthost auf cscript umgestellt ist, funktioniert die Version von BugFix nicht mehr. Besser wäre es so

    AutoIt
    Run("wscript.exe slmgr.vbs /dlv", @SystemDir, @SW_HIDE)
    $hScripthost = WinWait("Windows Script Host")
    $sText = WinGetText($hScripthost)
    WinClose($hScripthost)
    ConsoleWrite($sText & @CRLF)

    oder du nimmst gleich den Skripthost cscript, dann stört auch das Ausgabefenster von wscript nicht mehr

    AutoIt
    #include <AutoItConstants.au3>
    
    $PID = Run("cscript.exe slmgr.vbs /dlv", @SystemDir, @SW_HIDE, $STDOUT_CHILD)
    
    $sOutput = ""
    While True
        $sOutput &= StdoutRead($PID)
        If @error Then ExitLoop
    WEnd
    
    $sOutput = _OemToChar($sOutput) ; damit Umlaute richtig dargestellt werden
    
    ConsoleWrite($sOutput & @CRLF)
    
    ;===============================================================================
    ; Name:             _OemToChar
    ; Description:      Wandelt einen ASCII- in einen ANSI-String
    ; Parameter(s):     $szSrc = String der umgewandelt werden soll
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: umgewandelter String
    ;                   bei Fehler: "" und @error = 1
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func _OemToChar($szSrc)
    ;~ Private Declare Function OemToChar Lib "user32.dll" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
    
        Local $strSrc = DllStructCreate("char[" & StringLen($szSrc) + 1 & "]")
        Local $strDst = DllStructCreate("char[" & StringLen($szSrc) * 2 + 1 & "]")
        DllStructSetData($strSrc, 1, $szSrc)
        DllStructSetData($strDst, 1, 0)
    
        Local $lRetVal = DllCall("user32.dll", "long", "OemToChar", "ptr", DllStructGetPtr($strSrc), "ptr", DllStructGetPtr($strDst))
        If IsArray($lRetVal) And $lRetVal[0] = 1 Then
            Return SetError(0, 0, DllStructGetData($strDst, 1))
        EndIf
    
        Return SetError(1, 0, "")
    EndFunc   ;==>_OemToChar
    Alles anzeigen
  • "query user" mit Run( ) aufrufen - Ergebnis auslesen

    • bernd670
    • 20. April 2018 um 06:08

    Hallo Bugfix,

    du solltest nach dem Aufruf von query.exe noch ein

    AutoIt
    If @OSArch = 'X64' Then DllCall('kernel32.dll', 'boolean', 'Wow64EnableWow64FsRedirection', 'boolean', True)

    hinzufügen.

    Siehe Hinweise bei Wow64EnableWow64FsRedirection function

  • Datei Time (Erstellung, Bearbeitung, letzter Zugriff) mit unterschiedlichen Ergebnissen

    • bernd670
    • 31. März 2018 um 18:06

    Unison habe ich unter Linux im Einsatz, um auf 3 Proxy-Servern die Konfigurationen zu syncronisieren.

    Wenn auch eine Versionskontrolle benötigt wird, kann ich dir Git empfehlen, das funktioniert auch ohne Server.

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™