Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

активизация окна [D6, 2000]


workbench ©   (2009-01-29 12:10:00) 

Здравствуйте, пытаюсь предотвратить повторный запуск приложения, делаю так (в dpr файле):


const
 MutexName = '{8A72D2DC-AF40-42B3-8706-AAB06B6B5B30}';

var hMutex, hWin: THandle;

begin

 hMutex := CreateMutex(nil, false, PChar(MutexName));
 if GetLastError = ERROR_ALREADY_EXISTS then
   begin
   hWin := FindWindow(PChar('TfrmMain'), nil);
   if hWin <> 0 then
     begin
     OpenIcon(hWin); ShowWindow(hWin, SW_SHOW);
     SetForegroundWindow(hWin)
     end
   end
 else // запуск


проблема в том что если моё окно было свёрнуто то при открытии окошка ф-й ShowWindow оно почему отказывается сворачиваться, может флаг какой добавить нано? OpenIcon как видно не помогает...


clickmaker   (2009-01-29 13:52:00) [1]

if IsIconic(hWin) then ShowWindow(hWin, SW_RESTORE);


workbench   (2009-01-29 13:16:00) [2]


> Ega23 ©


SetForegroundWindow работает если окошко раскрыто, если оно свёрнуто, он его сам не разворачивает


Ega23   (2009-01-29 13:08:00) [3]

SetForegroundWindow(hWin)
?


Наверх

Титульная страница Поиск, карта сайта Написать письмо