Форум: "Основная";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
ВнизКак узнать что программа (модуль из 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c