Hallo,
ich habe eine Frage zu Sendkeys bzw. keybdevent()...
Ich möchte Tastatureingaben an ein geöffnetes Programm senden.
Nach der Methode keybdevent() habe ich es in einem früheren Projekt hinbekommen - jetzt, mit VirtualDub, klappt es nicht.
Ich möchte das Programm öffnen, alt tab gedrückt halten (damit das Programm im Vordergrund ist) und loslassen.
Danach soll alt f an das Programm gesendet werden.
Leider kommt beim Programm nichts an...
Sollte ich es lieber mit Sendkeys probieren?(da klappt es)
Habe den Eindruck, dass Sendkeys eher verpönt ist...
Gibt es Vorteile, wenn man keybd_event() verwendet?
Aber da ich eher Anfänger bin, denke ich das ich es mit Sendkeys eher hinbekomme...
Was soll ich tun?
Vielen Dank...
ich habe eine Frage zu Sendkeys bzw. keybdevent()...
Ich möchte Tastatureingaben an ein geöffnetes Programm senden.
Nach der Methode keybdevent() habe ich es in einem früheren Projekt hinbekommen - jetzt, mit VirtualDub, klappt es nicht.
Ich möchte das Programm öffnen, alt tab gedrückt halten (damit das Programm im Vordergrund ist) und loslassen.
Danach soll alt f an das Programm gesendet werden.
Leider kommt beim Programm nichts an...
Sollte ich es lieber mit Sendkeys probieren?(da klappt es)
Habe den Eindruck, dass Sendkeys eher verpönt ist...
Gibt es Vorteile, wenn man keybd_event() verwendet?
Aber da ich eher Anfänger bin, denke ich das ich es mit Sendkeys eher hinbekomme...
Was soll ich tun?
Vielen Dank...
VB.NET-Quellcode
- Option Strict On
- Imports System.IO
- Imports System.Runtime.InteropServices
- Public Class Form1
- <DllImport("user32.dll")> Private Shared Sub keybd_event(bVk As Byte, bScan As Byte, dwFlags As UInteger, dwExtraInfo As UIntPtr)
- End Sub
- Private Shared Sub keybd_event(dwFlags As UInteger, dx As Integer, dy As Integer, dwData As UInteger, dwExtraInfo As Integer)
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim pfad_filme As String = "C:\_tägliche_AV-Aufnahme\#S8-auto-entw\_zu_entwackelnde_Filme\"
- Dim ordner As New IO.DirectoryInfo(pfad_filme), i As Integer = 0
- Dim präfix As String = "0", anzdateien As Integer = 0, anzdateienAVI As Integer = 0
- Const KEYEVENT_ALT As UInteger = &H12
- Const KEYEVENT_TAB As UInteger = &H9
- Const KEYEVENT_ENTER As UInteger = &HD
- Const KEYEVENT_SPACE As UInteger = &H20
- Const KEYEVENT_DOWN As UInteger = &H28
- Const KEYEVENT_UP As UInteger = &H26
- Const KEYEVENT_RIGHT As UInteger = &H27
- Const KEYEVENT_F As UInteger = &H46
- Const KEYEVENT_V As UInteger = &H56
- Const KEYEVENT_D As UInteger = &H44
- Const KEYEVENT_1 As UInteger = &H31
- Const KEYEVENT_4 As UInteger = &H34
- Const KEYEVENT_0 As UInteger = &H30
- Const KEYEVENT_8 As UInteger = &H38
- Const KEYEVENT_KEYUP = &H2
- Process.Start("C:\VirtualDub2\Virtual Dub II\VirtualDub2_44282\VirtualDub64.exe")
- 'mit alt tab aktivieren
- Threading.Thread.Sleep(1000)
- keybd_event(KEYEVENT_ALT, 0, 0, 0, 0)
- keybd_event(KEYEVENT_TAB, 0, 0, 0, 0)
- Threading.Thread.Sleep(1000)
- keybd_event(KEYEVENT_TAB, 0, KEYEVENT_KEYUP, 0, 0)
- keybd_event(KEYEVENT_ALT, 0, KEYEVENT_KEYUP, 0, 0)
- Threading.Thread.Sleep(1000)
- 'ALT + f (ALT alleine drücken geht nicht!!!)
- keybd_event(KEYEVENT_ALT, 0, 0, 0, 0)
- keybd_event(KEYEVENT_F, 0, 0, 0, 0)
- Threading.Thread.Sleep(1000)
- keybd_event(KEYEVENT_ALT, 0, KEYEVENT_KEYUP, 0, 0)
- keybd_event(KEYEVENT_F, 0, KEYEVENT_KEYUP, 0, 0)
- End Sub
-