Форум: "Основная";
Текущий архив: 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