![]() |
|
|
|
|
#1
|
|||
|
|||
|
задание: запущено два окна Exel и Word, создать прогу которая закрывает второе окно через 10 сек. если закрыли первое. Помогите реализовать
|
|
#2
|
|||
|
|||
|
FindWindow, 2 таймера. Один таймер проверяет, что окна есть. Как только одно из них пропало, то первый таймер останавливается, а второй запускается и через 10 сек. убивает второе окно. Да, можно все уложить и в один таймер, но код будет непонятнее.
|
|
#3
|
|||
|
|||
|
хотелось бы кодом а то не совсем ясно
|
|
#4
|
|||
|
|||
|
Вот тебе маленький пример - закрываю окно "Мой компьютер":
На форме две кнопки и Edit: PHP код:
Подскажу: если окно не будет найдено переменная i будет равна 0. |
|
#5
|
|||
|
|||
|
в вин айпи только все это дело надо провернуть
вот проьлема |
|
#6
|
||||
|
||||
|
В чём проблема? Вот костяк:
Код:
program Project1;
uses
Windows, Messages;
const
szAppName = 'project1';
szCaptionName = 'project1';
var
Window : HWND;
Msg : TMsg;
WndClass : TWndClassEX;
PosX, PosY : Integer;
SizeX, SizeY : Integer;
const
cctrl = 'comctl32.dll';
procedure InitCommonControls; external cctrl name 'InitCommonControls';
//---------------------------------------------------------
procedure InitApp(Wnd : HWND);
begin
end;
//---------------------------------------------------------
procedure DeInitApp(Wnd : HWND);
begin
end;
//---------------------------------------------------------
function MainProc(Wnd : HWND; Msg : Integer; wParam, lParam : Longint): Integer; stdcall;
begin
Result := 0;
case Msg of
WM_CREATE :
begin
InitApp(Wnd);
end;
WM_CLOSE :
begin
DestroyWindow(Wnd);
end;
WM_DESTROY :
begin
DeInitApp(Wnd);
PostQuitMessage(0);
Exit;
end;
end;
Result := DefWindowProc(Wnd, Msg, wParam, lParam);
end;
//---------------------------------------------------------
begin
SizeX := 300;
SizeY := 200;
PosX := 0;
PosY := 0;
FillChar(WndClass, SizeOf(TWndClassEx), 0);
WndClass.cbSize := SizeOf(TWndClassEx);
WndClass.style := CS_HREDRAW or CS_VREDRAW;
WndClass.lpfnWndProc := @MainProc;
WndClass.cbClsExtra := 0;
WndClass.cbWndExtra := 0;
WndClass.hInstance := hInstance;
WndClass.hCursor := LoadCursor(0, IDC_ARROW);
WndClass.hbrBackGround := GetSysColorBrush(COLOR_BTNFACE);
WndClass.lpszClassName := szAppName;
if RegisterClassEx(WndClass) = 0 then
Halt(255);
Window := CreateWindowEx(0, szAppName, szCaptionName,
WS_OVERLAPPEDWINDOW,
PosX, PosY, SizeX, SizeY, 0, 0, hInstance, NIL);
InitCommonControls;
ShowWindow(Window, CmdShow);
while(GetMessage(Msg, 0, 0, 0)) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Halt(Msg.wParam);
end. |