|
借花献佛,启动后最小化到托盘,无console输出,无后门,//后回车可切换,未严格测试,娱乐之用,以下为全部代码
- import win.ui;
- /*DSG{{*/
- mainForm = win.form(text="输入法自动切换";right=400;bottom=100;max=false)
- mainForm.add(
- static={cls="static";text="Enjoy it!^_^";left=96;top=32;right=320;bottom=64;align="center";color=32768;font=LOGFONT(name='微软雅黑';h=-21);transparent=1;z=1}
- )
- /*}}*/
- import console;
- import key.hook;
- var hook = key.hook();
- var cnt = 0;
- var flg = false;
- var zhflg=0;
- //录制回调函数
- hook.proc = function(msg,vkcode,scancode,injected,flags,timeStamp,extraInfo){
- if( injected ) return; //模拟鼠标不处理
- var kn = key.getName( vkcode );
- select(msg) {
- case 0x100/*_WM_KEYDOWN*/ ,0x104/*_WM_SYSKEYDOWN*/ {
- //console.log("按下","键名:" + kn,"键码:"+vkcode)
- if(kn=="/")
- {
- cnt++;
- }
- else
- {
- cnt=0;
- }
- if(cnt==2)
- {
- key.pressEx("CTRL","space");
- zhflg=1;
- }
- if((kn=="ENTER")&&(zhflg==1))
- {
- key.pressEx("CTRL","space");
- zhflg=0;
- }
- }
-
- }
-
- }
- import win.util.tray;
- var appico=string.load("res\app.ico");
- var tray = win.util.tray(mainForm,appico) //创建托盘图标,如果不能显示图标,可能是图标问题,要复合图标
- tray.message = 0x400+9981/*_WM_TRAYMESSAGE*/
- tray.pop("欢迎使用","^_^")
- tray.tip = "点我点我" //设置鼠标提示
- mainForm.onClose = function(hwnd,message,wParam,lParam){
- tray.delete(); //关闭窗口同时删掉托盘,避免关闭窗口后要鼠标移到托盘图标才消失
- }
- import mouse;
- mainForm.wndproc = function(hwnd,message,wparam,lparam){
- select(message) {//判断消息类型
- case 0x10/*_WM_CLOSE*/{
- fadeHide();
- };
- case( 0x400+9981/*_WM_TRAYMESSAGE*/ ) { //托盘图标消息
-
- if(lparam = 0x203/*_WM_LBUTTONDBLCLK)*/){ //鼠标双击
- mainForm.show(true);
- }
- elseif(lparam =0x205/*_WM_RBUTTONUP*/){ //鼠标右键
- x,y = mouse.getPos();
- win.setForeground(mainForm.hwnd)
- mainForm.popmenu.popup(x,y,true)
- }
- }
- case( 0x112/*_WM_SYSCOMMAND*/ ){ //系统命令消息
- if( wparam == 0xF020/*_SC_MINIMIZE*/ ){ //用户点击了最小化按钮
- mainForm.show(false); //隐藏窗口
- return true;//阻击默认消息传递,取消最小化过程
- }
- }
-
- }
-
- }
- fadeHide = function(){
- for(i=17;1;-1){
- mainForm.transparent( i * 15);
- x,y,cx,cy = mainForm.getPos();
- mainForm.setPos(x-1,y-1,cx+2,cy+2);
- win.delay(5);
- };
- win.quitMessage();
- }
- //下面是添加托盘右键菜单
- import win.ui.menu;
- mainForm.popmenu=win.ui.popmenu(mainForm);
- mainForm.popmenu.add('打开',function(id){ //添加了一个打开主界面的菜单
- mainForm.show();
- })
- mainForm.popmenu.add('退出',function(id){ //添加了一个退出程序的菜单
- mainForm.close();
- })
- mainForm.enableDpiScaling();
- mainForm.show(false);
- return win.loopMessage();
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|