31. august 2004 - 19:21Der er
5 kommentarer og 1 løsning
Vist altid program på desktoppen
Jeg er i gang med at bygge et lille memo program hvor man ka skrive små notater ned. Programmet skal altid vises på skrivebordet men skal ikke vises som "Always on top" da det jo ikke skal lappe in over alle de andre programmer. Skal også helst vises når man trykker på "Vis skrivebord" i startmenuen
du kunne lade dit program tjekke om desktop er aktiv...if aktiv vises dit progam...
uses ComObj, ShlObj, ActiveX;
// Check if Active Desktop is enabled (1) function IsActiveDeskTopOn: Boolean; var h: HWND; begin h := FindWindow('Progman', nil); h := FindWindowEx(h, 0, 'SHELLDLL_DefView', nil); h := FindWindowEx(h, 0, 'Internet Explorer_Server', nil); Result := h <> 0; end;
// Check if Active Desktop is enabled (2) function IsActiveDesktopEnable: Boolean; const CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}'; var ActiveDesk: IActiveDesktop; ComponentsOpt: TComponentsOpt; hr: HRESULT; dwReserved: DWORD; begin ZeroMemory(@ComponentsOpt, SizeOf(TComponentsOpt)); ComponentsOpt.dwSize := SizeOf(TComponentsOpt); hr := CoCreateInstance(CLSID_ActiveDesktop, nil, CLSCTX_INPROC_SERVER, CLSID_ActiveDesktop, ActiveDesk); if SUCCEEDED(hr) then begin hr := ActiveDesk.GetDesktopItemOptions(ComponentsOpt, dwReserved); // ActiveDesk._Release; end; Result := ComponentsOpt.fActiveDesktop; end;
tja måske det nemmeste ville være at aktivere active desktop. Og så lave et activex object som ligger på den webside der vises som baggrund på dit skrivebord.
så slipper du helt for at tænke på "vis skrivebord" programmer der er aktive osv.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.