2014-03-01 126 views
0

我想在C++中捕获剪贴板拷贝&剪切地址,但编译器说有GetClipboardSequenceNumber()函数没有声明的错误。我如何能够声明这一点。GetClipboardSequenceNumber()函数声明

#include "stdafx.h" 
#include <iostream> 
#include <windows.h> 
#include <conio.h> 
#include <winuser.h> 
using namespace std; 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    DWORD y = GetClipboardSequenceNumber(); 
    while(1) { 
     Sleep(1000); 
     if(y!=GetClipboardSequenceNumber()) 
      { 
       OpenClipboard(NULL); 
       HANDLE X =GetClipboardData(CF_TEXT); 
       cout<<(char*)GlobalLock(X); 
       GlobalUnlock(X); 
      } 
      } 
getch(); 
return 0; 
} 
+0

你似乎在使用特定于操作系统的API调用(我猜Windows)。请适当修改你的标签。请同时缩进您的代码。 – abligh

+0

是的,我正在使用Windows 7.你能给我正确的代码 – user3314731

+0

不,但其他人可能能够,如果你在你的帖子上设置适当的标签。 – abligh

回答

0

这可能取决于编译器,但documentation状态,这是仅适用于Windows 2000和更新,所以你应该确保你声明的正确WINVER版本来访问所需的功能。即:在包含Windows.h之前#define WINVER 0x0501获取它包含为XP定义的函数,但不包含仅在Windows Vista中可用的函数(0x600)。如果您使用Visual C++,那么Platform SDK倾向于定义一个合理的值。但要确定 - 在包含任何Windows头文件之前,同时定义WINVER和_WIN32_WINNT。

+0

我的编译器是Dev C++,我的os是win 7 32位。你说的工作不起作用。请告诉我我该怎么做 – user3314731