Главная страница
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.01 c
3-88723
budhha
2002-06-04 08:17
2002.06.27
Дайте ответ!


1-88817
esprit_bel
2002-06-10 08:34
2002.06.27
Диск


3-88736
PETR_
2002-06-04 11:18
2002.06.27
DBGrid и логические поля


3-88780
Nesh
2002-06-02 12:49
2002.06.27
Проблемы с параметрами SQL запроса в TSQLClientDataSet !!


3-88759
SuperVK
2002-06-03 07:10
2002.06.27
Реакция TDBNavigator на программное изменение TDBRichEdit