Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

HotKey in CONSOLE   Найти похожие ветки 

 
Jay1982 ©   (2005-02-02 10:15) [0]

Могу назначить хоткей на консольное приложение, а как его теперь обрабатывать? DefWindowProc что-то не рабоает.
И ещё есть-ли аналог паскалевской ClsScr?


 
Jay1982 ©   (2005-02-02 11:33) [1]

Второй вопрос решён, если кому надо, держите

procedure CLS;
var
 sbi: TConsoleScreenBufferInfo;
 num, num_res: LongWord;
 cpos: _COORD;
begin
 GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), sbi);
 cpos.X := 0;
 cpos.Y := 0;
 num := sbi.dwSize.X * sbi.dwSize.Y;
 FillConsoleOutputCharacter(c_handle, " ", num, cpos, num_res);
 SetConsoleCursorPosition(c_handle, cpos)
end;

Первый всё ещё остается открытым :(


 
Jay1982 ©   (2005-02-02 11:49) [2]

Да забыл, вот ещё:

 c_handle := GetStdHandle(STD_OUTPUT_HANDLE);


 
palva ©   (2005-02-02 13:34) [3]

По поводу обработки hotkey.

Я понимаю так, что в консольном приложении нет главного окна и нет цикла обработки сообщений, так что надо делать всё вручную, так, как это когда-то программировалось под дос. Получайте ввод с клавиатуры только через написанную вами функцию, где проверяйте код горячей клавиши. Стандартными функциями ввода типа Read тогда уже пользоваться нельзя.


 
Jay1982 ©   (2005-02-02 14:12) [4]

palva ©   (02.02.05 13:34) [3]
 Приложение как раз имеет главную форму, а найти её можно так: GetForegroundWindow, при активации приложения. И все WM_* события для него акутуальны.
 Можно конечно просто проверять ввод, ну а если приложение не активно, то что делать?
 Тут надо всё-таки как-то обрабатывать WM_HOTKEY :(

 Ещё предложения



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.047 c
6-1102693128
Шелест вёсел
2004-12-10 18:38
2005.02.20
Как Установить Компоненты ClientSocket и ServerSocket В D7?


14-1106805956
Внук
2005-01-27 09:05
2005.02.20
Нобелевские соискатели


6-1102876092
User_32
2004-12-12 21:28
2005.02.20
Локальная сеть


1-1107865106
sancheskas
2005-02-08 15:18
2005.02.20
PageControl


8-1099763404
focor
2004-11-06 20:50
2005.02.20
Multyinstal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский