//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright 1995-2000 Microsoft Corporation. All Rights Reserved. // //-------------------------------------------------------------------------- cpp_quote("#ifndef _SHAPPMGRP_H_") cpp_quote("#define _SHAPPMGRP_H_") import "oleidl.idl"; import "oaidl.idl"; import "shappmgr.idl"; #include #include [ uuid(157193AA-D8B2-435f-A79C-B8F332357C6B), // LIBID_SHAPPMGRP helpstring("shappmgrp 1.0 Type Library"), lcid(0x0000), version(1.0) ] library SHAPPMGRPLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); // // IInstalledApp interface // [ uuid(1BC752DF-9046-11D1-B8B3-006008059382), // IID_IInstalledApp helpstring("Shell Installed Application Interface"), object ] interface IInstalledApp : IShellApp { HRESULT Uninstall(HWND hwnd); // Same as Add/Remove maybe we should call it AddRemove. HRESULT Modify(HWND hwndParent); HRESULT Repair([in] BOOL bReinstall); HRESULT Upgrade(void); }; // // IEnumInstalledApps interface // [ uuid(1BC752E1-9046-11D1-B8B3-006008059382), // IID_IEnumInstalledApps helpstring("Shell Installed Apps Enumeration Interface"), object, ] interface IEnumInstalledApps : IUnknown { HRESULT Next([out] IInstalledApp** pia); HRESULT Reset(void); }; [ uuid(0B124F8F-91F0-11D1-B8B5-006008059382), // CLSID_EnumInstalledApps helpstring("Shell Installed Applications Enumeration Object"), ] coclass EnumInstalledApps { [default] interface IEnumInstalledApps; }; // // IShellAppManager interface // [ uuid(352EC2B8-8B9A-11D1-B8AE-006008059382), // IID_IShellAppManager helpstring("Application Manager"), object, ] interface IShellAppManager : IUnknown { // NOTE: These structures are very similar to CategoryInfo* in NT5 typedef struct _ShellAppCategory { LPWSTR pszCategory; // category description UINT idCategory; // category id for ShellAppManager } SHELLAPPCATEGORY, *PSHELLAPPCATEGORY; typedef struct _ShellAppCategoryList { UINT cCategories; SHELLAPPCATEGORY * pCategory; } SHELLAPPCATEGORYLIST, *PSHELLAPPCATEGORYLIST; HRESULT GetNumberofInstalledApps(DWORD * pdwResult); HRESULT EnumInstalledApps(IEnumInstalledApps ** peia); HRESULT GetPublishedAppCategories(PSHELLAPPCATEGORYLIST pCategoryList); HRESULT EnumPublishedApps(LPCWSTR pszCategory, IEnumPublishedApps ** ppepa); HRESULT InstallFromFloppyOrCDROM(HWND hwndParent); } [ uuid(352EC2B7-8B9A-11D1-B8AE-006008059382), // CLSID_ShellAppManager helpstring("Shell Application Manager"), ] coclass ShellAppManager { [default] interface IShellAppManager; }; }; cpp_quote("#endif // _SHAPPMGRP_H_")