Re[6]: как узнать
От: CR-LF Россия  
Дата: 20.03.06 10:01
Оценка:
> CL> MemHnd := CreateFileMapping(HWND($FFFFFFFF),nil,PAGE_READWRITE,0,
> CL> MemFileSize,MemFileName);
>
> Если ты уж создал mmf,
Что такое mmf ?
Если честно, я этот код взял с Кулибы и в общем-то не разобрался как он
работает.

>то почему бы не записать туда что-нибудь

> полезное, например, хендл окна, которое должно быть активизировано
> (и будет получать, скажем, параметры комстроки путем WM_COPYDATA).
Так а зачем туда что-то записывать и, главное, как ?

> CL> SendMessage(hndl,WM_RESTOREFROMTRAY,0,0);

>
> Это выглядит подозрительно. В соответствие с политикой MS
> non-foreground процесс не может стать foreground по своей воле,
> а токмо волей foreground процесса.
Дык вторая копия же foreground ...
Она следующей строкой первую и сделает foreground.

>
> var
>  wnd, app: HWND;
> begin
>  wnd := .. // читаем (ищем) хендл активизируемого окна
>  if wnd <> 0 then
>    begin
>      {Test if app is minimized, if so restore it}
>      app:= GetWindowLong(wnd, GWL_HWNDPARENT);
>      if IsIconic(app) then
>        ShowWindow(app, SW_RESTORE);
>      SetForegroundWindow(wnd);
>    end;
> end;
>

Та делал я раньше ShowWindow(app, SW_RESTORE) ...
Тока она потом не хочет обратно в трей заворачиваться.
Не знаю почему.
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.