"Это проше простого" , - скажу я вам. Запускайте Delphi, и сделайте такую форму, как у меня.
Сделали? А теперь напишите этот код:
procedure TForm1.Button1Click(Sender: TObject);
var h: HWND;
begin
h:=FindWindow(nil,'Сапер');
if h<>0 then SendMessage(h,WM_DESTROY,0,0);
end;
end.
Вот и все. Теперь, когда будет запущен Сапер, ты просто нажимаешь на кнопочку - все, Сапера как не бывало.
Давайте разберемся, что мы здесь написали. Первая функция:
FindWindow( lpClassName: PansiChar, lpWindowName : PansiChar) : HWND; Она ишет окно по его заголовку, либо по классу и возвращает дескриптор найденного окна . В качестве одного из параметров может быть NIL, как у нас, потому что класс окна нам не известен. Второй параметр - заголовок , который мы должны знать достаточно точно, иначе работать не будет.
Следующая функция SendMessage(hwnd : HWND, msg : Cardinal, wParam: integer, lParam: integer); Первый параметр - дескрипторо окна, которому мы хотим отправить сообщение; второй - само сообщение WM_DESTROY (WM_ - означает Windows Message - т.е. сообщение Windows). Третий и четвертый параметр - дополнительные флаги, которые почти всегда нужно устанавливать в нуль.
В более универсальной версии этой программы на форму можно поместить таймер и написать в обработчике OnTimer наш код.