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

Вниз

КАК быть?   Найти похожие ветки 

 
vitek ©   (2002-06-12 19:49) [0]

У меня вопрос такой: надо проверить запущена ли прога или нет

Если запущена, то показать её поверх других окон
Проблема возникает когда эта прога минимизирована
Ниже код который работает но потом эту прогу нельзя свернуть
Точнее можно только её сперва надо востановить кликнув на панели задач

КАК быть?

procedure TDialogForm.spbDictClick(Sender: TObject);
var hPrevWnd:HWND;
begin
hPrevWnd:=FindWindow("TForm1","form1");
// hPrevWnd:=FindNextWindow;
if hPrevWnd<>0 then
begin
////
// OpenIcon(hPrevWnd);
BringWindowToTop(hPrevWnd);
//setForegroundWindow(hPrevWnd);
//ShowWindow(hPrevWnd,SW_SHOWNA);
ShowWindow(hPrevWnd,SW_RESTORE);
end
else winExec(Pchar(ExtractFilePath(Application.Exename)+
"primer.exe"),SW_normal);
end;


 
Song ©   (2002-06-12 19:54) [1]

В FAQ есть.


 
vitek ©   (2002-06-12 20:32) [2]

>>В FAQ есть
Там тоже используется BringWindowToTop
Но это не работает когда приложение свернуто


 
Sasha9 ©   (2002-06-12 20:54) [3]

попробуй windows.setfocus(hPrevWnd)


 
YurijNT   (2002-06-12 22:38) [4]

А со списка форм переменной Screen не проще найти форму и сделать развернуть если надо и продвинуть на верх


 
vitek ©   (2002-06-14 16:42) [5]

>>Sasha9
>>попробуй windows.setfocus(hPrevWnd)

Пробовал не работает

>>YurijNT
>>А со списка форм переменной Screen не проще найти форму и сделать развернуть если надо и продвинуть на верх

Если имеется в виду screen.forms, то

screen.forms - Lists all the forms currently displayed in the application .


 
vitek ©   (2002-06-14 16:45) [6]

Всем в общем спасибо

Окончательный вариант

if IsWindowVisible(hPrevWnd)
then BringWindowToTop(hPrevWnd)
else ShowWindow(hPrevWnd,SW_RESTORE);

Если кто знает как все таки решить эту проблемку пишите



 
cyborg ©   (2002-06-14 20:18) [7]

В библиотеке Jedi Code Library есть такая функция, скачай и наслаждайся.
Модуль JclAppInst, функция JclAppInstances.CheckSingleInstance;
В главный файл проекта добавляешь только эти две строчки, и твоя прога будет себя находить и показывать в любом состоянии.



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
14-89036
Black_Angel
2002-05-27 21:46
2002.06.27
Зенит-Милан


3-88766
Perec
2002-06-05 09:56
2002.06.27
Изменение наименования поля таблицы через системные таблыцы


3-88756
Jaroshik
2002-06-04 13:01
2002.06.27
Отчеты QuickReport


1-88883
Нонна
2002-06-13 12:58
2002.06.27
Без формы


1-88809
mcs
2002-06-16 16:08
2002.06.27
Рихтер