我模拟键盘和鼠标超作,现在可以移动,也可以输入简单的字母,但不知道怎么输入"12345",这个字符串是通过表单提交过去的,可能是其他的数字组合.using System;
using System.Runtime.InteropServices;
namespace bb
{
class bb
{
[DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags,int dx,int dy ,int dwData ,int dwExtralnfo);
public const int MOUSEEVENTF_LEFTDOWN = 0x2;
public const int MOUSEEVENTF_LEFTUP = 0x4;
public const int MOUSEEVENTF_MIDDLEDOWN = 0x20;
public const int MOUSEEVENTF_MIDDLEUP = 0x40;
public const int MOUSEEVENTF_MOVE = 0x1;
public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
public const int MOUSEEVENTF_RIGHTDOWN = 0x8;
public const int MOUSEEVENTF_RIGHTUP = 0x10;
[DllImport("user32.dll")]
public static extern void keybd_event( byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo );
public const uint KEYEVENTF_EXTENDEDKEY = 0x1;
public const uint KEYEVENTF_KEYUP = 0x2;
//public const int myint=1;
public static void Main()
{
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,800 * 65536 / 1024, 370 * 65536 / 768,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0, 0,0,0); keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
//SendKeys.Send(string str);
//|
}
}
}
using System.Runtime.InteropServices;
namespace bb
{
class bb
{
[DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags,int dx,int dy ,int dwData ,int dwExtralnfo);
public const int MOUSEEVENTF_LEFTDOWN = 0x2;
public const int MOUSEEVENTF_LEFTUP = 0x4;
public const int MOUSEEVENTF_MIDDLEDOWN = 0x20;
public const int MOUSEEVENTF_MIDDLEUP = 0x40;
public const int MOUSEEVENTF_MOVE = 0x1;
public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
public const int MOUSEEVENTF_RIGHTDOWN = 0x8;
public const int MOUSEEVENTF_RIGHTUP = 0x10;
[DllImport("user32.dll")]
public static extern void keybd_event( byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo );
public const uint KEYEVENTF_EXTENDEDKEY = 0x1;
public const uint KEYEVENTF_KEYUP = 0x2;
//public const int myint=1;
public static void Main()
{
mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE,800 * 65536 / 1024, 370 * 65536 / 768,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0, 0,0,0); keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
//SendKeys.Send(string str);
//|
}
}
}
keybd_event(65,0,KEYEVENTF_KEYUP,0);
这个是产生按键信息,模拟按下A吧,65为大写字母A,48为数字0
keybd_event(65,0,KEYEVENTF_KEYUP,0);
这个只能输一个字符哦,怎么才能输入一串,
不是定死的,如果定死输入ab 的话是方便了,只要写上
keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);
keybd_event(66,0,0,0);
keybd_event(66,0,KEYEVENTF_KEYUP,0);
就行了,我需要的不是这种效果哦
keybd_event((int)('6'),0,KEYEVENTF_KEYUP,0);
char[] chrItems = yourString.ToCharArray();
for( int i = 0; i < chrItems.Length; i++ )
{
keybd_event( (int)( chrItems[i] ),0,0,0);
keybd_event((int)( chrItems[i] ),0,KEYEVENTF_KEYUP,0);
}
char[] chrItems = arr.ToCharArray();
for( int i = 0; i < chrItems.Length; i++ )
{
keybd_event( (int)( chrItems[i] ),0,0,0);
keybd_event((int)( chrItems[i] ),0,KEYEVENTF_KEYUP,0);
}
char[] chrItems = arr.ToCharArray();
for( int i = 0; i < chrItems.Length; i++ )
{
keybd_event( (byte)( chrItems[i] ),0,0,0);
keybd_event((byte)( chrItems[i] ),0,KEYEVENTF_KEYUP,0);
}
char[] chrItems = yourString.ToCharArray();
for( int i = 0; i < chrItems.Length; i++ )
{
keybd_event( (byte)( chrItems[i] ),0,0,0);
keybd_event((byte)( chrItems[i] ),0,KEYEVENTF_KEYUP,0);
}