⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aescryptshellext.h

📁 AES, 即Advanced Encryption Standard高级加密标准模块, 它是目前国际上最先进的加密技术, 是基于DES之后的最新发布的高段加密标准. 该标准由美国NIST(Nation
💻 H
字号:
/*
 *  AESCryptShellExt.h
 *
 *  Copyright (C) 2006
 *  Paul E. Jones <paulej@arid.us>
 *  All Rights Reserved.
 *
 ******************************************************************************
 *  $Id: AESCryptShellExt.h,v 1.1.1.1 2006/05/30 08:04:59 paulej Exp $
 ******************************************************************************
 *
 *  This defines the C++ class for integrating with the Windows shell.
 *
 */

#pragma once
#include "resource.h"       // main symbols

#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
#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."
#endif

//
// AESCryptShellExt Declaration
//
class ATL_NO_VTABLE AESCryptShellExt :
        public CComObjectRootEx<CComSingleThreadModel>,
        public CComCoClass<AESCryptShellExt, &CLSID_AESCryptShellExtCom>,
        public IShellExtInit,
        public IContextMenu
{
    protected:
        HBITMAP     Context_Bitmap;
        StringList  *File_List;
        bool        AES_Files;
        bool        Non_AES_Files;

    public:
        AESCryptShellExt();
        ~AESCryptShellExt();

        // IShellExtInit
        STDMETHOD(Initialize)(LPCITEMIDLIST, LPDATAOBJECT, HKEY);

        // IContextMenu
        STDMETHOD(GetCommandString)(UINT, UINT, UINT*, LPSTR, UINT);
        STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO);
        STDMETHOD(QueryContextMenu)(HMENU, UINT, UINT, UINT, UINT);

        DECLARE_REGISTRY_RESOURCEID(IDR_AESCRYPTSHELLEXT)
        DECLARE_NOT_AGGREGATABLE(AESCryptShellExt)

        BEGIN_COM_MAP(AESCryptShellExt)
            COM_INTERFACE_ENTRY(IShellExtInit)
            //COM_INTERFACE_ENTRY(IContextMenu) // This does not work.  What's the trick?
            COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu)
        END_COM_MAP()

        DECLARE_PROTECT_FINAL_CONSTRUCT()

        HRESULT FinalConstruct()
        {
            return S_OK;
        }

        void FinalRelease()
        {
        }
};

OBJECT_ENTRY_AUTO(__uuidof(AESCryptShellExtCom), AESCryptShellExt)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -