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

📄 scsink.idl

📁 人事管理系统vb版,用于一般中小企业
💻 IDL
字号:
//==============================================================================// E:\work\SubclassingThunk\1. Tlb\SubclassingSink.idl////   Subclassing Thunk (SuperClass V2) Project//   Portions copyright (c) 2002 by Paul Caton <Paul_Caton@hotmail.com>//   Portions copyright (c) 2002 by Vlad Vissoultchev <wqweto@myrealbox.com>////   The Subclassing Sink  interface definition//// Modifications://// 2002-09-28    WQW     Initial implementation based on the original//                       iSuperClass.cls////==============================================================================[  uuid(63441E51-0F47-4888-B620-88BAC83A4C1F),  version(1.0),  helpstring("Subclassing/Hooking sink interfaces 1.0")]library SubclassingSink{    importlib("stdole2.tlb");    interface ISubclassingSink;    interface IHookingSink;        typedef enum {        WH_MSGFILTER = (-1),        WH_JOURNALRECORD = 0,        WH_JOURNALPLAYBACK = 1,        WH_KEYBOARD = 2,        WH_GETMESSAGE = 3,        WH_CALLWNDPROC = 4,        WH_CBT = 5,        WH_SYSMSGFILTER = 6,        WH_MOUSE = 7,        WH_HARDWARE = 8,        WH_DEBUG = 9,        WH_SHELL = 10,        WH_FOREGROUNDIDLE = 11,        WH_CALLWNDPROCRET = 12,        WH_KEYBOARD_LL = 13,        WH_MOUSE_LL = 14    } HookType;    typedef enum {        HCBT_MOVESIZE       = 0,        HCBT_MINMAX         = 1,        HCBT_QS             = 2,        HCBT_CREATEWND      = 3,        HCBT_DESTROYWND     = 4,        HCBT_ACTIVATE       = 5,        HCBT_CLICKSKIPPED   = 6,        HCBT_KEYSKIPPED     = 7,        HCBT_SYSCOMMAND     = 8,        HCBT_SETFOCUS       = 9,                PM_NOREMOVE         = 0x0000,        PM_REMOVE           = 0x0001,        PM_NOYIELD          = 0x0002,        HC_ACTION           = 0,        HC_GETNEXT          = 1,        HC_SKIP             = 2,        HC_NOREMOVE         = 3,        HC_NOREM            = 3,        HC_SYSMODALON       = 4,        HC_SYSMODALOFF      = 5,        MSGF_DIALOGBOX      = 0,        MSGF_MESSAGEBOX     = 1,        MSGF_MENU           = 2,        MSGF_SCROLLBAR      = 5,        MSGF_NEXTWINDOW     = 6,        MSGF_MAX            = 8,        MSGF_USER           = 4096,        MSGF_DDEMGR         = 0x8001,        HSHELL_WINDOWCREATED        = 1,        HSHELL_WINDOWDESTROYED      = 2,        HSHELL_ACTIVATESHELLWINDOW  = 3,        HSHELL_WINDOWACTIVATED      = 4,        HSHELL_GETMINRECT           = 5,        HSHELL_REDRAW               = 6,        HSHELL_TASKMAN              = 7,        HSHELL_LANGUAGE             = 8            } HookCode;    typedef long LPARAM;    typedef long WPARAM;    typedef long LRESULT;    typedef long UINT;    typedef long HWND;    typedef long BOOL;    typedef long LPVOID;    typedef long HINSTANCE;    typedef long HMENU;    typedef LPSTR LPCTSTR;    typedef long DWORD;    typedef long ULONG_PTR;    typedef struct tagPOINTAPI {       LONG x;       LONG y;     } POINTAPI;    typedef struct _RECT {       LONG left;       LONG top;       LONG right;       LONG bottom;     } RECT;     typedef struct tagCWPSTRUCT {         LPARAM  lParam;        WPARAM  wParam;         UINT    message;         HWND    hwnd;     } CWPSTRUCT;    typedef struct tagCWPRETSTRUCT {         LRESULT lResult;         LPARAM  lParam;         WPARAM  wParam;         UINT    message;         HWND    hwnd;     } CWPRETSTRUCT;     typedef struct tagCBTACTIVATESTRUCT {         BOOL fMouse;         HWND hWndActive;     } CBTACTIVATESTRUCT;     typedef struct tagCREATESTRUCT {        LPVOID    lpCreateParams;         HINSTANCE hInstance;         HMENU     hMenu;         HWND      hwndParent;         int       cy;         int       cx;         int       y;         int       x;         LONG      style;         long      lpszName;         long      lpszClass;         DWORD     dwExStyle;     } CREATESTRUCT;    typedef struct tagCBT_CREATEWND {         long        lpcs;         HWND        hwndInsertAfter;     } CBT_CREATEWND;    typedef struct tagMOUSEHOOKSTRUCT {         POINTAPI  pt;         HWND      hwnd;         UINT      wHitTestCode;         ULONG_PTR dwExtraInfo;     } MOUSEHOOKSTRUCT;     typedef struct tagDEBUGHOOKINFO {         DWORD  idThread;         DWORD  idThreadInstaller;         LPARAM lParam;         WPARAM wParam;         int    code;     } DEBUGHOOKINFO;     typedef struct tagMSG {      HWND   	hwnd;       UINT   	message;       WPARAM 	wParam;       LPARAM 	lParam;       DWORD  	time;       POINTAPI	pt;     } MSG;     typedef struct tagEVENTMSG {        UINT  message;         UINT  paramL;         UINT  paramH;         DWORD time;         HWND  hwnd;     } EVENTMSG;     typedef struct tagKBDLLHOOKSTRUCT {        DWORD     vkCode;        DWORD     scanCode;        DWORD     flags;        DWORD     time;        ULONG_PTR dwExtraInfo;    } KBDLLHOOKSTRUCT;    typedef struct tagMSLLHOOKSTRUCT {      POINTAPI  pt;      DWORD     mouseData;      DWORD     flags;      DWORD     time;      ULONG_PTR dwExtraInfo;    } MSLLHOOKSTRUCT;    typedef enum {        GWL_WNDPROC         = (-4),        GWL_HINSTANCE       = (-6),        GWL_HWNDPARENT      = (-8),        GWL_STYLE           = (-16),        GWL_EXSTYLE         = (-20),        GWL_USERDATA        = (-21),        GWL_ID              = (-12)    } GWLIndex;        [      odl,      uuid(012A34BE-6FB0-418A-A94F-93B74050A680),      version(1.0),      dual,      nonextensible,      oleautomation    ]    interface ISubclassingSink : IDispatch {            [id(1)] HRESULT  After(                        [in, out] long* lReturn,                         [in] long hWnd,                         [in] long uMsg,                         [in] long wParam,                         [in] long lParam);            [id(2)] HRESULT  Before(                        [in, out] boolean* bHandled,                         [in, out] long* lReturn,                         [in, out] long* hWnd,                         [in, out] long* uMsg,                         [in, out] long* wParam,                         [in, out] long* lParam);    };    [      odl,      uuid(012A34BF-6FB0-418A-A94F-93B74050A680),      version(1.0),      dual,      nonextensible,      oleautomation    ]    interface IHookingSink : IDispatch {            [id(1)] HRESULT  After(                        [in, out] long* lReturn,                         [in] HookCode nCode,                         [in] long wParam,                         [in] long lParam);            [id(2)] HRESULT  Before(                        [in, out] boolean* bHandled,                         [in, out] long* lReturn,                         [in, out] HookCode* nCode,                         [in, out] long* wParam,                         [in, out] long* lParam);    }    /*      [dllname("kernel32")]    module Kernel32 {        [entry("GetModuleHandleA")]        long _stdcall GetModuleHandle ([in] LPSTR lpModuleName);        [entry("GetProcAddress")]        long _stdcall GetProcAddress (                        [in] long hModule,                         [in] LPSTR lpProcName);        [entry("RtlMoveMemory")]        long _stdcall CopyMemory (                        [in] long Destination,                         [in] long Source,                        [in] long Length);        [entry("lstrlenA")]        long _stdcall lstrlen ([in] long lpsz);        [entry("lstrcpyA")]        long _stdcall lstrcpy (                        [in] LPSTR lpDest,                        [in] long lpSou);    }    [dllname("user32")]    module User32 {        [entry("SetWindowsHookExA")]        long _stdcall SetWindowsHookEx (                         [in] HookType idHook,                         [in] long lpfn,                        [in] long hMod,                        [in] long dwThreadId);        [entry("UnhookWindowsHookEx")]        long _stdcall UnhookWindowsHookEx ([in] long hHook);        [entry("GetWindowLongA")]        long _stdcall GetWindowLong (                        [in] long hWnd,                        [in] GWLIndex nIndex);        [entry("SetWindowLongA")]        long _stdcall SetWindowLong (                        [in] long hWnd,                        [in] GWLIndex nIndex,                        [in] long dwNewLong);        [entry("CallWindowProcA")]        long _stdcall CallWindowProc (                        [in] long lpPrevWndFunc,                        [in] long hWnd,                        [in] long uMsg,                        [in] long wParam,                        [in] long lParam);    } */};

⌨️ 快捷键说明

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