刷课时的时候,网页好像会自动检测系统静默状态。于是想写一个隔一会鼠标会自动移动的小工具。
在范例基础上改的。
写的不完善 先发出来
//创建托盘图标
import win.ui;
import win.ui.menu;
/*DSG{{*/
var winform = win.form(text="托盘图标";left=0;top=0;right=330;bottom=156)
winform.add()
/*}}*/
//启用分层窗口模式,窗口自动隐藏不显示
winform.modifyStyleEx(,0x80000/*_WS_EX_LAYERED*/)
//下面创建托盘图标
import win.util.tray;
winform.tray = win.util.tray(winform)
winform.tray.tip = "模拟系统鼠标使用状态工具" //设置鼠标提示
//注意在单引号包含的转义字符串里只能以 '\n' 表示换行符,其他换行被忽略。
winform.tray.pop('
按ESC键 或者状态栏图标菜单 停止 选项终止程序运行。'
,"软件使用提示");
winform.onMinimize = function(lParam){
winform.tray = win.util.tray(winform);
winform.show(false); //隐藏窗口
return true;//阻击默认消息传递,取消最小化过程
}
winform.onTrayMessage = {
[0x205/*_WM_RBUTTONUP*/ ] = function(wParam){
//弹出托盘菜单以前,一定要前置主窗口中,
//避免不点击菜单不会消失,父窗口隐藏也要这样做
win.setForeground(winform.hwnd,true) //参数 2 为 true 避免显示最小化窗口
/*
下面创建托盘弹出菜单。
如果程序要开机启动到托盘,最好在这里创建菜单,在用户点击前不要创建菜单,
避免系统启动时 DPI 缩放前创建的菜单字体偏小(出现这情况的机率很小)。
如果不想重复创建菜单最好写到一个库里,然后在这里 import 即可避免上述问题。
*/
import win.ui.menu;
winform.popmenu = win.ui.popmenu(winform);//创建弹出菜单
winform.popmenu.add('&开始',function(id){
//在下面输入菜单响应代码
import key;
while(!key.getStateX("ESC")){
import mouse;
mouse.moveTo(140,150,true,10);
win.delay(8000);
mouse.moveTo(90,350,true,10);
win.delay(8000);
}
/*
if(num = 2){
while(!key.getStateX("ESC")){ //按ESC退出
winex.key.click(hwnd,"F6" )
sleep(delay)
}
}
*/
});
/*
winform.popmenu.add();//分隔线
winform.popmenu.add('&停止',function(id){
//在下面输入菜单响应代码
key.getStateX("ESC")
});
*/
winform.popmenu.add();//分隔线
winform.popmenu.add('&说明',function(id){
winform.tray.pop('
按ESC键 或者状态栏图标菜单 停止 选项终止程序运行。'
,"软件使用提示");
});
winform.popmenu.add();//分隔线
winform.popmenu.add('&exit',function(id){ winform.close() })
winform.popmenu.popup();
winform.popmenu.close();
};
[0x202/*_WM_LBUTTONUP*/] = function(wParam){
};
[0x203/*_WM_LBUTTONDBLCLK*/] = function(wParam){
};
[0x404/*_PARAM_DESTROY*/] = function(wParam){
};
[0x405/*_PARAM_CLICKED*/] = function(wParam){
};
}
winform.show(true);
win.loopMessage();