Главная страница
    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
4-64876
Дмитрий_Россиев
2002-03-19 15:02
2002.05.20
Как скрыть заголовок и рамку постороннего окна?


3-64537
Beverson
2002-04-23 18:00
2002.05.20
Проблема при работе с BLOB ами через BDE.


1-64667
N00N
2002-05-05 19:08
2002.05.20
Procedures


3-64522
Пикулев Евгений
2002-04-23 07:45
2002.05.20
Как с помощью SQL отсортировать выходное значение таблицы


7-64847
boykov
2002-02-22 18:34
2002.05.20
Как изменить прошивку HDD?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский