15,471
社区成员
发帖
与我相关
我的任务
分享
HGLOBAL hGlobal = GlobalAlloc(GHND|GMEM_SHARE, 1024);
bool clipboard_set_str(const string& s) {
char* mem = (char*)GlobalLock(hGlobal);
if(mem==NULL) {
printf("GlobalLock err\n");
return false;
}
strcpy(mem, (char*)s.c_str());
GlobalUnlock(hGlobal);
if(!OpenClipboard(NULL)) {
printf("OpenClipboard err\n");
return false;
}
if(!EmptyClipboard()) {
printf("EmptyClipboard err\n");
return false;
}
if(SetClipboardData(CF_TEXT, hGlobal) == NULL) {
printf("SetClipboardData err: %d\n", GetLastError());
return false;
}
if(!CloseClipboard()) {
printf("CloseClipboard err\n");
return false;
}
return true;
}
int main() {
clipboard_set_str("aaaaa");
// clipboard_set_str("BBBBB");// 如果注释掉这个,粘贴板里能有之前的 aaaaa,如果打开这行就报错
// GlobalFree(hGlobal);
}