我想实现对鼠标右键的复制粘贴消息的截获
请问用系统的哪些API函数来实现。

解决方案 »

  1.   

    剪切板相关函数.Functions
    ChangeClipboardChain
    The ChangeClipboardChain function removes a specified window from the chain of clipboard viewers. CloseClipboard
    The CloseClipboard function closes the clipboard. CountClipboardFormats
    The CountClipboardFormats function retrieves the number of different data formats currently on the clipboard. EmptyClipboard
    The EmptyClipboard function empties the clipboard and frees handles to data in the clipboard. The function then assigns ownership of the clipboard to the window that currently has the clipboard open. EnumClipboardFormats
    The EnumClipboardFormats function enumerates the data formats currently available on the clipboard. Clipboard data formats are stored in an ordered list. To perform an enumeration of clipboard data formats, you make a series of calls to the EnumClipboardFormats function. For each call, the format parameter specifies an available clipboard format, and the function returns the next available clipboard format. 
    GetClipboardData
    The GetClipboardData function retrieves data from the clipboard in a specified format. The clipboard must have been opened previously. GetClipboardFormatName
    The GetClipboardFormatName function retrieves from the clipboard the name of the specified registered format. The function copies the name to the specified buffer. GetClipboardOwner
    The GetClipboardOwner function retrieves the window handle of the current owner of the clipboard. GetClipboardSequenceNumber
    The GetClipboardSequenceNumber function retrieves the clipboard sequence number for the current window station. GetClipboardViewer
    The GetClipboardViewer function retrieves the handle to the first window in the clipboard viewer chain. GetOpenClipboardWindow
    The GetOpenClipboardWindow function retrieves the handle to the window that currently has the clipboard open. GetPriorityClipboardFormat
    The GetPriorityClipboardFormat function retrieves the first available clipboard format in the specified list. IsClipboardFormatAvailable
    The IsClipboardFormatAvailable function determines whether the clipboard contains data in the specified format. OpenClipboard
    The OpenClipboard function opens the clipboard for examination and prevents other applications from modifying the clipboard content. RegisterClipboardFormat
    The RegisterClipboardFormat function registers a new clipboard format. This format can then be used as a valid clipboard format. SetClipboardData
    The SetClipboardData function places data on the clipboard in a specified clipboard format. The window must be the current clipboard owner, and the application must have called the OpenClipboard function. (When responding to the WM_RENDERFORMAT and WM_RENDERALLFORMATS messages, the clipboard owner must not call OpenClipboard before calling SetClipboardData.) SetClipboardViewer
    The SetClipboardViewer function adds the specified window to the chain of clipboard viewers. Clipboard viewer windows receive a WM_DRAWCLIPBOARD message whenever the content of the clipboard changes. 
      

  2.   

    估计是这2个.
    GetClipboardData
    SetClipboardData
      

  3.   

    Hook右键是没问题,但是你没法知道右键菜单出来后点击的是什么。
      

  4.   

    Hook GetClipboardData 和SetClipboardData就好。和Hook右键菜单没关系,也没法实现你的要求