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

Beiträge von Racer

  • Icon verstecken (Systray)

    • Racer
    • 4. Dezember 2018 um 12:09

    Sorry für meine späte Rückmeldung, aber zur Zeit ist viel zu tun!

    Micha_he: Leider funktioniert das Ausblenden mit Deinen Funktionen nicht (mehr?) unter Windows 10 - oder ich mache was falsch:/

    in die Varable $sTitle habe ich den Programmnamen / Prozessnamen / Titelnamen ,... geschrieben, aber es wird nicht gefunden.

    Habe ich da eine Fehler gemacht???

    lg

    Racer

  • Icon verstecken (Systray)

    • Racer
    • 22. November 2018 um 08:21

    vielen Dank!

    Ich werde es testen und berichten!

    lg

    Racer

  • Icon verstecken (Systray)

    • Racer
    • 21. November 2018 um 10:51

    Hallo!

    Ich habe eine kleines "optisches" Problem und hoffe ihr könnt mir weiterhelfen. Es gibt das schöne Programm unter %windir%\system32\PresentationSettings.exe (nur Windows PRO/Enterprise/...). Das Programm kann entweder auf "mobilen" Geräten oder nachdem man zwei RegKey setzt auf jeden Windows-Client aufrufen.

    Was macht das Tool: Hier kann man z.B.: den Bildschirmschoner für eine Präsentation ausschalten, Lautstärke einstellen...

    Soweit funktioniert das alles. Ich habe dazu ein kleines Autoit-Script geschrieben das ein bißchen die Steuerung darüber übernehmen soll. Im Großen und Ganzen wird mit einem RUN-Befehl das Programm gestartet. Soweit funktioniert das auch alles, nur es wird in der Taskleiste auch das Symbol (mit Kontextmenu) angezeigt.

    Ich würde gerne das Symbol ausblenden, weiß aber nicht wie. Den Prozess mit @sw_hide starten hilft hier leider nicht.

    Gibt es da eine Möglichkeit oder muss ich damit Leben wie es ist!

    lg

    Racer

  • Internet sperren für Prüfungssituationen

    • Racer
    • 29. Oktober 2018 um 11:54

    Hallo!

    Da ich auch mit Schulen zu tun habe und auch dort die selbe Aufgabe gestellt worden ist (Bei Schularbeiten, Tests,.. kein Internet) wurde das so gelöst: Der Lehrer hat ein Tool mit dem er seinen EDV-Saal einen falschen Proxy zuteilen kann...Damit kann kein Schüler mehr ins Internet!

    Die Benutzer der Schüler sind so stark eingeschränkt das diese auch nichts ändern können. Das Ganze funktioniert aber auf einer sehr komplexen Struktur und einer über viele Jahre entwicklten Funktions- und Programmstruktur. Daher kann ich Dir kein Script anbieten.

    Wie sich das Office 365 verhält wenn der Userproxy weg ist, kann ich Dir leider auch nicht sagen...

    lg

    Racer

  • The MATRIX build 2018-10-16

    • Racer
    • 12. Oktober 2018 um 13:41

    echo super! :thumbup:

    Ich steh auf Matrix ;)

    lg

    Racer

    PS: Set DOS2.1 unterwegs aber Mode 1000 kannte ich auch noch nicht!

  • Scripting.Dictionary Problem/Bug

    • Racer
    • 3. August 2018 um 08:47

    Hallo!

    Probiere es mal so:

    Code
    $sItem = "123"
    $oDictionary = ObjCreate("Scripting.Dictionary")
    $oDictionary.add ($sItem,"Eintrag")
    
    ConsoleWrite ("$oDictionary.exists:" & @tab & $oDictionary.exists($sItem) & @CRLF)
    ConsoleWrite ("$oDictionary.item(" & $sItem & "):" & @tab & $oDictionary.item($sItem) & @CRLF)
    ConsoleWrite ("$oDictionary.Exists(" & $sItem & "):" & @tab & $oDictionary.Exists($sItem) & @CRLF)
    ConsoleWrite ("$oDictionary.Count:" & @tab & $oDictionary.count & @CRLF)

    lg

    Racer

  • Status von Service abfragen

    • Racer
    • 16. Juli 2018 um 15:53

    :thumbup::)

  • Status von Service abfragen

    • Racer
    • 16. Juli 2018 um 10:36

    Wäre das nicht eleganter über WMI?

    https://www.autoitscript.com/forum/topic/31…unning-service/


    lg

    Racer

  • Laufwerksbuchstabe bei Partitionen USB Laufwerke und Bugfix cpl

    • Racer
    • 11. Juli 2018 um 11:14

    vielleicht hilft Dir mein Script - musst Du aber für Deine Bedürfnisse anpassen:

    Code
    ;****************************************************************
    ; Sucht alle USB-LW laut WMI mit den gegebenfalls zugehörigen
    ; Laufwerksbuchstaben
    ; Übergabe: -
    ; Rückgabe: 2D Array
    ;            Col0                                                        Col1
    ;            Kingston DTR30G2 USB Device|\\.\PHYSICALDRIVE4                 J:
    ;            Samsung Portable SSD T3 USB Device|\\.\PHYSICALDRIVE3        F:|G:
    ; Hinweis:  wird nichts gefunden, wird trotzden ein Array zurückgeliefert
    ;            im Index [0][0] steht immer die Anzahl der gefunden Laufwerke
    ;****************************************************************
    func _wmi_usb_lw ()
    
    
    local $disken
    local $anzahl = 0
    local $name
    local $Mediatype
    local $ans
    local $caption
    local $disknummer
    local $colItems
    local $A
    local $B
    local $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
    
    dim $dd[1][2]
    
    
    If IsObj($objWMIService) Then
        $colItems = $objWMIService.ExecQuery('select * from Win32_DiskDrive')
        If IsObj($colItems) Then
            For $oItem In $colItems
                $name = $oItem.Name
                $Mediatype = $oItem.MediaType
                $ans = $oItem.InterfaceType
                $caption = $oItem.Caption
                if ($ans = "USB" or $ans = "SCSI") and $Mediatype = "External hard disk media" Then
                    $anzahl = $anzahl + 1
                    ReDim $dd[$anzahl + 1][2]
                    $dd[$anzahl][0] = $caption & "|" & $name
                    ;print ($caption & @TAB & $Mediatype)
                EndIf
            Next
        endif
    EndIf
    
    $dd [0][0]= $anzahl
    
    if $dd [0][0] <> 0 Then
    
    
        for $i = 1 to $dd[0][0]
            $disknummer = StringRight ($dd[$i][0],1)
            ;print ("disknummer: " & $disknummer & @TAB & $dd[$i][0])
    
            $colItems = $objWMIService.ExecQuery('select * from Win32_LogicalDiskToPartition')
            If IsObj($colItems) Then
                For $oItem In $colItems
                    $A = $oItem.Antecedent                                            ;beinhaltet die Disknummer...
                    $B = $oItem.Dependent                                            ;beinhlatet den LW
    
                    if StringInStr ($A, "Disk #" & $disknummer) <> 0 Then
                        ;print (gettok ($b, "=", 2))
                        $dd[$i][1] = $dd[$i][1] & gettok ($b, "=", 2) & "|"
                    EndIf
                Next
                $dd[$i][1] = StringReplace ($dd[$i][1], '"' , '')
                if StringRight ($dd[$i][1], 1) = "|" Then
                    $dd[$i][1] = StringLeft ($dd[$i][1], StringLen ($dd[$i][1]) -1)
                EndIf
    
            EndIf
        Next
    EndIf
    
    Return ($dd)
    
    
    EndFunc
    ;****************************************************************
    Alles anzeigen

    lg

    Racer

  • Laufwerksbuchstabe bei Partitionen USB Laufwerke und Bugfix cpl

    • Racer
    • 11. Juli 2018 um 11:10

    viele Wege führen nach Rom...

    Ein Möglichkeit ist das Du über WMI die Disk/Partition herausfindest. Das hat noch nichts mit dem LW-Buchstaben zu tun:

    Schaue Dir mal vom WMI Win32_DiskDrive, Win32_DiskPartion und Win32_LogicalDiskToPartition an. Ein Wmi-Explorer (oder ähnliches Tool) hilft Dir hier die richtigen Felder zu finden.

    Via Diskpart hilft Dir list disk (damit siehst Du Deine Datenträger, dann die Disknr. mit sel disk # auswählen und mit list par die Partition zu selektieren. MIt list vol sieht Du alle Volumes (mit und ohne Laufwerksbuchstaben).

    Auch ein hilfreiches Tools list mountvol.exe ... hier siehst Du alle Volumes mit und ohne Buchstaben - muss ja nicht immer ein Buchstabe sein, es kann ja auch ein Mountpoint in ein Verzeichnis sein.

    Bedenke auch das Diskpart Adminrechte benötigt....

    Ach ja, eine USB-Disk wird unter Windows 7 (USB) anders im WMI angesprochen als unter Windows 10 (SCSI) - vielen Dank liebe Microsoft :)

    lg

    Racer

  • Laufwerksbuchstabe bei Partitionen USB Laufwerke und Bugfix cpl

    • Racer
    • 9. Juli 2018 um 13:24

    Du kannst ein Script Diskpart übergeben: diskpart.exe /s meinscript.dsp

    Um einen Laufwerk einen Buchstaben zuzuordnen muss vorher die Disk / Volume / Partition mit select ausgewählt werden und dann kannst Du assgin den Rest erledigen.

    Guck'st Du hier: https://www.disk-partition.com/diskpart/assig…etter-4125.html

    lg

    Racer

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 23. Mai 2018 um 11:22

    Ich bin dem Moment mit den Tests unter WinPE fertig geworden.

    Um WinHTTP unter WinPE nutzen zu können muss man die Winhttpcom.dll und winhttp.dll in in das %system32% Verzeichnis kopiern (sofern nicht schon vorhanden). Dann funktioniert das Script.

    Leider ist noch nicht das gewünscht Ergebnis da, denn ich bekomme vom Webserver die "Default-Webseite" anstatt dem Download :(

    Da muss ich mich noch damit spielen bis es passt!

    Auf jedenfall ist mein Problem mit Eurer Hilfe gelöst - vielen Dank an Alle!

    lg

    Racer

    Die MS sagt vieles nicht was dann doch geht ;)

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 23. Mai 2018 um 10:23

    Guten Morgen liebe AutoIt'ler!

    Ich habe einen kleinen Erfolg: Auf meinen Client hat es zuerst auch mit der $oHTTP.Option(4) = 13056 nicht funkioniert. Erst als ich ein @CRLF eingefügt habe ist es Problemlos gelaufen....

    Code
    Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET", "https://IP_des_Server/test.cfg" & @CRLF)  ;ohne @CRLF gehts nicht!
    $oHTTP.Option(4) = 13056
    $oHTTP.Send()
    $File = $oHTTP.ResponseText()
    ConsoleWrite ($File & @CRLF)

    so, jetzt kommt WinPE an die Reihe...

    lg

    Racer

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 22. Mai 2018 um 17:21

    timee000: Nein, ich Depp! Ich habe es zwar gelesen aber nicht gewusst wohin damit. Wird morgen sofort getestet!

    alpines: Ja, das könnte sein das unter WinPE eine oder mehrer DLL's fehlen. Ich werde das checken...

    lg

    Racer

    PS: vielen Dank für Eure Geduld!

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 22. Mai 2018 um 13:13

    Sorry für fehlenden Zeilenumbrüche - ist beim kopieren scheinbar verlorgen gegangen!

    Danke für die Erklärung - das kannte ich noch nicht!

    lg

    Racer

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 22. Mai 2018 um 11:42

    Ich bin erst jetzt dazugekommen das empfohlene WinHTTP zu testen. Leider sieht es nicht ganz so gut aus (liegt aber eher an mir :)

    Code
    Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET", "https://IP_des_Server/test.cfg")
    $oHTTP.Send()$File = $oHTTP.ResponseText

    Die Zeile 2 ist Unternehmensintern und sieht anders aus. Den Link übernehme ich aus dem Browser um Tippfehler zu vermeiden...

    Es kommt aber am Ende ein Fehler:

    $File = $oHTTP.ResponseText
    $File = $oHTTP^ ERROR

    Leider kenne ich mich damit zu wendig aus...


    Mit dem Script

    Code
    Func _GetRest($sHost, $sPath, $bSSL = True)
        $hSession = _WinHttpOpen()
        $hConnect = _WinHttpConnect($hSession, $sHost, $bSSL ? 443 : 80)
        Local $sHTML = ""    If $bSSL Then        
            $sHTML = _WinHttpSimpleSSLRequest($hConnect, "GET", $sPath)    
        Else       
            $sHTML = _WinHttpSimpleRequest($hConnect, "GET", $sPath)    
        EndIf    _WinHttpCloseHandle($hConnect)    
    _WinHttpCloseHandle($hSession)    
    Return $sHTMLEndFunc
    Endfunc
    Alles anzeigen

    hatte ich schon mehr Erfolg, zumindest unter Windows 7. Unter WinPE läuft es leider nicht so gut und ich bekomme immer nur 0 heraus, anstatt des gewüschten Datei.

    Und wenn ich schon dabei mit, kann mir bitte die Zeile "$hConnect = _WinHttpConnect($hSession, $sHost, $bSSL ? 443 : 80)" mit den letzten Parameter erklären? Was ist das "$bSSL ? 443 : 80" ???

    lg

    Racer

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 16. Mai 2018 um 13:16

    Vielen Dank!

    Ich werde das testen und berichten!

    lg

    Racer

  • InetRead bzw. Inetget mit HTTPS

    • Racer
    • 16. Mai 2018 um 12:05

    Hallo AutoItler!

    Ich habe vor länger Zeit einen Loader für eine LiveCD geschrieben. Der basiert noch auf einen HTTP-Download. Jetzt ist es aber an der Zeit das auf HTTPS umzustellen. Und da ist auch mein Problem: Der Download funktioniert nicht wenn das Zertifikat nicht am Client ist.

    Um das Problem einzugrenzen habe ich ein kleines Script zum Testen geschrieben:

    Spoiler anzeigen

    local $url = "https://IP_des_Server/test.cfg" ; Zensur
    local $localfile = "c:\test\test.cfg"
    local $handle = InetGet ($url, $localfile, 3, 0)

    mit der Option 3 (Forces a reload from the remote site & Ignore all SSL errors (with HTTPS connections) sollte ein Zertifikatsfehler ja ignioriert werden, tut es aber nicht!

    Um mögliche Eigenfehler auszuschliessen, kann ich die Datei auch via HTTP runter laden, es funktioniert auch wenn kein Zertifikatsfehler kommt (sprich auf meinen PC ist alles korrekt eingetragen).

    Ein weiter Test mit WGET https://IP_des_Server/test.cfg -Oc:\test\test.cfg --no-check-certificate funktioniert auch....

    Um die Frage warum ich nicht das Zertifikat vorab installiere: Das ist eine Henne / EI Problem, denn die Zertifikate vom Loader geladen und installiert werden :/

    Im Forum habe diesen Beitrag gefunden, leider ohne Lösung: InetRead bei REST-Api schlägt fehl

    Ideen dazu?

    lg

    Racer

  • Vergleichen zweier Ordner & mit Robocopy abgleichen

    • Racer
    • 7. April 2018 um 17:51

    Hallo Sugus!

    Ich finde die Idee sehr gut und für den einen oder andern Fall ist eine GUI praktischer als eine Konsole.

    Wenn Du den Kopiervorgang selbst mit einen Fortschrittsbalken versieht pept es das Programm etwas auf (meine Meinung). Ich habe dazu ein Script geschrieben das Du, wenn Du möchtest gerne benutzen kannst:

    C
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    
    
    local $parameter
    local $fortschritt
    local $line
    local $copytext  = "Fortschritt: "
    local $Robocopy
    local $Progress1
    local $text
    local $i
    local $tmp
    
    #Region ### START Koda GUI section ### Form=
    $Robocopy = GUICreate("Robocopy", @DesktopWidth / 2 , 36, @DesktopWidth / 4 , 0, $WS_POPUP)
    $Progress1 = GUICtrlCreateProgress(0, 0, @DesktopWidth / 2, 18)
    $text = GUICtrlCreateLabel ("", 10 , 19 , @DesktopWidth / 2 -20, 18)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AutoItSetOption ("TrayIconHide", 1)
    
    
    if $CmdLine[0] = 0  then
        consolewrite ("Error 1" & @crlf)
        exit (1)
    endif
    
    for $i = 1 to $CmdLine[0]
        $parameter = $parameter & $CmdLine[$i] & " "
    next
    
    local $robo = run(@ComSpec & " /c robocopy  /NDL /NJH /NJS /NS /NC " & $parameter , "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    
    while 1
        sleep (10)
    
        $line = StdoutRead($robo)
        if StringInStr ($line, "%") <> 0 then
            $line = StringStripWS ($line , 1)
            $line = StringReplace ($line, ".", " ")
            $tmp =  Stringleft ($line, 3)
            $tmp = $tmp + 0
            GUICtrlSetData ($text, $copytext & $tmp & "%")
            GUICtrlSetData ($Progress1, $tmp)
        endif
        if ProcessExists  ($robo) = 0 then exit
    Wend
    Alles anzeigen

    Mein Script ist für Parameterübergabe ausgelegt, kann aber selbstverändlich angepasst werden!

    lg

    Racer

  • Parameterauswertung für Konsolenprogramme

    • Racer
    • 13. November 2017 um 09:26

    Hallo Leute!

    Ich dachte nicht das meine kleine Funktion solche Emotionen hervorruft. Das wollte ich nicht damit bezwecken. Es sollte ein kleines Hilfstool (Funktion) sein für Scripter die öfter Kommandozeilen-Programme schreiben und Parameter übergeben.

    Die Grundsatzdiskussion ob es ein DOS-Fenster oder eine Eingabeaufforderung ist hier nicht wirklich angebracht.

    @Musashi: wenn ich Zeit habe werde ich die Funktion überarbeiten und meine "speziellen Pseudobefehle" entfernen. Da bin ich schon bei Dir das es Anfänger etwas schwerer haben könnten.

    Also, alles Cool und eine schöne Woche!

    lg

    Racer

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™