Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Отмена работы кнопки Esc / 12 сообщений из 12, страница 1 из 1
27.07.2006, 17:28
    #33883014
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
На кнопке написан код:
Run('программа.exe')
"программа.exe" начинает работать. При нажатии на кнопку Esc "программа.exe" перестает работать. Надо как-то отловить нажатие на кнопку Esc и сказать Windows ХР, что ничего нажато не было. Короче, ПЕРЕД запуском "программа.exe" нужно как-то отменить работу кнопки Esc.
Просьба не спрашивать, зачем и для чего это делается. Просто если кто-то знает, напишите. Спасибо.
...
Рейтинг: 0 / 0
27.07.2006, 17:52
    #33883104
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#define VK_ESCAPE         0x1B
BOOL RegisterHotKey(
    HWND hWnd,	// window to receive hot-key notification
    int id,	// identifier of hot key
    UINT fsModifiers,	// key-modifier flags
    UINT vk 	// virtual-key code
   );

BOOL UnregisterHotKey(
    HWND hWnd,	// window associated with hot key
    int id 	// identifier of hot key
   );


RegisterHotKey( handle(w_main), 1, 0, VK_ESCAPE)

после этого ваше окно должно получать мессаги типа WM_HOTKEY (0x0312)
и на escape никто не должен реагировать...
...
Рейтинг: 0 / 0
27.07.2006, 19:20
    #33883387
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Где это пишется? Получаю error.
...
Рейтинг: 0 / 0
27.07.2006, 20:18
    #33883512
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
В объявлении вызова внешних процедур и функций
(такой большой, а в сказки веришь.......)
...
Рейтинг: 0 / 0
27.07.2006, 20:24
    #33883529
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Ну и надо помнить, что ни в одном работающем приложении кнопка Esc при этом работать не будет...
...
Рейтинг: 0 / 0
27.07.2006, 21:53
    #33883675
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
ФилиппНу и надо помнить, что ни в одном работающем приложении кнопка Esc при этом работать не будет...

Да. именно так.
поэтому надо научиться вовремя вызывать UnregisterHotKey...
( правда c ESC я не пробовал :)

RiskaГде это пишется?

Declare local external functions
Код: plaintext
1.
function boolean RegisterHotKey(long handle, long id, ulong fsModifiers, ulong vk) library "user32.dll"
function boolean UnregisterHotKey(long handle,long id ) library "user32.dll"

Function usage:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
long VK_ESCAPE= 27  //0x1B

/*to redirect ESCAPE to your application as WM_HOTKEY*/
RegisterHotKey( handle(w_main),  1 ,  0 , VK_ESCAPE)

/*to make ESCAPE working normally*/
UnregisterHotKey( handle(w_main),  1  )


...
Рейтинг: 0 / 0
30.07.2006, 10:02
    #33887432
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Спасибо. Работает. А как отключить всю клавиатуру? Есть функция
Код: plaintext
function integer BlockInput(boolean fBlockIt) library "user32.dll"
Но она отключает и мышь тоже. Нужно мышку оставить работающей.
...
Рейтинг: 0 / 0
31.07.2006, 10:56
    #33888446
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
RiskaСпасибо. Работает. А как отключить всю клавиатуру? Есть функция
Код: plaintext
function integer BlockInput(boolean fBlockIt) library "user32.dll"
Но она отключает и мышь тоже. Нужно мышку оставить работающей.
А зачем?
...
Рейтинг: 0 / 0
31.07.2006, 14:03
    #33889169
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Estets RiskaСпасибо. Работает. А как отключить всю клавиатуру? Есть функция
Код: plaintext
function integer BlockInput(boolean fBlockIt) library "user32.dll"
Но она отключает и мышь тоже. Нужно мышку оставить работающей.
А зачем?
RiskaНа кнопке написан код:
Run('программа.exe')
"программа.exe" начинает работать. При нажатии на кнопку Esc "программа.exe" перестает работать. Надо как-то отловить нажатие на кнопку Esc и сказать Windows ХР, что ничего нажато не было. Короче, ПЕРЕД запуском "программа.exe" нужно как-то отменить работу кнопки Esc.
Просьба не спрашивать, зачем и для чего это делается. Просто если кто-то знает, напишите. Спасибо. :)
...
Рейтинг: 0 / 0
31.07.2006, 14:49
    #33889329
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
Я спрашивал, а зачем мышка в таком случае нужна, можно и ее отключить ;)

Странный подход в отключении клавиатуры, пользователи будут снимать программу кнопочкой "Reset", ее вы тоже заблокируете?
...
Рейтинг: 0 / 0
31.07.2006, 14:59
    #33889363
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
а почему бы не сделать ее ('программа.exe') невидемой после запуска ?
или findwindow/showwindow нельзя юзать ¿
...
Рейтинг: 0 / 0
31.07.2006, 17:02
    #33889843
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отмена работы кнопки Esc
zuzuа почему бы не сделать ее ('программа.exe') невидемой после запуска ?
или findwindow/showwindow нельзя юзать ¿
'программа.exe' - должна быть на экране. Доступа к коду нет (вообще отношения к РВ она не имеет). На любое нажатие кнопки она останавливается. Мышкой можно тыкать, а кнопочки нажимать - нефиг! :)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Отмена работы кнопки Esc / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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