Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

Как узнать что программа (модуль из DLL) уже запущена   Найти похожие ветки 

 
VS2001   (2002-04-30 05:56) [0]

Как можно узнать, что программа уже запущена и если запущена, то переключиться на нее, при этом учесть, если программа свернута - то развернуть.
p.s.: Программа - форма из модуля DLL.


 
gek ©   (2002-04-30 07:20) [1]

Может просто форму найти?
Если так, то использовать FindWindow.


 
Dy-Ty   (2002-04-30 09:38) [2]

ищешь форму с помощью FindWindow (как тебе уже правильно сказали), а далее используешь функцию IsIconic


 
VS2001   (2002-05-03 09:03) [3]

А поточнее (с исходником) не могли бы, пожалуйста!!!


 
Севостьянов Игорь ©   (2002-05-07 11:48) [4]

Например так
---------------
procedure IsApplicationRunning;
var
hWnd: THandle;
begin
hWnd := FindCurrentWindow;
SendMessage(hWnd, WM_SETFOCUS, hWnd, 0);
if IsIconic(hWnd) then
ShowWindow(hWnd, SW_RESTORE)
else
ShowWindow(hWnd, SW_SHOWNORMAL);
SetForegroundWindow(hWnd);
//Halt(0);
end;
---------------
Application.Title == "Имя искомого окна"
---------------
function FindCurrentWindow: THandle;
var
CurrentClassName,
ClassName,
AppTitle: array [0..255] of Char;

begin
GetClassName(Application.Handle, ClassName, SizeOf(ClassName));
Result := GetWindow(Application.Handle, gw_hWndFirst);
While Result <> 0 do
begin
if (Result <> Application.Handle) and (GetWindow(Application.Handle, gw_Owner) = 0)
then
begin
GetClassName(Result, CurrentClassName, SizeOf(CurrentClassName));
FillChar(AppTitle, SizeOf(AppTitle), #0);
GetWindowText(Result, AppTitle, Length(Application.Title)+1);
if (StrComp(CurrentClassName, ClassName) = 0) and
(StrComp(PChar(Application.Title), AppTitle) = 0) then
Exit;
end;
Result := GetWindow(Result, gw_hWndNext);
end;
end;
---------------

но если все же это твое приложение (не другая программа, а написанная тобой и хочешь проверять работает она или нет), то используй Mutex хотя бы ...
Вопросы по мылу



Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
6-64772
ATLANTIDO
2002-03-01 00:38
2002.05.20
УПРАВЛЕНИЕ Internet Explorero м


3-64491
ao1973
2002-04-22 15:55
2002.05.20
Как создать програмно таблицу access-a


1-64702
drt
2002-05-06 14:37
2002.05.20
TScrollbar


1-64680
MCFire
2002-05-05 15:39
2002.05.20
Как увеличить промежуток между строками в QRLabel???


1-64610
hoaxer
2002-05-05 14:13
2002.05.20
srand hna Delphi