我有一个
Windows应用程序在后台运行.我将此应用程序中的功能映射到热键.就像我把一个消息框放在这个功能中,并给出热键作为Alt Ctrl D.然后按Alt,Ctrl和D在一起消息框出来.我的申请工作正常至此为止.
现在我想在这个函数中编写一个代码,所以当我使用其他应用程序(如记事本)时,我选择一个特定的文本行,然后按热键Alt Ctrl D,它应该将选定的文本复制到“_copied”并将其粘贴回记事本.
任何尝试过类似应用程序的人都可以帮助我提供宝贵的意见.
解决方法
你的问题有两个答案
我的应用程序如何设置全局热键
BOOL RegisterHotKey( HWND hWnd,// window to receive hot-key notification int id,// identifier of hot key UINT fsModifiers,// key-modifier flags UINT vk // virtual-key code );
更多信息:http://www.codeproject.com/KB/system/nishhotkeys01.aspx
[DllImport("User32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("user32.dll",CharSet=CharSet.Auto)] static public extern IntPtr GetForegroundWindow(); [DllImport("user32.dll")] static extern void keybd_event(byte bVk,byte bScan,uint dwFlags,uint dwExtraInfo); ..... private void SendCtrlC(IntPtr hWnd) { uint KEYEVENTF_KEYUP = 2; byte VK_CONTROL = 0x11; SetForegroundWindow(hWnd); keybd_event(VK_CONTROL,0); keybd_event (0x43,0 ); //Send the C key (43 is "C") keybd_event (0x43,KEYEVENTF_KEYUP,0); keybd_event (VK_CONTROL,0);// 'Left Control Up }
免责声明:马库斯·彼得斯从此代码:http://bytes.com/forum/post1029553-5.html发表在这里为了您的方便.