powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / имитировать нажатие клавиш юзером (под windows)
6 сообщений из 6, страница 1 из 1
имитировать нажатие клавиш юзером (под windows)
    #32652684
Всем Привет!
У меня вопрос:
Как можно имитировать нажатие клавиш юзером (под windows) в коде, так чтобы другая программа поймала и отреагировала, на пример на сочетание клавиш ctrl+enter или alt+s.

Я знаю что это возможно, но как не знаю.
Помогите пожалуйста кто может - очень важно для проекта.

Спасибо
...
Рейтинг: 0 / 0
имитировать нажатие клавиш юзером (под windows)
    #32652714
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может повесить хук ?

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
имитировать нажатие клавиш юзером (под windows)
    #32652805
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
keybd_event Function

--------------------------------------------------------------------------------

The keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver's interrupt handler calls the keybd_event function.

Windows NT/2000/XP:This function has been superseded. Use SendInput instead.


Syntax

VOID keybd_event( BYTE bVk,
BYTE bScan,
DWORD dwFlags,
PTR dwExtraInfo
);
Parameters

bVk
[in] Specifies a virtual-key code. The code must be a value in the range 1 to 254. For a complete list, see Virtual-Key Codes.
bScan
This parameter is not used.
dwFlags
[in] Specifies various aspects of function operation. This parameter can be one or more of the following values.
KEYEVENTF_EXTENDEDKEY
If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP
If specified, the key is being released. If not specified, the key is being depressed.
dwExtraInfo
[in] Specifies an additional value associated with the key stroke.
Return Value

This function has no return value.




Remarks

An application can simulate a press of the PRINTSCRN key in order to obtain a screen snapshot and save it to the clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT.

Windows NT/2000/XP: The keybd_event function can toggle the NUM LOCK, CAPS LOCK, and SCROLL LOCK keys.

Windows 95/98/Me: The keybd_event function can toggle only the CAPS LOCK and SCROLL LOCK keys. It cannot toggle the NUM LOCK key.

The following sample program toggles the NUM LOCK light by using keybd_event() with a virtual key of VK_NUMLOCK. It takes a Boolean value that indicates whether the light should be turned off (FALSE) or on (TRUE). The same technique can be used for the CAPS LOCK key (VK_CAPITAL) and the SCROLL LOCK key (VK_SCROLL).


Show Example

#include <windows.h>

void SetNumLock( BOOL bState )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );

// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}

void main()
{
SetNumLock( TRUE );
}


Function Information

Header Declared in Winuser.h, include Windows.h
Import library User32.lib
Minimum operating systems Windows 95, Windows NT 3.1

See Also

Keyboard Input, GetAsyncKeyState, GetKeyState, keybd_event, MapVirtualKey, SetKeyboardState

--------------------------------------------------------------------------------

© 2003 Microsoft Corporation. All rights reserved.
...
Рейтинг: 0 / 0
имитировать нажатие клавиш юзером (под windows)
    #32652812
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хмм я почемуто подумал , что он хочет , перехватить нажатие клавищь :))

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
имитировать нажатие клавиш юзером (под windows)
    #32656010
Огромное спасибо Lelikk
Буду пробовать :-)
...
Рейтинг: 0 / 0
имитировать нажатие клавиш юзером (под windows)
    #32656452
Фотография Serega128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetAsyncKeyState(key)

параметр key ищи в MSND
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / имитировать нажатие клавиш юзером (под windows)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]