Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
1

Эмуляция нажатие клавиш в Windows 8

08.06.2012, 17:27. Просмотров 1888. Ответов 13
Метки нет (Все метки)


Доброго времени суток! Очень нуждаюсь в вашей помощи...

Есть данный код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
     hwndb := FindWindow(nil, PChar('Название окна'));
     if hwndb <> 0 then
      begin   Sleep(1000);
        label1.Caption:=label1.Caption+'go';
        keybd_event(69, 0, 0, 0);
        keybd_event(69, 0, KEYEVENTF_KEYUP, 0);
        //  Sleep(200);
        keybd_event(69, 0, 0, 0);
        keybd_event(69, 0, KEYEVENTF_KEYUP, 0);
        //  Sleep(200);
        keybd_event(87, 0, 0, 0);
        keybd_event(87, 0, KEYEVENTF_KEYUP, 0);
        //  Sleep(200);
        keybd_event(82, 0, 0, 0);
        keybd_event(82, 0, KEYEVENTF_KEYUP, 0);
        //  Sleep(200);
      end;
В общем то код рабочий если учитывать что на WIndows 7/XP он работает, но на Windows 8 просто игнорируется, есть какие нибудь соображение? или же какая нибудь альтернатива?

Заранее благодарен...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2012, 17:27
Ответы с готовыми решениями:

Эмуляция нажатия клавиш
помогите с кодом разобраться, не работает( Var PWD, Login : String; procedure...

Эмуляция хитрых клавиш.
Как эмулировать нажатие таких клавиш, как ':', '&gt;', '&lt;', ' &quot; ', &quot;?&quot; ? Заранее спасибо!

Эмуляция нажатий клавиш
У меня есть залогированы клавиши в блокноте в таком виде(много): Как мне заставить их из...

Эмуляция нажатия клавиш
Всем привет! Помогите написать простенькую программу. Что должна делать? Вводим число в Edit (в...

13
1299 / 705 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
08.06.2012, 17:44 2
Windows 8
еще не вышла. Так что спи.
0
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
08.06.2012, 18:07  [ТС] 3
Цитата Сообщение от Alex_pac Посмотреть сообщение
еще не вышла. Так что спи.
http://windows.microsoft.com/r... se-preview

пошел спать дальше...
0
HanDi
08.06.2012, 18:11
  #4

Не по теме:

Windows 8 Release Preview — это предварительная версия операционной системы Windows 8.

Windows 8 Release Preview — стабильная и тщательно протестированная операционная система, но это все же не готовый продукт.

Инфа оттуда же.

Спите оба.

0
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
08.06.2012, 20:42  [ТС] 5
в общем перерылся... элементарно никак не могу въехать, очень нужна ваша помошь, заного изложу сути проблемы...

Написал новый код:

Delphi
1
2
3
4
5
6
7
          Inp.Itype := INPUT_KEYBOARD;
          Inp.ki.wVk := VK_RETURN;
          Inp.ki.dwFlags := 0;
          SendInput(1, Inp, SizeOf(Inp));
            sleep(500);
          Inp.ki.dwFlags := KEYEVENTF_KEYUP;
          SendInput(1, Inp, SizeOf(Inp));
элементарно вроде бы всё, при его исполнении должен нажаться Enter, и всё работает на Windows 8 да и код из первого поста тоже работал, но увы в других риложениях (блокнот, браузер и т.д) я же пишу приложение для игры конкретнее для Warcraft III, что первый что второй код удачно работают на Windows 7 c Warcraft III но просто игнорируются при выполнении на WIndows 8, подскажите в чем может быть ещё проблема?
0
413 / 409 / 95
Регистрация: 06.10.2011
Сообщений: 832
08.06.2012, 20:53 6
saylar_06,

Не по теме:

Цитата Сообщение от saylar_06 Посмотреть сообщение
я же пишу приложение для игры конкретнее для Warcraft III
Оо, интересно, можно поинтересоваться в личку что за приложение? Я часто играю в варик в свободное время:)

0
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
08.06.2012, 22:33  [ТС] 7
Olivеr, пишу приложение для инвокера, хотелось нажатием одной клавиши(или комбинации) менять магии, приведенный мной код упешно работает так как я хочу на Windows 7, но вот на Windows 8 работать в Warcraft отказывается учитывая что работает если настроить на блокнот и т.д
0
HanDi
08.06.2012, 22:38
  #8

Не по теме:

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

1
6 / 4 / 0
Регистрация: 08.06.2012
Сообщений: 20
08.06.2012, 22:39 9
saylar_06 не устаеш копипастить с форума на форум?
0
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
09.06.2012, 10:06  [ТС] 10
Цитата Сообщение от HanDi Посмотреть сообщение

Не по теме:

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

эххх, во первых делаю её я для себя, а во вторых ты просто не видел на сколько быстро я кидаю магии при помощи это программы(уходят доли секунды, и единсвенный барьер это кд ульта) но тут не об этом, я пришел сюда в надежде что вы поможите мне с кодом...

Цитата Сообщение от robt Посмотреть сообщение
saylar_06 не устаеш копипастить с форума на форум?
да там не на одном из форумов я не получил толкового ответа, увы...

P.S Вопрос всё ещё открытый, мб есть какие нибудь соображения?
0
421 / 351 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
09.06.2012, 10:33 11
Может winapi попробовать??? что нибудь вроде getkeystate?..
1
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
09.06.2012, 11:03  [ТС] 12
Цитата Сообщение от Санек25 Посмотреть сообщение
Может winapi попробовать??? что нибудь вроде getkeystate?..
спасибо, но к сожалению это тоже не вариант...


В общем упорство и труд всё перетрут Просидев пол ночи, меня всё же осенило, проблему я решил, так что тему можно либо закрыть либо удалить, большое спасибо всем кто принял участие
0
421 / 351 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
09.06.2012, 11:06 13
saylar_06, Ну поделись опытом с людьми
0
0 / 0 / 0
Регистрация: 08.06.2012
Сообщений: 16
10.06.2012, 09:29  [ТС] 14
люди, все очень просто дело было не в самом коде, а в Winodws 8, дело в том что практические любое действие oc блокирует (даже при выключеном UAC и SmartScreen) нужно было дать программе уровень администратора(не просто открыть от имени администратора) а зайти в Свойства-->Совместимость-->Изменить параметры для всех пользователей--> и поставить галочку Выполнять программу от имени администратора!

и вооля всё заработало!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2012, 09:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Перехват и эмуляция клавиш
Здравствуйте, помогите написать программу которая будет перехватывать нажатие клавиш в другой...

Нажатие клавиш, Windows Driver
подскажите можно нажимать нужные мне клавиши в свёрнутом окне используя Windows Driver?

Как запретить нажатие определенных сочетаний клавиш на Windows 8?
1. Как запретить нажатие определенных сочетаний клавиш на Windows 8? 2. Как сделать форму поверх...

Перехватчик клавиш + эмуляция нажатия клавиш
Здравствуйте! Срочно нужна помощь! Моя программа работает в фоновом режиме. Мне нужно: 1) чтобы...

Одинаковая проверка на нажатие клавиш для нескольких элементов Windows Forms
Здравствуйте. У меня есть окно, в котором в нескольких элементах нужно провести проверку на...

Не ставится Windows XP на системник DEPO - нет реакции на нажатие клавиш ENTER / F3 / R
Знаете в начале установки винды, примерно на 4 - 5 минуте она предлагает нажать ENTER, либо F3,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.