> 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