在Vc下如何使用sendmessage模拟Ctrl+V键
可做粘贴操作,(不用WM_PASTE)
请给出详细可用代码,键盘资料很难查,急!急!
可做粘贴操作,(不用WM_PASTE)
请给出详细可用代码,键盘资料很难查,急!急!
解决方案 »
- MBD,折寿了,想骂人
- 调用接口出错,最后一个BUG(急)
- 查找并KILL进程的代码总出错,大家帮忙看看.
- 有一段中文,要把他译成英文,请大家帮忙,谢谢了!
- 求像Window“画图”程序中的文字输入框那样的Edit源代码
- 如何更新CxxxView
- 谁知道双击标题栏的消息是什么?值是多少?
- 一个关于树形控件的问题,据说相当的难?
- 请教--关于vc编译错误
- 请教关于openGL
- 面对越来越成熟的编程环境,和方便的MFC,我有必要再认真学一下SDK吗???请指点迷津!
- 高手看一下,这个代码怎么回事,编译说'MyThread' : cannot convert parameter 1 from 'class CClientDC' to 'class CClientDC'
VOID WINAPI EditPaste(VOID)
{
PLABELBOX pbox;
HGLOBAL hglb;
LPTSTR lptstr;
PLABELBOX pboxCopy;
int cx, cy;
HWND hwnd;
pbox = hwndSelected == NULL ? NULL :
(PLABELBOX) GetWindowLong(hwndSelected, 0);
// If the application is in edit mode,
// get the clipboard text.
if (pbox != NULL && pbox->fEdit)
{
if (!IsClipboardFormatAvailable(CF_TEXT))
return;
if (!OpenClipboard(hwndMain))
return;
hglb = GetClipboardData(CF_TEXT);
if (hglb != NULL)
{
lptstr = GlobalLock(hglb);
if (lptstr != NULL)
{
// Call the application-defined ReplaceSelection
// function to insert the text and repaint the
// window.
ReplaceSelection(hwndSelected, pbox, lptstr);
GlobalUnlock(hglb);
}
}
CloseClipboard();
return;
}
// If the application is not in edit mode,
// create a label window.
if (!IsClipboardFormatAvailable(uLabelFormat))
return;
if (!OpenClipboard(hwndMain))
return;
hglb = GetClipboardData(uLabelFormat);
if (hglb != NULL)
{
pboxCopy = GlobalLock(hglb);
if (pboxCopy != NULL)
{
cx = pboxCopy->rcText.right + CX_MARGIN;
cy = pboxCopy->rcText.top * 2 + cyText;
hwnd = CreateWindowEx(
WS_EX_NOPARENTNOTIFY | WS_EX_TRANSPARENT,
atchClassChild, NULL, WS_CHILD, 0, 0, cx, cy,
hwndMain, NULL, hinst, NULL
);
if (hwnd != NULL)
{
pbox = (PLABELBOX) GetWindowLong(hwnd, 0);
memcpy(pbox, pboxCopy, sizeof(LABELBOX));
ShowWindow(hwnd, SW_SHOWNORMAL);
SetFocus(hwnd);
}
GlobalUnlock(hglb);
}
}
CloseClipboard();
}
参阅msdn:
msdn library-windows开发-windows基本服务-进程间通讯-sdk文档-interprocess communication-clipboard-clipboard-using clipboard
keybd_event('V',0,0,0); Sleep(10);
keybd_event('V', 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP,0);
各为多多学习