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

Beiträge von ip_trainer

  • AVI-Aufnahme mit Webcam funktioniert nicht

    • ip_trainer
    • 9. Oktober 2011 um 23:03

    Super BugFix, auf dich ist immer Verlass! Vielen Dank...

  • AVI-Aufnahme mit Webcam funktioniert nicht

    • ip_trainer
    • 9. Oktober 2011 um 02:07

    Hallo,

    ich habe aus diesem Thread hier (http://www.autoitscript.com/forum/topic/27…age__hl__webcam) unten stehendes Skript (von verschiedenen Stellen zusammengesucht). Die Screenshots klappen, aber das Aufnehmen eines Films klappt nicht. Ich habe schon einiges ausprobiert, aber nichts hat funktioniert. Es wird zwar eine AVI-Datei angelegt, aber die hat 0KB.

    Hat jemand eine Idee, wo das Problem liegt? Oder funktioniert es ggf. bei euch sogar - auf der Seite hat sich nie jemand beschwert (außer einem, der hatte eine TV-Karte), das die Funktion nicht funktioniert.

    Gruß
    Trainer

    Spoiler anzeigen
    [autoit]

    #include-once
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>

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

    ;Konstanten - START
    #Region
    $WM_CAP_START = 0x400
    $WM_CAP_UNICODE_START = $WM_CAP_START +100
    $WM_CAP_PAL_SAVEA = $WM_CAP_START + 81
    $WM_CAP_PAL_SAVEW = $WM_CAP_UNICODE_START + 81
    $WM_CAP_UNICODE_END = $WM_CAP_PAL_SAVEW
    $WM_CAP_ABORT = $WM_CAP_START + 69
    $WM_CAP_DLG_VIDEOCOMPRESSION = $WM_CAP_START + 46
    $WM_CAP_DLG_VIDEODISPLAY = $WM_CAP_START + 43
    $WM_CAP_DLG_VIDEOFORMAT = $WM_CAP_START + 41
    $WM_CAP_DLG_VIDEOSOURCE = $WM_CAP_START + 42
    $WM_CAP_DRIVER_CONNECT = $WM_CAP_START + 10
    $WM_CAP_DRIVER_DISCONNECT = $WM_CAP_START + 11
    $WM_CAP_DRIVER_GET_CAPS = $WM_CAP_START + 14
    $WM_CAP_DRIVER_GET_NAMEA = $WM_CAP_START + 12
    $WM_CAP_DRIVER_GET_NAMEW = $WM_CAP_UNICODE_START + 12
    $WM_CAP_DRIVER_GET_VERSIONA = $WM_CAP_START + 13
    $WM_CAP_DRIVER_GET_VERSIONW = $WM_CAP_UNICODE_START + 13
    $WM_CAP_EDIT_COPY = $WM_CAP_START + 30
    $WM_CAP_END = $WM_CAP_UNICODE_END
    $WM_CAP_FILE_ALLOCATE = $WM_CAP_START + 22
    $WM_CAP_FILE_GET_CAPTURE_FILEA = $WM_CAP_START + 21
    $WM_CAP_FILE_GET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 21
    $WM_CAP_FILE_SAVEASA = $WM_CAP_START + 23
    $WM_CAP_FILE_SAVEASW = $WM_CAP_UNICODE_START + 23
    $WM_CAP_FILE_SAVEDIBA = $WM_CAP_START + 25
    $WM_CAP_FILE_SAVEDIBW = $WM_CAP_UNICODE_START + 25
    $WM_CAP_FILE_SET_CAPTURE_FILEA = $WM_CAP_START + 20
    $WM_CAP_FILE_SET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 20
    $WM_CAP_FILE_SET_INFOCHUNK = $WM_CAP_START + 24
    $WM_CAP_GET_AUDIOFORMAT = $WM_CAP_START + 36
    $WM_CAP_GET_CAPSTREAMPTR = $WM_CAP_START + 1
    $WM_CAP_GET_MCI_DEVICEA = $WM_CAP_START + 67
    $WM_CAP_GET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 67
    $WM_CAP_GET_SEQUENCE_SETUP = $WM_CAP_START + 65
    $WM_CAP_GET_STATUS = $WM_CAP_START + 54
    $WM_CAP_GET_USER_DATA = $WM_CAP_START + 8
    $WM_CAP_GET_VIDEOFORMAT = $WM_CAP_START + 44
    $WM_CAP_GRAB_FRAME = $WM_CAP_START + 60
    $WM_CAP_GRAB_FRAME_NOSTOP = $WM_CAP_START + 61
    $WM_CAP_PAL_AUTOCREATE = $WM_CAP_START + 83
    $WM_CAP_PAL_MANUALCREATE = $WM_CAP_START + 84
    $WM_CAP_PAL_OPENA = $WM_CAP_START + 80
    $WM_CAP_PAL_OPENW = $WM_CAP_UNICODE_START + 80
    $WM_CAP_PAL_PASTE = $WM_CAP_START + 82
    $WM_CAP_SEQUENCE = $WM_CAP_START + 62
    $WM_CAP_SEQUENCE_NOFILE = $WM_CAP_START + 63
    $WM_CAP_SET_AUDIOFORMAT = $WM_CAP_START + 35
    $WM_CAP_SET_CALLBACK_CAPCONTROL = $WM_CAP_START + 85
    $WM_CAP_SET_CALLBACK_ERRORA = $WM_CAP_START + 2
    $WM_CAP_SET_CALLBACK_ERRORW = $WM_CAP_UNICODE_START + 2
    $WM_CAP_SET_CALLBACK_FRAME = $WM_CAP_START + 5
    $WM_CAP_SET_CALLBACK_STATUSA = $WM_CAP_START + 3
    $WM_CAP_SET_CALLBACK_STATUSW = $WM_CAP_UNICODE_START + 3
    $WM_CAP_SET_CALLBACK_VIDEOSTREAM = $WM_CAP_START + 6
    $WM_CAP_SET_CALLBACK_WAVESTREAM = $WM_CAP_START + 7
    $WM_CAP_SET_CALLBACK_YIELD = $WM_CAP_START + 4
    $WM_CAP_SET_MCI_DEVICEA = $WM_CAP_START + 66
    $WM_CAP_SET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 66
    $WM_CAP_SET_OVERLAY = $WM_CAP_START + 51
    $WM_CAP_SET_PREVIEW = $WM_CAP_START + 50
    $WM_CAP_SET_PREVIEWRATE = $WM_CAP_START + 52
    $WM_CAP_SET_SCALE = $WM_CAP_START + 53
    $WM_CAP_SET_SCROLL = $WM_CAP_START + 55
    $WM_CAP_SET_SEQUENCE_SETUP = $WM_CAP_START + 64
    $WM_CAP_SET_USER_DATA = $WM_CAP_START + 9
    $WM_CAP_SET_VIDEOFORMAT = $WM_CAP_START + 45
    $WM_CAP_SINGLE_FRAME = $WM_CAP_START + 72
    $WM_CAP_SINGLE_FRAME_CLOSE = $WM_CAP_START + 71
    $WM_CAP_SINGLE_FRAME_OPEN = $WM_CAP_START + 70
    $WM_CAP_STOP = $WM_CAP_START + 68
    #EndRegion
    ; Konstanten - ENDE

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

    $avi = DllOpen("avicap32.dll")
    $user = DllOpen("user32.dll")
    $snapfile = @ScriptDir & "\scrshot.bmp"
    $moviefile = @ScriptDir & "\record.avi"

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

    $Main = GUICreate("Camera",350,270)
    $cap = DllCall($avi, "int", "capCreateCaptureWindow", "str", "cap", "int", BitOR($WS_CHILD,$WS_VISIBLE), "int", 15, "int", 15, "int", 320, "int", 240, "hwnd", $Main, "int", 1)

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

    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_CONNECT, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_SCALE, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_OVERLAY, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEW, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEWRATE, "int", 1, "int", 0)

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

    GUISetState(@SW_SHOW)

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

    HotKeySet("!1", "SnapShot") ;ALT+1 --> Snapshot
    HotKeySet("!2", "StartRecording") ;ALT+2 --> Aufnahme starten
    HotKeySet("!3", "StopRecording") ;ALT+3 --> Aufnahme beenden

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_CALLBACK_FRAME, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_END, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_DISCONNECT, "int", 0, "int", 0)
    DllClose($avi)
    DllClose($user)
    Exit
    EndIf
    Sleep(1)
    Wend

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

    ;--------------- Funktionen -----------------------
    Func SnapShot()
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_GRAB_FRAME_NOSTOP, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_FILE_SAVEDIBA, "int", 0, "str", $snapfile)
    EndFunc

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

    Func StartRecording()
    WinSetTitle($Main, "", "WebCam - Capturing...")
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_FILE_SET_CAPTURE_FILEA, "int", 0, "str", $moviefile)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SEQUENCE, "int", 0, "int", 0)
    EndFunc

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

    Func StopRecording()
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_STOP, "int", 0, "int", 0)
    WinSetTitle($Main, "", "WebCam - Ready")
    EndFunc

    [/autoit]
  • StringFormat macht komische Sachen (?)

    • ip_trainer
    • 23. August 2011 um 16:37

    Super, danke für die schnelle Hilfe!

  • StringFormat macht komische Sachen (?)

    • ip_trainer
    • 23. August 2011 um 16:27

    Hallo,

    kann mir jemand erklären, warum die obere Zeile (ohne den 2. Backslash) einen "Tabsprung" erzeugt?

    [autoit]

    ConsoleWrite(StringFormat("\wav\test\%s.wav", "offen") & @CR)
    ConsoleWrite(StringFormat("\wav\\test\%s.wav", "offen") & @CR)

    [/autoit]

    Danke für Hilfe
    Trainer

  • checkbox mit button bestätigen

    • ip_trainer
    • 20. August 2011 um 20:50

    Gern geschehen.

    Bitte überprüfe mal deine privaten Nachrichten!

  • checkbox mit button bestätigen

    • ip_trainer
    • 20. August 2011 um 17:53

    Hi,

    dann dürfte das hier sein, was du meinst, oder?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\users\luc fonjallaz\desktop\eigene dateien\autoit\form1.kxf
    $Form1_1 = GUICreate("DerVersuch", 127, 180, 364, 130)
    GUISetBkColor(0x00FFFF)
    $kasten3 = GUICtrlCreateCheckbox("Englisch", 8, 40, 89, 17)
    $knopf = GUICtrlCreateButton("OK", 8, 136, 97, 33, 0)
    $kasten = GUICtrlCreateCheckbox("Französisch", 8, 8, 97, 17)
    $kasten1 = GUICtrlCreateCheckbox("Deutsch", 8, 72, 97, 17)
    $kasten2 = GUICtrlCreateCheckbox("Schweizer-Deutsch", 8, 104, 113, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1

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

    $nMsg = GUIGetMsg()
    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $knopf
    If GUICtrlRead($kasten) = $GUI_CHECKED Then MsgBox(0, "", "Französisch")
    If GUICtrlRead($kasten1) = $GUI_CHECKED Then MsgBox(0, "", "Deutsch")
    If GUICtrlRead($kasten2) = $GUI_CHECKED Then MsgBox(0, "", "Schweizer-Deutsch")
    If GUICtrlRead($kasten3) = $GUI_CHECKED Then MsgBox(0, "", "Englisch")

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

    EndSwitch

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

    WEnd

    [/autoit]

    Noch besser wäre dann aber vermutlich das hier, da kann nämlich keine Mehrfachauswahl getroffen werden, falls du das nicht willst...

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\users\luc fonjallaz\desktop\eigene dateien\autoit\form1.kxf
    $Form1_1 = GUICreate("DerVersuch", 127, 180, 364, 130)
    GUISetBkColor(0x00FFFF)

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

    $radio_1 = GUICtrlCreateRadio("Französisch", 8, 8, 97, 17)
    $radio_2 = GUICtrlCreateRadio("Deutsch", 8, 72, 97, 17)
    $radio_3 = GUICtrlCreateRadio("Schweizer-Deutsch", 8, 104, 113, 17)
    $radio_4 = GUICtrlCreateRadio("Englisch", 8, 40, 89, 17)
    $knopf = GUICtrlCreateButton("OK", 8, 136, 97, 33, 0)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $knopf
    If GUICtrlRead($radio_1) = $GUI_CHECKED Then MsgBox(0, "", "Französisch")
    If GUICtrlRead($radio_2) = $GUI_CHECKED Then MsgBox(0, "", "Deutsch")
    If GUICtrlRead($radio_3) = $GUI_CHECKED Then MsgBox(0, "", "Schweizer-Deutsch")
    If GUICtrlRead($radio_4) = $GUI_CHECKED Then MsgBox(0, "", "Englisch")

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

    EndSwitch

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

    WEnd

    [/autoit]


    Gruß
    Trainer

  • checkbox mit button bestätigen

    • ip_trainer
    • 20. August 2011 um 17:26

    Sei so gut und poste doch mal den gui-schnipsel als quellcode..

  • SQL-Befehle in einer SQLite-Datenbank speichern

    • ip_trainer
    • 20. August 2011 um 17:22

    Danke - ich denke mal damit werde ich es hinbekommen!

    Gruß
    Trainer

  • SQL-Befehle in einer SQLite-Datenbank speichern

    • ip_trainer
    • 20. August 2011 um 16:48

    Hi BugFix,

    danke für deine Antwort.

    Ich hab's mir durchgelesen, aber ich verstehe es nicht. Kannst du mal bitte noch ein Mini-Bsp. oder einen Hinweis geben?

    Danke
    Trainer

  • SQL-Befehle in einer SQLite-Datenbank speichern

    • ip_trainer
    • 20. August 2011 um 16:39

    Hallo,

    kennt jemand eine gute Methode, wie man SQL-Befehle in einer SQLite-Datenbank speichern kann, ohne dass die Datenbank durcheinander gerät (will sagen den zu speichernden SQL-Befehl gleich versucht mitauszuführen).
    Ein Sicherheitsproblem ist es in diesem konkreten Fall nicht, ich suche nur eine geeignete Methode die Daten umzuwandeln. In untem stehenden Beispiel wären die SQL-Befehle in $anweisung vorgehalten.

    Vielleicht string->Hex?

    Und wie sieht es mit der max. Zeichenanzahl aus, was kann denn ein String speichern? Das müsste bei einer Umwandlung natürlich auch mitbedacht werden.

    Und Sonderzeichen?

    Oh, ich glaube es gibt doch einiges zu beachten :rolleyes: ...

    [autoit]


    _SQLite_Exec(-1, StringFormat("INSERT INTO `anweisungen` (`anweisung`) VALUES ('%s')", $anweisung))

    [/autoit]


    Danke für jede Hilfe!

    Gruß
    Trainer

  • checkbox mit button bestätigen

    • ip_trainer
    • 20. August 2011 um 16:28

    Hi,

    meinst du so etwas?

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $form = GUICreate("Form1", 615, 438, 571, 228)
    $checkbox = GUICtrlCreateCheckbox("Programm beenden", 56, 80, 200, 17)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()

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

    Switch $nMsg

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

    Case $GUI_EVENT_CLOSE
    Exit

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

    ;Wenn die Checkbox angeklickt wird (Haken setzen / Haken entfernen)
    Case $checkbox

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

    ;Nur wenn der Haken gesetzt wird
    If GUICtrlRead($checkbox) = $GUI_CHECKED Then

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

    $box = MsgBox(4 + 16 + 262144, "Frage", "Programm wirklich beenden?")
    If $box = 6 Then Exit

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

    EndIf

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

    EndSwitch

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

    WEnd

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


    Gruß
    Trainer

  • Au3Check ohne errors-Fenster

    • ip_trainer
    • 19. August 2011 um 15:34

    Hallo Gemeinde,

    möglicherweise gibt es noch eine einfachere Alternative, aber hier ist meine Lösung für alle, die beim Starten/Compilieren eines Skripts zwar die Au3Check.exe ausführen lassen möchten, aber bei Fehlern keine Messagebox sehen wollen, sondern nur die Konsolenausgabe.

    Ich habe einfach eine Verknüpfung auf die .exe in den Autostart gelegt... vielleicht kann's ja jemand gebauchen, oder weiß wie es noch einfacher geht.

    Gruß
    Trainer

    P.S. Hier noch ein schönes Icon dazu: http://www.iconarchive.com/show/forum-fac…rator-icon.html

    no_au3check_popup.au3:

    [autoit]

    #include-once
    #include "Misc.au3"
    #include "Constants.au3"

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

    ;Tray-Menü anpassen
    Opt("TrayOnEventMode",1)
    Opt("TrayMenuMode",1)

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

    $exit = TrayCreateItem("Exit")
    TrayItemSetOnEvent(-1,"exit_event")

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

    ;Nur einen Start zulassen
    If _Singleton("no_au3check_popup", 1) = 0 Then Exit

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

    ;Fenster-Titel-Erkennungsmethode (auch Teil-Texte erkennen)
    AutoItSetOption("WinTitleMatchMode", 2)

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

    ;Auf Fenster warten
    While 1
    WinWait("Au3Check")
    $handle = WinGetHandle("Au3Check")
    WinClose($handle)
    WEnd

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

    Func exit_event()
    Exit
    EndFunc

    [/autoit]
  • Bildschirmtastatur trotz Handle nicht ansprechbar

    • ip_trainer
    • 19. Juni 2011 um 18:41

    Hi, danke für's Testen...

    Die Rückgaben bekomme ich auch. Nur machen tut er nichts.

    Betas verwende ich nicht. Weiß auch nicht, was da los ist. :(

  • Bildschirmtastatur trotz Handle nicht ansprechbar

    • ip_trainer
    • 19. Juni 2011 um 17:21

    Hallo,

    ich nehme hier Bezug auf folgenden Thread, bei dem es um das Starten der Bildschirmtastatur unter Windows 7 (64bit) ging: https://autoit.de/index.php?page=Thread&amp;threadID=27697
    Das Starten klappt nun also. Jedoch kann ich mit dem Fenster leider nicht weiterarbeiten (verschieben, ein- und ausblenden, etc.). Zu meiner Verwirrung liefern die entsprechenden Funktionen jedoch das Handle bzw. eine 1 (also alles erfolgreich) zurück.

    Hat jemad eine Idee, wie das zu lösen ist?

    Danke
    Trainer

    Hier der Code zu Testen:

    Spoiler anzeigen
    [autoit]

    #include-once
    #include "Array.au3"

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

    $handle = run_osk()
    ConsoleWrite($handle & @CRLF)

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

    $test = WinMove($handle, "Bildschirmtastatur", 0, 0)
    ConsoleWrite($test & @CRLF)

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

    $test = WinSetState($handle, "Bildschirmtastatur", @SW_HIDE)
    ConsoleWrite($test & @CRLF)

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

    $test = WinSetState($handle, "Bildschirmtastatur", @SW_SHOW)
    ConsoleWrite($test & @CRLF)

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

    ;----------------------------------------------------------------------------------------------------------------------------------
    Func Run_osk()

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

    Local $iState, $handle

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

    If @CPUArch = "X64" And Not @AutoItX64 Then
    DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "ptr", $iState)
    EndIf

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

    ShellExecute("osk.exe")

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

    $handle = WinHandFromPID(ProcessExists("osk.exe"), "Bildschirmtastatur")
    $handle = $handle[1][1]

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

    If @CPUArch = "X64" And Not @AutoItX64 Then
    DllCall("kernel32.dll", "int", "Wow64RevertWow64FsRedirection", "dword", $iState)
    EndIf

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

    Return $handle

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

    EndFunc

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

    ;----------------------------------------------------------------------------------------------------------------------------------
    Func WinHandFromPID($pid, $winTitle = "", $timeout = 8)
    Local $secs = TimerInit()
    Do
    $wins = WinList($winTitle)
    For $i = UBound($wins) - 1 To 1 Step -1
    If (WinGetProcess($wins[$i][1]) <> $pid) Or (BitAND(WinGetState($wins[$i][1]), 2) = 0) Then _ArrayDelete($wins, $i)
    Next
    $wins[0][0] = UBound($wins) - 1
    If $wins[0][0] Then Return SetError(0, 0, $wins)
    Sleep(1000)
    Until TimerDiff($secs) >= $timeout * 1000
    Return SetError(1, 0, $wins)
    EndFunc

    [/autoit]
  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:30

    Jo, ich hab's auch gerade gemerkt. SUPER !!! - dass war es. :thumbup:

    Vielen Dank.

    Und sorry nochmal, ich wollte dich nicht ignorieren, bin nur mit dem Testen und Tippen kaum mehr hinterhergekommen, da ist es durchgerutscht.

    Gruß
    Trainer

  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:24

    Ups, nein. Tut mir leid. Ich habe es getestet, aber es startet mir auch leider nur die alte XP-Tastatur.

  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:22

    Hab's probiert, klappt leider auch nicht...

  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:18

    @campweb: danke für das File - aber die alte XP-Tastatur kommt nicht mehr in Frage (zu klein) - da drücke ich auf meinem Touchscreen gleich 5 Tasten auf einmal :P

  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:16

    Nein, sind beides Administrator-Konten... :wacko:

  • Run("osk.exe") klappt nicht

    • ip_trainer
    • 19. Juni 2011 um 16:12

    Hm, aber im Ernst - ich hab es eben noch auf einem anderen Win7-Rechner getestet - klappt nicht. Unter XP klappt es.

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™