title image


Smiley da hab' ich schon was...
entweder mit SendMessage oder mit PostMessage



Schau's dir mal durch.



Gruß

Gaga





Option Explicit





'Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _

'                         (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long







Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _

                         (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long



Private Declare Function GetForegroundWindow Lib "user32" () As Long





Private Const VK_B = &H42

Private Const VK_D = &H44

Private Const VK_E = &H45

Private Const VK_F = &H46

Private Const VK_K = &H4B

Private Const VK_P = &H50

Private Const VK_Q = &H51

Private Const VK_Y = &H59



Private Const VK_F8 = &H77

Private Const VK_F10 = &H79





Private Const VK_CONTROL = &H11

Private Const VK_LEFT = &H25

Private Const VK_RIGHT = &H27

Private Const VK_DOWN = &H28

Private Const VK_RETURN = &HD





Private Const WM_SYSKEYDOWN = &H104

Private Const WM_SYSKEYUP = &H105

Private Const WM_SYSCHAR = &H106



Private Const WM_CHAR = &H102

'

Private Const WM_KEYDOWN = &H100

Private Const WM_KEYUP = &H101

'





Private Sub Command3_Click()

Dim hwnd As Long

Dim lParam As Long

   

   '// Programm starten

   Shell "D:\TextPad\TextPad.exe", vbNormalFocus

   '// Zeit geben

   DoEvents

   '// Wenn Zeit nicht reicht evtl. DoEvents in Warteschleife oder Timer

   

   '// Fensterhandle holen

   hwnd = GetForegroundWindow



      lParam = 0

      PostMessage hwnd, WM_KEYDOWN, VK_F8, lParam

      PostMessage hwnd, WM_KEYUP, VK_F8, lParam



'      PostMessage hwnd, WM_KEYDOWN, VK_CONTROL, lParam

'      PostMessage hwnd, WM_KEYDOWN, VK_F, lParam

'      PostMessage hwnd, WM_KEYUP, VK_F, lParam

'      PostMessage hwnd, WM_KEYUP, VK_CONTROL, lParam

'

'      PostMessage hwnd, WM_KEYDOWN, VK_P, lParam

'      PostMessage hwnd, WM_KEYUP, VK_P, lParam



   Unload Me

End Sub





Private Sub Command2_Click()

Dim hwnd As Long

Dim lParam As Long

   

   '// Programm starten

   Shell "D:\TextPad\TextPad.exe", vbNormalFocus

   '// Zeit geben

   DoEvents

   '// Wenn Zeit nicht reicht evtl. DoEvents in Warteschleife oder Timer

   

   '// Fensterhandle holen

   hwnd = GetForegroundWindow



      

      lParam = 0

      PostMessage hwnd, WM_KEYDOWN, VK_F10, lParam

      PostMessage hwnd, WM_KEYUP, VK_F10, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_RIGHT, lParam

      PostMessage hwnd, WM_KEYUP, VK_RIGHT, lParam



      PostMessage hwnd, WM_KEYDOWN, VK_RIGHT, lParam

      PostMessage hwnd, WM_KEYUP, VK_RIGHT, lParam



      PostMessage hwnd, WM_KEYDOWN, VK_RIGHT, lParam

      PostMessage hwnd, WM_KEYUP, VK_RIGHT, lParam



      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam



      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_DOWN, lParam

      PostMessage hwnd, WM_KEYUP, VK_DOWN, lParam

      

      PostMessage hwnd, WM_KEYDOWN, VK_RETURN, lParam

      PostMessage hwnd, WM_KEYUP, VK_RETURN, lParam



      DoEvents

      SetTextBoxText hwnd







'   Unload Me

End Sub

























Private Sub Command1_Click()

Dim hwnd As Long

Dim lParam As Long

   

   '// Programm starten

   Shell "D:\TextPad\TextPad.exe", vbNormalFocus

   '// Zeit geben

   DoEvents

   '// Wenn Zeit nicht reicht evtl. DoEvents in Warteschleife oder Timer

   

   '// Fensterhandle holen

   hwnd = GetForegroundWindow

   

   '// 1.Möglichkeit

      

      '// Parameter für PostMessage setzen

      lParam = 0

      '// Bit 15 setzen: &H8000& = 2^15

      lParam = lParam Or &H8000&

      '// Bit 29 setzen: &H20000000 = 2^29 (Alt)

      lParam = lParam Or &H20000000



      '// Tasten senden

      PostMessage hwnd, WM_SYSCHAR, VK_D, lParam

      PostMessage hwnd, WM_SYSCHAR, VK_F, lParam



   

   '// 2.Möglichkeit

      

'      '// Parameter für PostMessage setzen

'      lParam = 0

'      '// Bit 15 setzen: &H8000& = 2^15

'      lParam = lParam Or &H8000&

'      '// Bit 29 setzen: &H20000000 = 2^29 (Alt)

'      lParam = lParam Or &H20000000

'      PostMessage hWnd, WM_SYSKEYDOWN, VK_K, lParam

'      PostMessage hWnd, WM_SYSKEYDOWN, VK_E, lParam

'

'      lParam = 0

'      '// Bit 15 setzen: &H8000& = 2^15

'      lParam = lParam Or &H8000&

'      '// Bit 29 setzen: &H20000000 = 2^29 (Alt)

'      lParam = lParam Or &H20000000

'      '// Bit 30 setzen: &H40000000 = 2^30 (ist unten)

'      lParam = lParam Or &H40000000

'

'      '// Tasten loslassen

'      PostMessage hWnd, WM_SYSKEYUP, VK_E, lParam

'      PostMessage hWnd, WM_SYSKEYUP, VK_K, lParam



'   Unload Me

End Sub

   

   









 Code eingefügt mit Syntaxhighlighter 1.16
Gruß
Gaga

___________________________________________________________________

Profilösungen für VB6
wenn nicht anders angegeben, sind alle Codebeispiele nicht getestet, nur getippt


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: