当前位置:编程学习 > C#/ASP.NET >>

使用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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,