Einzelnen Beitrag anzeigen

Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#1

Mehrere Superbareinträge für ein Programm

  Alt 21. Mai 2010, 17:09
Ich möchte das ein Programm mehrere Einträge in der Superbar haben kann.
Laut diesem Blogpost (Figure 3) geht das via
SHGetPropertyStoreForWindow.

Dazu habe ich den Code unten gefunden.
Der macht aber an allen Ecken und Enden Ärger.
Es beginnt damit, dass ich nicht finde in welcher Unit IPropertyStore und tPROPVARIANT deklariert werden.

Delphi-Quellcode:
function SHGetPropertyStoreForWindow(
  hwnd: HWND;
  const riid: TGUID;
  out ppv: IPropertyStore
): HResult; stdcall;

procedure TForm2.SetAppID(aHWND: hWnd; aAppID: string);
var pps,propsys:IPropertyStore ;
pv:tPROPVARIANT;
hr:HRESULT;
begin
 hr:= SHGetPropertyStoreForWindow (self.Handle , IID_IPropertyStore ,@pps) ;
 if Succeeded( hr) then
   begin
     if aAppID <>'then
       begin
         hr:= InitPropVariantFromString(aAppID ,pv);
       end
       else
       ZeroMemory(@pv,SizeOf(pv));
       if Succeeded(hr) then
         begin
           pps.SetValue(PKEY_AppUserModel_ID,pv);
           PropVariantClear(@pv);
         end;
   end;
end;
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat