Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-64544
Glonia Zbanov
2002-04-24 11:05
2002.05.20
поиск MSSQL


1-64639
Egor111
2002-05-08 12:17
2002.05.20
Thread(Help)


3-64468
maxim2
2002-04-22 13:16
2002.05.20
Как в DBGrid в определенном поле место текста показать звездочки.


1-64648
Rikoshet
2002-05-03 17:25
2002.05.20
Как в Richedit-е сделать всю строку, на которой стоит каретка, ск


4-64876
Дмитрий_Россиев
2002-03-19 15:02
2002.05.20
Как скрыть заголовок и рамку постороннего окна?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский