Цитата(-=@L!=- @ Nov 17 2005, 00:54)

Вопрос в том, чтобы сделать такое же, но без показа окна(или как угодно, но чтоб не "дёргался" проц).
Вариант1 (в Дельфи 7):
View -> Project Manager (Ctrl+Alt+F11).
Щёлкаем плюс рядом с Project1.exe,
потом правой кнопкой по Unit1 -> Remove From Project -> Yes. (это чтоб окна не было)
Далее правой кнопкой по Project1.exe -> View Source.
Теперь стираем строчки Application.Initialize и Application.Run.
В секцию Uses добавляем: Windows.
Теперь можно спокойно писать на WinApi.
Вариант2:
зачем форму показывать?
Просто по таймеру посылаем сообщение нужному окну:
Код
procedure Form1.OnTimer(Sender: TObject);
var
hWindow: HWnd;
begin
hWindow := FindWindow('<window class>', '<window title>');
PostMessage(hWindow, WM_KEYDOWN, VK_F8, 1);
PostMessage(hWindow, WM_KEYUP, VK_F8, 1);
end;
Разумеется можно написать поаккуратнее, у меня очень коряво.
ПРЕДУПРЕЖДАЮ: может и не сработать, я не проверял.
А вообще, см. help по winapi (идёт в комплекте с Delphi).
Сообщение отредактировал mars - Feb 2 2007, 01:12