|
|
已经两次不小心刷新,内容没了,已经没力气编辑 精简再精简内容 代码里注释也一并精简了。只留下怎么操作的
ahk脚本,透明窗口+隐藏任务栏,并且定期发送esc键存活。
前提是公司不禁start云游戏 这样做是为了不那么容易被同事领导发现在挂机
当然,最主要是为了云游戏不扣时间,在领了闲时卡之类的。
纵使这样做仅是没那么容易被路过领导同事发现,但网管查看路由器后台依旧能看到你访问连接了什么域名网站的。而且如果公司办公电脑还给你安装了监控软件,那更加防不了。
对了,以下代码仅适配ahk v1.1版本。
还是解释下,常规的隐藏窗口,给窗体发送控件消息或是常规的键盘消息是无法响应做出处理,start云游戏二十分钟不键盘鼠标操作就会自动掉线,因此只能把窗口完全透明化,在这种情况下,它既没有最小化窗体也没有消失,键盘操作和鼠标亦无法点击。但是window下的api还能通过发送控件消息其中一种名为键盘消息,窗口能对此有所响应,并且是后台异步的,更是不影响当前操作的窗口,完美适配当前需求。
再扩展点,window早期键盘驱动函数keybd_event(或mouse_event,在ahk中封装为sendevent,并且1.1版本默认send模式为sendevent)。最新的键盘鼠标函数是sendinput,ahk中同名,ahkv2版本默认该模式,ahk中都可以通过sendmode xxx来修改默认发送模式(event或者input)。这两个指令给窗口发送键盘鼠标都会使得窗口置换到前台来,不适用当前场景。
关于window窗体(扩展)样式:(请看window官网地址,tip:部分样式属性是有冲突的) https://learn.microsoft.com/zh-c ... ended-window-styles
由于修改部分窗体样式不会立即生效,需要手动给窗体发送重绘窗口指令Redraw。
[code]
;ctrl+f6键透明窗口且任务栏和Alt+Tab不显示。再按切换显示回来
~$^F6::
toggle:=!toggle
if(toggle){
winset,transparent,0,"ahk_class START Cloud Game"
winset,transparent,0,"ahk_class START Cloud Game Render"
winset,Exstyle,+0x80,"ahk_class START Cloud Game Render"
}else{
winset,transparent,off,"ahk_class START Cloud Game"
winset,transparent,off,"ahk_class START Cloud Game Render"
winset,Exstyle,-0x80080,"ahk_class START Cloud Game Render"
sleep 1000
winset,Redraw,,"ahk_class START Cloud Game Render"
}
return
;ctrl+f7后台异步每5秒发送esc键到云游戏窗口,并且不会置换窗口到前台来影响到办公操作;再按停止
~$^F7::
stop:=!stop
loop
{
ControlSend,{esc},,"ahk_class START Cloud Game Render"
sleep 5000
}until !stop
return
[code] |
|