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

📄 denofilemonitorhook.h

📁 Shell扩展
💻 H
字号:
// DenoFileMonitorHook.h : Declaration of the CDenoFileMonitorHook

#pragma once
#include "resource.h"       // main symbols
#include <shlwapi.h>
#include <shlobj.h>

class CDenoFileMonitorHook: public ICopyHook, 
	public IShellExtInit, public IDropTarget
{
public:
		CDenoFileMonitorHook():m_refcnt(0)  {  }
		STDMETHODIMP QueryInterface(REFIID iid,void** ppvObject);
		STDMETHODIMP_(ULONG) AddRef();
		STDMETHODIMP_(ULONG) Release();
		STDMETHODIMP_(UINT) CopyCallback(HWND hwnd,UINT wFunc,UINT wFlags,
					                    LPCTSTR pszSrcFile,DWORD dwSrcAttribs,
                                        LPCTSTR pszDestFile,DWORD dwDestAttribs);
		STDMETHODIMP_(HRESULT) Initialize (
									  LPCITEMIDLIST pidlFolder,
                                      LPDATAOBJECT  pDO,
                                      HKEY          hProgID );
        STDMETHODIMP_(HRESULT) DragEnter( 
            /* [unique][in] */ IDataObject *pDataObj,
            /* [in] */ DWORD grfKeyState,
            /* [in] */ POINTL pt,
            /* [out][in] */ DWORD *pdwEffect);
        
        STDMETHODIMP_(HRESULT) DragOver( 
            /* [in] */ DWORD grfKeyState,
            /* [in] */ POINTL pt,
            /* [out][in] */ DWORD *pdwEffect);
        
        STDMETHODIMP_(HRESULT) DragLeave( void);
        
        STDMETHODIMP_(HRESULT) Drop( 
            /* [unique][in] */ IDataObject *pDataObj,
            /* [in] */ DWORD grfKeyState,
            /* [in] */ POINTL pt,
            /* [out][in] */ DWORD *pdwEffect);
private:
		BOOL IsMusicLibraryOrPlaylist( LPCTSTR pszSrc );
		BOOL Compare( LPCTSTR pszSrc, LPCTSTR pszLeft );
private:
		int m_refcnt;
};

class CClassFactory:public IClassFactory
{
public:
            CClassFactory():m_refcnt(0)  {   }
            STDMETHODIMP QueryInterface(REFIID iid,void** ppvObject);
            STDMETHODIMP_(ULONG) AddRef();
            STDMETHODIMP_(ULONG) Release();
            STDMETHODIMP CreateInstance(IUnknown * pUnkOuter,REFIID riid,void ** ppvObject);
            STDMETHODIMP LockServer(BOOL fLock);
private:
            int m_refcnt;
};

//OBJECT_ENTRY_AUTO(__uuidof(DenoFileMonitorHook), CDenoFileMonitorHook)

⌨️ 快捷键说明

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