VS编程中发送Ctrl+V键盘消息实现粘贴功能

VS编程中,有些程序不支持WM_PASTE消息(如word),只能模拟键盘实现粘贴操作。
Windows系统下粘贴的快捷键有2个:Ctrl+V或者SHIFT+INSERT,参考代码如下:

					{
					INPUT inputs[4];
					memset(inputs, 0, sizeof(inputs));

					inputs[0].type		 = INPUT_KEYBOARD;
					inputs[0].ki.wVk	 = VK_CONTROL;		//VK_SHIFT
					inputs[0].ki.wScan	 = 0x1d;			//0x2A
					inputs[0].ki.dwFlags = 0;					//KEYDOWN flag

					inputs[1].type		 = INPUT_KEYBOARD;
					inputs[1].ki.wVk	 = 'V';				//VK_INSERT
					inputs[1].ki.wScan	 = 0x2f;			//0x52
					inputs[1].ki.dwFlags = 0;             //KEYDOWN flag

					inputs[2].type		 = INPUT_KEYBOARD;
					inputs[2].ki.wVk	 = 'V';				//VK_INSERT
					inputs[2].ki.wScan	 = 0x2f;			//0x52
					inputs[2].ki.dwFlags = KEYEVENTF_KEYUP;

					inputs[3].type		 = INPUT_KEYBOARD;
					inputs[3].ki.wVk	 = VK_CONTROL;		//VK_SHIFT
					inputs[3].ki.wScan	 = 0x1d;			//0x2A
					inputs[3].ki.dwFlags = KEYEVENTF_KEYUP;

					SendInput(4, inputs, sizeof(INPUT));
				}
发布了3 篇原创文章 · 获赞 3 · 访问量 64

猜你喜欢

转载自blog.csdn.net/good02xaut/article/details/103967110