Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Имитация нажатия клавиш на клавиатуре Добавлено: 11.04.07 19:24  

Автор вопроса:  Vital177abc | ICQ: 250109240 
Как симетировать нажатие клавиш на клавиатуре?
Подскажите кто знает.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #1 Добавлено: 11.04.07 20:50
SendKeys
GetAsyncKeyState

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 11.04.07 21:49
А теперь обратите внимание на эту тему
http://vbnet.ru/forum/show.aspx?id=136918

Как мне Vital177abc не послать в поиск? Или я опять флудер, флудераст, флудило, занимаюсь только флудерством и флудингом? :) Большенство людей такие темы просто игнорируют, а нормальные модераторы на нормальных форумах закрывают тему сразу. Я же, вежливо прошу топстартера попробовать найти ответ самому, воспользовавшись любой поисковой системой в интернете

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 11.04.07 23:19
Хакер, ты ФЛУДЕР, ибо ответ был уже дан, причем практически полный для среднего уровня программера и ты опять влез со своими претензиями!

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 11.04.07 23:51
Ну и что, что ответ уже дан? За то доходчиво объяснил в каких ситуациях стоит отправлять в поиск...

Ответить

Номер ответа: 5
Автор ответа:
 Vital177abc



ICQ: 250109240 

Вопросов: 3
Ответов: 4
 Профиль | | #5 Добавлено: 11.04.07 23:55
Спасибо.
Если можешь приведи пожайлуста строчку использования SendKeys, GetAsyncKeyState.
Зарание очень благодарен.

Ответить

Номер ответа: 6
Автор ответа:
 Vital177abc



ICQ: 250109240 

Вопросов: 3
Ответов: 4
 Профиль | | #6 Добавлено: 11.04.07 23:57
Я прийму к сведению сказаное HACKERом и постараюсь больше не флудить.

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 12.04.07 00:28
Это не флуд, это просто нежелание воспользоваться поиском.

Ответить

Номер ответа: 8
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #8 Добавлено: 12.04.07 09:20
SendKeys
(из MSDN)
Dim ReturnValue, I
ReturnValue = Shell("calc.exe", 1)   ' Run Calculator.
AppActivate ReturnValue    ' Activate the Calculator.
For I = 1 To 100   ' Set up counting loop.
   SendKeys I & "{+}", True   ' Send keystrokes to Calculator
Next I   ' to add each value of I.
SendKeys "=", True   ' Get grand total.
SendKeys "%{F4}", True   ' Send ALT+F4 to close Calculator.

Извиняюсь за GetAsyncKeyState, на автомате вписал. Эта функция возвращает код нажатой клавиши.

Ответить

Номер ответа: 9
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #9 Добавлено: 12.04.07 09:23
Вот с API:
(Из API-Guide)
Const VK_H = 72
Const VK_E = 69
Const VK_L = 76
Const VK_O = 79
Const KEYEVENTF_KEYUP = &H2
Const INPUT_MOUSE = 0
Const INPUT_KEYBOARD = 1
Const INPUT_HARDWARE = 2
Private Type MOUSEINPUT
  dx As Long
  dy As Long
  mouseData As Long
  dwFlags As Long
  time As Long
  dwExtraInfo As Long
End Type
Private Type KEYBDINPUT
  wVk As Integer
  wScan As Integer
  dwFlags As Long
  time As Long
  dwExtraInfo As Long
End Type
Private Type HARDWAREINPUT
  uMsg As Long
  wParamL As Integer
  wParamH As Integer
End Type
Private Type GENERALINPUT
  dwType As Long
  xi(0 To 23) As Byte
End Type
Private Declare Function SendInput Lib "user32.dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
    'Print the key on the form
    Me.Print Chr$(KeyAscii);
End Sub
Private Sub Form_Paint()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Clear the form
    Me.Cls
    'call the SendKey-function
    SendKey VK_H
    SendKey VK_E
    SendKey VK_L
    SendKey VK_L
    SendKey VK_O
End Sub
Private Sub SendKey(bKey As Byte)
    Dim GInput(0 To 1) As GENERALINPUT
    Dim KInput As KEYBDINPUT
    KInput.wVk = bKey  'the key we're going to press
    KInput.dwFlags = 0 'press the key
    'copy the structure into the input array's buffer.
    GInput(0).dwType = INPUT_KEYBOARD   ' keyboard input
    CopyMemory GInput(0).xi(0), KInput, Len(KInput)
    'do the same as above, but for releasing the key
    KInput.wVk = bKey  ' the key we're going to realease
    KInput.dwFlags = KEYEVENTF_KEYUP  ' release the key
    GInput(1).dwType = INPUT_KEYBOARD  ' keyboard input
    CopyMemory GInput(1).xi(0), KInput, Len(KInput)
    'send the input now
    Call SendInput(2, GInput(0), Len(GInput(0)))
End Sub

Ответить

Номер ответа: 10
Автор ответа:
 Vital177abc



ICQ: 250109240 

Вопросов: 3
Ответов: 4
 Профиль | | #10 Добавлено: 12.04.07 15:30
Большущее спасибо за помошь!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам