Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как програмным путем в ехе - файле симулировать нажатие клавиши Enter?

24K
23 апреля 2007 года
Piligrim
6 / / 21.04.2007
Как програмным путем в ехе - файле симулировать нажатие клавиши Enter?
15K
24 апреля 2007 года
vja
85 / / 09.01.2007
windows api

keybd_event( VK_RETURN, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
257
26 апреля 2007 года
kosfiz
1.6K / / 18.09.2005
[quote=vja]keybd_event( VK_RETURN, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );[/quote]
впринципе то нормалек(на поставленный вопрос ответ исчерпывающий), только есть одно НО... если надо симулировать нажатие на какой-то определенной кнопке, то прежде чем вызывать keybd_event надо установить фокус ввода на нужной кнопке, а то будет нажата первая попавшаяся, имеющая фокус.
вообщем Piligrim проблему подробней опиши: что нажать? на чем? ну и что за прога?
24K
26 апреля 2007 года
Piligrim
6 / / 21.04.2007
И еще по ходу вопрос: далее я считываю с диска файл - Graf5, мне нужно в этом файле столбци с 45 по 90 переписать на место с 0 по 44, и снова его записать на диск. При том варианте, как у меня - выдается ошибка при компиляции:
C:\Program Files\Microsoft Visual Studio\MyProjects\ExecCmd1\Graf_exec\Graf_exec.cpp(64) : error C2601: 'fRdDblMxE' : local function definitions are illegal
C:\Program Files\Microsoft Visual Studio\MyProjects\ExecCmd1\Graf_exec\Graf_exec.cpp(85) : error C2601: 'fWrDblMx' : local function definitions are illegal
Error executing cl.exe.
Как мне ее исправить?
Признателен за помощь!
257
26 апреля 2007 года
kosfiz
1.6K / / 18.09.2005
нашел на диске у себя этот Deductor, поставил. кнопка, та, уже имеет фокус ввода, т.е. нужно только вызвать keybd_event. вот набросал тебе примерчик:
 
Код:
#include "windows.h"
...........................
ShellExecute(0,"open","C:\\Program Files\\BaseGroup\\Deductor5\\Deductor\\Bin\\DStudio.exe",NULL,NULL,1);
Sleep(5000);
HWND hwnd=FindWindow(NULL,"О программе");
if (hwnd!=0){
SetForegroundWindow(hwnd);
keybd_event( VK_RETURN, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 );
}

этот код делает как раз то, что тебе нужно. осталось тебе собственно с ним разобраться, посмотри обязательно мсдн и т.д.
24K
26 апреля 2007 года
Piligrim
6 / / 21.04.2007
А как на счет второго вопроса, о перезаписи файлов с диска?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог