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

  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 3. Mai 2008 um 15:09

    Ich will mich ja von der U3 Software trennen, da diese ohne Admin-Recht unter Windows 2000 SP4 nicht funktioniert und eine halbe Ewigkeit zum Starten braucht.

    Also erstelle ich eine neues ISO für das U3-CD-LW welches mir vom dazugehörigen ( hier liegt die Schwierigkeit ) U3-USB-Stick ein AutoIt-Menü-Tool starten soll, bzw. das die darin befindliche "autorun.inf" ausführt. Nur weiß ich nicht, wie das U3-Launchpad den zweiten Teil des U3-Sticks ermittelt, damit ich den Weg in AutoIt nachprogrammieren kann.

    Gruß
    micha_he

  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 3. Mai 2008 um 10:23

    1. Es geht jetzt. Wahrscheinlich ist die ID des Physikalischen Device das 9te Byte.

    2. Schade, nur leider funktioniert das bei CD/DVD-Laufwerken nicht. Es gibt scheinbar hier keine "Extents" zurück !

    Also wieder keine brauchbare Lösung um ohne Adminrecht an den U3-Stick-Buchstaben zu kommen.
    Hat jemand vielleicht noch eine Idee ?

  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 2. Mai 2008 um 15:11

    Hallo progandy

    Hat das Script bei Dir etwas ausgegeben ? Bei mir erscheint nur eine leere MsgBox !

  • ganz doofe frage!

    • Micha_he
    • 2. Mai 2008 um 14:52

    Du meinst bestimmt im SciTE ?

    Lösung (unter Umständen): Neue Datei einmal mit einem Dateinamen abspeichern !?

  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 2. Mai 2008 um 13:53

    Genau, auf dieser Seite steht das mit der Zuordnung per "IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS" unter anderem auch. Eine weitere Möglichkeit per WMI funktioniert leider nur mit Admin-Recht. Nur die Autoit-Umsetzung der Funktion "DeviceIoControl" will bei mir scheinbar nicht !
    Ein Beispiel unter AutoIt habe ich leider nirgends gefunden. Wahrscheinlich übergebe ich falsche Parameter beim Aufruf. Der Contolcode "0x00560000" für "IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS" sollte eigentlich korrekt sein.

  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 2. Mai 2008 um 13:03

    Ich versuche zur Zeit die Zuordnung eines Laufwerk zum physikalische Device mit folgendem Script herauszufinden. Leider gibt die Funktion 'DeviceIoControl" nichts brauchbares zurück. Kann mir jemand bei der API-Funktion helfen ?

    Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    Global Const $IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS = 0x00560000
    Dim $bytes

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

    $handle = _APIFileOpen("\\.\C:")

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

    $ret = Dllcall("kernel32.dll","int","DeviceIoControl", _
    "hwnd",$handle, _
    "int",$IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, _
    "ptr",0, _
    "int",0, _
    "ptr",0, _
    "int",0, _
    "int*",$bytes, _
    "ptr",0)

    _ArrayDisplay($ret)

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

    _APIFileClose($handle)
    Exit

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

    ; _APIFileOpen( <FileName> )
    ;
    ; Returns a "REAL" file handle for reading and writing.
    ; The return value comes directly from "CreateFile" api.
    Func _APIFileOpen( $szFile )
    Local $GENERIC_READ = 0x80000000
    Local $GENERIC_WRITE = 0x40000000
    Local $OPEN_ALWAYS = 4
    Local $FILE_ATTRIBUTE_NORMAL = 0x00000080
    Local $AFO_h
    $AFO_h = DllCall( "kernel32.dll", "hwnd", "CreateFile","str", $szFile,"long", BitOR($GENERIC_READ,$GENERIC_WRITE),"long", 0,"ptr", 0,"long", $OPEN_ALWAYS,"long", $FILE_ATTRIBUTE_NORMAL,"long", 0 )
    Return $AFO_h[0]
    EndFunc

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

    ; _APIFileClose( <FileHandle> )
    ;
    ; The return value comes directly from "CloseHandle" api.
    Func _APIFileClose( $hFile )
    Local $AFC_r
    $AFC_r = DllCall( "kernel32.dll", "int", "CloseHandle","hwnd", $hFile )
    Return $AFC_r[0]
    EndFunc

    [/autoit]
  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 23. April 2008 um 18:37

    Wenn es aber mehreren U3-Stick funktionieren soll, müssten alle gleich heißen. Das wäre natürlich nicht so toll.

    Irgendwie kann Windows die beiden Buchstaben auch erkennen, da der "Hardware sicher entfernen" Dialog ja beide zusammen anzeigt !

    Vielleicht hilft dies weiter; Ein Tool von "Uwe Sieber" zeigt beide USB Geräte mit Laufwerksbuchstaben an. Einmal als Drivetype CDRom einmal als Removeable. Dann könnte ich über "Laufwerksbuchstabe (CD) --> Seriennummer der Devices --> Laufwerksbuchstabe (USB Stick)" den betroffenen Buchstaben ermitteln. Kann ich eine Abfrage nach dem Muster des Tools von Uwe Sieber in AutoIt oder per WMI nachbilden, ohne das ich die Ausgabe eines weiteren DOS-Befehls bemühen muss ???

    Dank nochmal an alle die helfen können
    Micha_he

    Dateien

    ListUsbDrives.zip 23 kB – 329 Downloads
  • LW-Buchstabe U3-Stick ermitteln

    • Micha_he
    • 23. April 2008 um 17:20

    Hi, ich habe folgendes Problem. Ein U3-Stick meldet sich mit einem CD-LW und einem USB-Stick am System. Nun möchte ich aus dem U3-Bereich (CD-LW) ein Autoit-Script starten, welches auf den normalen USB-Stick-Bereich zugreifen muss.

    Den Buchstaben aus dem das Script gstartet wird kann ich ja ermitteln, aber wie finde ich mit Autoit den passenden Laufwerksbuchstaben der USB-Stick-Partition ? Der Buchstabe kann ja genauso variieren und auch mit dem Festplatten-Manager verstellt werden !

    Besten Dank für alle Ideen...
    Micha_he

  • GUI Ohne Rand

    • Micha_he
    • 15. April 2008 um 00:04

    Ich habe so eine Art Widget auch mal geschrieben:
    Vielleicht hilfts...

    Ebay Widget

  • Ebay Widget

    • Micha_he
    • 15. April 2008 um 00:01

    Ich wollte es ja die ganze Zeit schon mal komplett hier veröffentlichen. Nun bin ich endlich mal dazu gekommen.

    Mein Ebay-Widget.
    - frei positionierbar
    - Position wird gespeichert
    - durchsichtiger Hintergrund
    - meiner Frau gefällts

    Gruß
    Micha_he

    Dateien

    Ebay_Widget.zip 4,84 kB – 305 Downloads Ebay_Widget.zip 4,84 kB – 527 Downloads
  • Viele Computer GLEICHZEITIG anrufen mit TCPConnect()

    • Micha_he
    • 14. April 2008 um 15:37

    ... oder vor dem TCPConnect() mit einem 'Ping("pcname",50)' prüfen ob die Maschine erreichbar ist.

  • Dim usw.

    • Micha_he
    • 22. März 2008 um 11:17

    siehe AutoIt Dim Hilfe

    Zitat

    Der Unterschiede zwischen Dim, Local und Global ist der Bereich, für den die Variablen deklariert werden:
    Dim = Lokaler Bereich, wenn der Variablennamen global nicht existiert (falls es der Fall ist, wird die globale Variable wiederverwendet!)
    Global = Erzwingt globale Gültigkeit der Variable
    Local = Erzwingt Gültigkeit der Variable lokal bzw. innerhalb der Funktion

    Const = Konstante, kann nach Deklaration nicht verändert werden

  • Problem GUIRegisterMsg und $WM_KEYDOWN

    • Micha_he
    • 22. März 2008 um 09:58
    Zitat von BugFix

    Hier die Erklärung aus der Hilfe:


    Also hast du einfach Pech. Es geht nicht.

    Das habe ich schon irgendwo gelesen, nur wird doch im GUI gar kein "Edit-Control" benutzt ! Sind doch alles "Labels"...

  • Problem GUIRegisterMsg und $WM_KEYDOWN

    • Micha_he
    • 21. März 2008 um 19:42

    Greenhorn: Mit "GUICtrlSetState([label],$GUI_NOFOCUS)" haut es nicht hin und den Fokus auf das GUI setzen, wie soll das gehen ?

    Ich werde mir die Möglichkeit mit CallBack mal ansehen. Ich habe nicht damit gerechnet, das das so kompliziert wird.
    Wenn ich die Label auf "$GUI_DISABLE" stelle, dann funktioniert die "ANYKEY" Taste wieder, nur sieht das nicht mehr gut aus !

  • Problem GUIRegisterMsg und $WM_KEYDOWN

    • Micha_he
    • 20. März 2008 um 23:56

    Hi ihr alle

    Ich habe eines der "Matrix"-Scripte aus eurem kleinen Programmierwettbewerb aufgegriffen und wollte es dahingehend anpassen, das es mittels Mausbewegung und "Any Key" beendet werden kann.
    Das wäre als Bildschirmschoner ja angebracht.

    Hier nun mein Versuch:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Opt("GUIOnEventMode",1)

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

    Global $a = 48 ; Anzahl der Spalten
    Global $sp[$a+1], $w = @DesktopWidth, $h = @DesktopHeight
    GUICreate('Matrix', $w, $h, -1, -1, BitOr($WS_MAXIMIZE,$WS_POPUP))
    GUISetOnEvent($GUI_EVENT_CLOSE,"_Ende") ; ESC-Taste beendet
    GUISetOnEvent($GUI_EVENT_MOUSEMOVE,"_Ende") ; Mausbewegung beendet
    GUISetBKColor(0x000000)
    For $i = 0 To $a
    $sp[$i] = GUICtrlCreateLabel('', 10+$i*Ceiling($w/($a)), 0, 18, $h, $SS_RIGHT)
    GUICtrlSetFont(-1, 12, 800, 0, 'Verdana')
    GUICtrlSetColor(-1, 0x00ff00)
    Next
    GUISetState()
    GUISetCursor(16,1) ; Mauszeiger verstecken
    GUIRegisterMsg($WM_KeyDown,"_Ende") ; jeder Tastendruck soll beenden

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

    $f = 0
    While 1
    If $f = 0 Then
    $y = Random(0, $a, 1)
    $y1 = Random(0, $a, 1)
    $y2 = Random(0, $a, 1)
    EndIf
    If Not($y=$y1 And $y=$y2) Then
    $r = StringLeft(GUICtrlRead($sp[$y]), 160)
    Switch Mod($y, 2)
    Case 0
    $c = StringRegExpReplace(Chr(Random(32, 122, 1)), '[@]', ' ' & @LF & ' ')
    Case Else
    $c = StringMid('123 456 789', Random(1, 11, 1), 1)
    EndSwitch
    $x = $y
    Else
    $f += 1
    If $f = 160 Then $f = 0
    $c = ' '
    $x = Random(0, $a, 1)
    $r = StringLeft(GUICtrlRead($sp[$x]), 160)
    EndIf
    GUICtrlSetData($sp[$x], $c & @LF & $r)
    WEnd

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

    Func _Ende()
    GUISetCursor(2,0)
    Exit
    EndFunc

    [/autoit]

    Nun funktioniert aber das Beenden beim Tastendruck nicht. Nehme ich die "GUICtrlCreateLabel" (Zeilen 10-14) heraus, dann klappt es wie auch in folgendem kleinen Test:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Opt("GUIOnEventMode",1)

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

    GUICreate("AnyKey Test", 175, 150)
    GUISetOnEvent($GUI_EVENT_CLOSE,"_Ende")
    ;GUISetOnEvent($GUI_EVENT_MOUSEMOVE,"_Ende")
    GUISetState()

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

    GUIRegisterMsg($WM_KeyDown,"_Ende")

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

    While 1
    Sleep(10)
    Wend

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

    Func _Ende()
    Exit
    EndFunc

    [/autoit]

    Hat jemand eine Lösung dafür ?
    Besten Dank für eure Hilfe

    micha_he

  • Autoit starten nach Sperrung des Computers

    • Micha_he
    • 26. Februar 2008 um 17:31
    Zitat

    also erstens fehlt in der zeile
    Zitat
    If _isWorkstationLocked() Then ConsoleWrite(@HOUR & ":" & @MIN & ":" & @SEC & " - " & "workstation locked" & @CRLF
    schonmal das EndIf

    Wenn auf das "Then" der Befehl folgt, wird kein "EndIf" geschrieben !

  • Zeiträume

    • Micha_he
    • 26. Februar 2008 um 12:41

    Meine Idee:

    [autoit]

    If @hour + (@min/60) > 11.75 And @hour + (@min/60) < 13.5 Then
    Msgbox(0,"","Nix tun")
    Else
    Msgbox(0,"","Ausführung")
    EndIf

    [/autoit]
  • Neuling hat einige Fragen

    • Micha_he
    • 26. Februar 2008 um 12:24

    Ich habe zwar von der Funktion jetzt keine Plan, aber muss die Zeile:

    _MemoryClose($pid)

    nicht:

    _MemoryClose($info)

    heißen ?

  • Reihenfolge MultiSelect

    • Micha_he
    • 25. Februar 2008 um 22:54

    Die Reihenfolge ist deswegen so wichtig, weil es dumm kommt, wenn ein Video nicht so zusammengefügt wird das der Anfang vorn, das Ende hinten und die Teile in der Mitte der Reihe nach kommen ;-).

    Ich habe den FileDialog extra erweitert um eine größere Anzahl an Dateien zusammenzufügen und dabei nicht jedesmal nur eine Datei wählen zu können. Bis ich dann bemerkte, das die Reihenfolge nicht passt.

    Greenhorn: Letzte Datei + andere alphabetisch passt aber auch nicht. Siehe meine Beispiele 1 und 3 im Startbeitrag !

  • Reihenfolge MultiSelect

    • Micha_he
    • 25. Februar 2008 um 19:38

    Ich möchte es ja gar nicht sortieren, sondern die Dateien in der Reihenfolge bearbeiten, in der sie ausgewählt wurden !

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™