Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-88936
mazepa
2002-06-15 15:39
2002.06.27
Объем Huge String


7-89054
Remal
2002-04-02 12:35
2002.06.27
Как NTвый taskmanager узнает загрузку процессора....


3-88778
Vrach
2002-06-05 17:02
2002.06.27
Можно ли в DBGrid в ячейке отобразить строчку+


1-88786
Янушка
2002-06-16 13:27
2002.06.27
Программа с двумя окнами


1-88941
Semyon
2002-06-15 18:02
2002.06.27
*





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