你的位置:首页 > 软件开发 > 操作系统 > Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

发布时间:2016-09-08 18:00:11
创建图标标记 Handlers (续) 1、新建一个ATL Project。2、建议将 Project Property 中 Linker – General - “Register Output” 设为 no,C/ ...

Creating Icon Overlay Handlers

创建图标标记 Handlers (续)

 

1、新建一个ATL Project。

Creating Icon Overlay Handlers

2、建议将 Project Property 中 Linker – General - “Register Output” 设为 no,C/C++ - “Code Generation” - “Runtime Library” 设为 /MTd。

Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

3、在 Solution Explorer 中右键 Add Class,选择 ATL Simple Object。并在弹出的对话框中为该 Class 命名。

Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

4、添加完成后建议 Build 一下 Project,MIDL compiler 将根据 .idl 文件生成 IIDs and CLSIDs。

Creating Icon Overlay Handlers

5、切换到新增 Class 的 .h 文件中,使其继承接口 IShellIconOverlayIdentifier。

Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

Creating Icon Overlay Handlers

Creating Icon Overlay HandlersCreating Icon Overlay Handlers
 1 // MyOverlay.h : Declaration of the CMyOverlay 2  3 #pragma once 4 #include "resource.h"    // main symbols 5  6  7  8 #include "Example_i.h" 9 #include <ShlObj.h>10 11 12 13 #if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)14 #error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."15 #endif16 17 using namespace ATL;18 19 20 // CMyOverlay21 22 class ATL_NO_VTABLE CMyOverlay :23   public CComObjectRootEx<CComSingleThreadModel>,24   public CComCoClass<CMyOverlay, &CLSID_MyOverlay>,25   public IDispatchImpl<IMyOverlay, &IID_IMyOverlay, &LIBID_ExampleLib, 26   /*wMajor =*/ 1, /*wMinor =*/ 0>,27   public IShellIconOverlayIdentifier28 {29 public:30   CMyOverlay()31   {32   }33 34 DECLARE_REGISTRY_RESOURCEID(IDR_MYOVERLAY)35 36 37 BEGIN_COM_MAP(CMyOverlay)38   COM_INTERFACE_ENTRY(IMyOverlay)39   COM_INTERFACE_ENTRY(IDispatch)40   COM_INTERFACE_ENTRY(IShellIconOverlayIdentifier)41 END_COM_MAP()42 43 44 45   DECLARE_PROTECT_FINAL_CONSTRUCT()46 47   STDMETHOD(IsMemberOf)(THIS_ _In_ PCWSTR pwszPath, DWORD dwAttrib);48   STDMETHOD(GetOverlayInfo)(THIS_ _Out_writes_(cchMax) PWSTR pwszIconFile, 49     int cchMax, _Out_ int * pIndex, _Out_ DWORD * pdwFlags);50   STDMETHOD(GetPriority)(THIS_ _Out_ int * pIPriority);51 52   HRESULT FinalConstruct()53   {54     return S_OK;55   }56 57   void FinalRelease()58   {59   }60 61 public:62 63 64 65 };66 67 OBJECT_ENTRY_AUTO(__uuidof(MyOverlay), CMyOverlay)

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Creating Icon Overlay Handlers

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录