Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Имитация нажатия кнопок на клавиатуре


Автор: Adanedel 4.2.2009, 12:47
Добрый день, заморочился такой проблеой:
необходимо чтобы программа имитировала нажатие кнопок на клавиатуре в другой программе, если быть точнее в игрушке. т.е. программа должна с небольшими промежутками нажимать кнопки имитируя присутсвие пользователя за компьютером. как это можно реализовать и через какие функции?

Автор: diadiavova 4.2.2009, 13:44
Microsoft.VisualBasic.Devices.Keyboard или System.Windows.Forms.SendKeys.

Автор: Adanedel 4.2.2009, 14:32
спасибо) буду пробовать)
тока вот будет ли это нажатие воспринято другими приложениями?

Автор: DesTPor 11.2.2009, 14:57
По идее должно, ты же пепредаёшь команду типо как с самого устройства а не в определённое приложение, если не получится юзай API

Автор: Pilger 11.2.2009, 21:35
С игрушками лучше работать через:
Код

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer


С ними приложение может быть даже неактивным или свернутым.
Как с ними работать, я писал тут уже где то. Еще есть:

Код

    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)