gpt4 book ai didi

C++ WINAPI 按钮剪贴板 - 复制操作

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:17 26 4
gpt4 key购买 nike

我对 C++ 有点陌生,但我知道基础知识以及如何正确使用它。我只是想知道如何在 Windows 应用程序中复制到剪贴板。我希望 4 个按钮能够在单击时复制消息并将其存储在剪贴板中。这是按钮的代码,if 语句是单击时执行的操作:

case WM_CREATE:{

CreateWindow(TEXT("BUTTON"), TEXT("Copythistext"),
WS_CHILD | WS_VISIBLE,
12,60,10,20,
hwnd, (HMENU) ID_BUTTON, NULL, NULL
);

break;
}



case WM_COMMAND:{ //this is where the button performs it's task
if(LOWORD(wParam)== ID_BUTTON) {
//this is where the task goes

}
break;
}

最佳答案

事件顺序:

void AddToClipboard(char* pszText)
{
int nStrLen = strlen(pszText);
HGLOBAL hMem = GlobalAlloc(nStrLen + 1, GMEM_SHARE);
char* pCopyTo = (char*) GlobalLock(hMem);
strcpy(pCopyTo, pszText);
GlobalUnlock(hMem);
OpenClipboard(NULL); // or HWND handle instead of NULL
EmptyClipboard();


SetClipboardData(CF_TEXT, hMem); // hMem is handle to memory allocated with GlobalAlloc
CloseClipboard();
}

对于hMem,你通常做一个GlobalAlloc(),GlobalLock(),复制字符串到GlobalLock()返回的指针,然后在句柄上做一个GlobalUnlock()

关于C++ WINAPI 按钮剪贴板 - 复制操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30792501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com