package FYL;
import java.awt.event.KeyEvent;
public class fyl {
public static int Hdl = 0;
public fyl() {
Hdl = Msdk.CLibrary.INSTANCE.M_Open(1);
String usbList="";
//Hdl = Msdk.CLibrary.INSTANCE.M_Open_VidPid(0x1a2c,0x405e);
int vid = 0x0000;
int pid = 0x0000;
while(true){
if (Hdl <= 0) {
Utils.put("没有找到可用的硬件盒子");
usbList = Utils.getUsbs();
if(!usbList.equals("")){
String[] strArr = usbList.split("-");
for (int i = 0; i < strArr.length; i++) {
if(!strArr[i].equals("")){//数组不为空
if(strArr[i].contains(":")){//包含:
String[] strArr2 = strArr[i].split(":");
vid = Integer.parseInt(strArr2[0],16);
pid = Integer.parseInt(strArr2[1],16);
Hdl = Msdk.CLibrary.INSTANCE.M_Open_VidPid(vid,pid);
if(Hdl > 0){
Utils.put("发现匹配可用的硬件盒子:vid:"+vid+",pid:"+pid);
break;
}
}
}
}
}
delay(1000);
continue;
}else{Utils.put("硬件盒子已加载");}
AllKeyUp();
break;
}
Msdk.CLibrary.INSTANCE.M_ResolutionUsed(Hdl,Utils.screenW,Utils.screenH);
}
public static void inputStr(String str){
byte[] DataBuf = str.getBytes(); //java的string都是unicode,要取得非unicode的ascii数组
Msdk.CLibrary.INSTANCE.M_KeyInputString(Hdl, DataBuf, str.length());
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void inputStrGBK2(String str){//游戏时不能直接输入中文
//char[] DataBuf = str.toCharArray();
byte[] DataBuf = str.getBytes(); //java的string都是unicode,要取得非unicode的ascii数组
Msdk.CLibrary.INSTANCE.M_KeyInputStringGBK(Hdl, DataBuf, DataBuf.length);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void inputStrGBK(String str){
//***************//开输入中文状态
KeyDown(KeyEvent.VK_CONTROL);delay(200,300);
KeyPress(KeyEvent.VK_SPACE,1);delay(200,300);
KeyUp(KeyEvent.VK_CONTROL);delay(100,300);
//**************
inputStr(str);
//fyl.inputStrGBK(buy.item_name);
//***************//关输入中文状态
KeyDown(KeyEvent.VK_CONTROL);delay(200,400);
KeyPress(KeyEvent.VK_SPACE,1);delay(200,400);
KeyUp(KeyEvent.VK_CONTROL);delay(200,400);
//**************
}
public static void moveClick(int x ,int y){//移动鼠标左击
moveTo(x,y);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
leftClick(1);
}
public static void moveTo(int x ,int y){//移动鼠标绝对
Msdk.CLibrary.INSTANCE.M_MoveTo3(Hdl, x, y);
}
public static void movePP(int x ,int y){//移动鼠标相对
Msdk.CLibrary.INSTANCE.M_MoveR(Hdl, x, y);
//Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 150);
}
public static void leftClick(int i){//鼠标左击,i为次数
Msdk.CLibrary.INSTANCE.M_LeftClick(Hdl, i);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 150);
}
public static void leftClick2(int i){//鼠标左击,i为次数
Msdk.CLibrary.INSTANCE.M_LeftDoubleClick(Hdl, i);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 150);
}
public static void rightClick(int i){//鼠标右击,i为次数
Msdk.CLibrary.INSTANCE.M_RightClick(Hdl, i);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 200);
}
public static void mouseWheel(int i){//鼠标滚动,i为滚动量, 为正,向上滚动;为负, 向下滚动;
for(int ii=0;ii<Math.abs(i);ii++){
if(i>0){
Msdk.CLibrary.INSTANCE.M_MouseWheel(Hdl, 1);
}else{
Msdk.CLibrary.INSTANCE.M_MouseWheel(Hdl, -1);
}
fyl.delay(50);
}
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void mouseWheel2(int i){//鼠标滚动,i为滚动量1或-1, 为正,向下滚动;为负, 向上滚动;
if(i>0){
Msdk.CLibrary.INSTANCE.M_MouseWheel(Hdl, -1);
}else{
Msdk.CLibrary.INSTANCE.M_MouseWheel(Hdl, 1);
}
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void leftDown(){//鼠标左击按下
Msdk.CLibrary.INSTANCE.M_LeftDown(Hdl);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 200);
}
public static void leftUp(){//鼠标左击弹起
Msdk.CLibrary.INSTANCE.M_LeftUp(Hdl);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void rightDown(){//鼠标右击按下
Msdk.CLibrary.INSTANCE.M_RightDown(Hdl);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void rightUp(){//鼠标弹起右键
Msdk.CLibrary.INSTANCE.M_RightUp(Hdl);
Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void sleep(int i){//延时指定时间,i单位ms
Msdk.CLibrary.INSTANCE.M_Delay(i);
}
public static void delay(int i){//延时指定时间,i单位ms
delay(i,i+100);
}
public static void delay(int i,int j){//延时指定随机大小时间,单位ms
if(i==j) j+=100;
Msdk.CLibrary.INSTANCE.M_DelayRandom(i,j);
}
public static void KeyPress(int hKeyCode,int i){//单击(按下后立刻弹起)按键 //HidKeyCode: 键盘码; Nbr: 按下次数
Msdk.CLibrary.INSTANCE.M_KeyPress2(Hdl, hKeyCode, i);
}
public static void KeyDown(int hKeyCode){//按下某个按键不弹起 //HidKeyCode: 键盘码
Msdk.CLibrary.INSTANCE.M_KeyDown2(Hdl,hKeyCode);
}
public static void KeyDownUp(int hKeyCode,int tim){//按下某个按键过一会弹起
KeyDown(hKeyCode);
Msdk.CLibrary.INSTANCE.M_Delay(tim);
KeyUp(hKeyCode);
}
public static void KeyUp(int hKeyCode){//弹起某个按键 //HidKeyCode: 键盘码
Msdk.CLibrary.INSTANCE.M_KeyUp2(Hdl,hKeyCode);
//Msdk.CLibrary.INSTANCE.M_DelayRandom(100, 300);
}
public static void KeyPress(int hKeyCode,int i,int dr1,int dr2){//单击(按下后立刻弹起)按键 //HidKeyCode: 键盘码; Nbr: 按下次数
Msdk.CLibrary.INSTANCE.M_KeyPress2(Hdl, hKeyCode, i);
if(dr1>0&dr2>0)Msdk.CLibrary.INSTANCE.M_DelayRandom(dr1, dr2);
}
public static void AllKeyUp() {
Msdk.CLibrary.INSTANCE.M_ReleaseAllKey(Hdl);
}
public static void AllKeyUp(int dr1,int dr2) {
AllKeyUp();
if(dr1>0&dr2>0)Msdk.CLibrary.INSTANCE.M_DelayRandom(dr1, dr2);
}
public static int KeyState(int hKeyCode) {
return Msdk.CLibrary.INSTANCE.M_KeyState2(Hdl,hKeyCode);
}
public static void Close() {
Msdk.CLibrary.INSTANCE.M_Close(Hdl);
}
}
评论0