使用Sendkey发送下划线的问题
想要通过Sendkey打印一个“_”,在Virtual-key codes中找到“-”的虚拟键值为189,执行发送的代码如下:keybd_event((byte)16,MapVirtualKey((byte)16,0),(KEYEVENTF_EXTENDEDKEY | 0),0);
System.Threading.Thread.Sleep(100);
keybd_event((byte)189,MapVirtualKey((byte)189,0),(KEYEVENTF_EXTENDEDKEY | 0),0);
System.Threading.Thread.Sleep(100);
keybd_event((byte)189,MapVirtualKey((byte)189,0),(KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP),0);
System.Threading.Thread.Sleep(100);
keybd_event((byte)16,MapVirtualKey((byte)16,0),(KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP),0);
没有任何字符被打印。
我改成用PageDown(34),就可以。说明这样写shift键是被按下去的,可能是对应的下划线“_”却没有被打印出来,难道是“_”另有键值?或是用不同的方法才能打印? --------------------编程问答-------------------- //keybd_event((byte)34, 0, 0, 0);
//keybd_event((byte)189, 0, 0, 0);
//keybd_event(VK((byte)34L, 0, KEYEVENTF_KEYUP, 0);
//keybd_event(((byte)189, 0, KEYEVENTF_KEYUP, 0);
补充:.NET技术 , C#