C# 怎样模拟windows消息,发送鼠标键盘事件给windows,让其触发相应操作,请路过的大侠给几个例子,代码参考最好是由浅入深。麻烦了!
解决方案 »
- winform 里上传图片怎么做到如果图片存在就让他重选则或者把原来的覆盖,或者让他改名字之后再传上去。着急
- 二进制读取图片这样有问题?
- 如何提高使用Remoting时的性能?刚学习几天,望懂Remoting技术的来帮帮忙啊。
- 改变外观的第三方控件
- 定义一个属性Name,如果能够像DataRow dr调用 dr[0] 或者 dr["Name"] 那样就好了。内空
- 如何暂停一个线程
- 我的程序哪里有问题,请帮忙解决,谢谢!
- 这几行c++的代码怎么改成c#的????先谢了
- 关于窗口的一个小问题
- C# 新线程里面无法调用DLL中的方法,DLL是引用第三方的
- 点gridview里的button不会执行gridview_rowcommand事件,但也不报错,是什么原因???
- c#编写简单浏览器问题
Keyboard_Event[DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);private void button1_Click( object sender, EventArgs e )
{
const byte VK_F1 = 0x70;
const int KEYEVENTF_KEYUP = 0x02;
keybd_event(VK_F1, 0, 0, 0);
keybd_event(VK_F1, 0, KEYEVENTF_KEYUP, 0);
} SendKeys.Send
http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx
但我用的mouse_event
API:
Keyboard_EventC# code[DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraIn……
大哥每次都是你,呵呵,谢谢。
但我用的mouse_event
他回答了很多啊,特别感谢,呵呵,有人回复吗
[DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
ce/mobile支持的。
SendInput
用这个,鼠标键盘的都可以模拟。kb_event只能模拟键盘。
刚接触像这个的方法,还不太会用,
[DllImport("coredll.dll", EntryPoint = "keybd_event", SetLastError = true)]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
麻烦给几个小例子,贴点代码
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo); private void button1_Click(object sender, EventArgs e)
{
this.textBox1.Focus();
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,(UIntPtr)0);} 窗体间操作使用委托
[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, UIntPtr dwExtraInfo);
[Flags]
public enum MouseEventFlags
{
LEFTDOWN = 0x00000002,
LEFTUP = 0x00000004,
MIDDLEDOWN = 0x00000020,
MIDDLEUP = 0x00000040,
MOVE = 0x00000001,
ABSOLUTE = 0x00008000,
RIGHTDOWN = 0x00000008,
RIGHTUP = 0x00000010
}
sendmessage可针对某一窗口