Alt+Enter

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Alt+Enter

Сообщение RENXFIL » 18.11.2011 21:46:17

Помогите пожалуйста, на Лазарусе написать процедуру или код, я не знаю как это должно выглядеть, везде искал, не нашёл чёта.
Как написать так, что-бы при запуске DOS окна с Лазуруса на языке Паскаля или приближённом к нему, окно чтобы не нажимать Alt+Enter, программа сама это делала. Очень надо :(
Чёт я искал кодировки, работал с кодами сканирования, чёт не чё не дало, было и такое, x:= ? + #13
Код: Выделить всё
program Yprajnen_2_21;
{$mode objfpc}{$H+}
uses crt;
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}   
  procedure
  begin
  ...
  end.
Аватара пользователя
RENXFIL
новенький
 
Сообщения: 16
Зарегистрирован: 23.09.2011 16:47:57
Откуда: Я и сам не знаю.

Re: Alt+Enter

Сообщение Alex333 » 21.11.2011 01:16:54

Может, что-нибудь такое устроит:

Код: Выделить всё
ShowWindow(FindWindow(Nil,pchar(ParamStr(0))),SW_SHOWMAXIMIZED);


ну или вместо pchar(ParamStr(0)) заголовок чужого окна (если чужая прога запускается).

Правда, получается не совсем то же, что по Alt+Enter, а обычная максимизация окна (как будто нажали на среднюю кнопку в заголовке).
Но я к тому, что это не ответ на вопрос, а просто может натолкнёт на мысль. Наверняка можно при помощи PostMessage передать и сообщения о нажатии кнопок. Только я не знаю как. Надо про WinAPI читать.

Добавлено спустя 50 минут 6 секунд:
Поигрался ещё немного - и вроде получилось. Вот так:
Код: Выделить всё
  hwnd:=FindWindow(Nil,pchar(ParamStr(0)));
  if hwnd<>0 then begin
    SetForegroundWindow(hwnd);
    keybd_event (VK_MENU, MapVirtualKey (VK_MENU, 0),0, 0);
    keybd_event (VK_RETURN, MapVirtualKey (VK_RETURN, 0), 0, 0);
    keybd_event (VK_RETURN, MapVirtualKey (VK_RETURN, 0), KEYEVENTF_KEYUP, 0);
    keybd_event (VK_MENU, MapVirtualKey (VK_MENU, 0),KEYEVENTF_KEYUP, 0);
  end;
Alex333
новенький
 
Сообщения: 32
Зарегистрирован: 21.08.2011 19:14:28

Re: Alt+Enter

Сообщение RENXFIL » 08.12.2011 20:18:19

Последняя CУПЕР :shock: =), только при ожидании или до ожидании - "readkey" всё кряказябами показывает русский символы, можно это как то исправить, в паскале знаю ASCII, как бы это исправить?

А на windows 7 почемуто не действует exe файл, там выскакивает в окошечке
А на windows xp работает =).

Я не очень разбираюсь в языке Windows-a, или "С", только Паскале
Аватара пользователя
RENXFIL
новенький
 
Сообщения: 16
Зарегистрирован: 23.09.2011 16:47:57
Откуда: Я и сам не знаю.


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru