|
发表于 2013-1-8 11:48:41
|
显示全部楼层
如果你指的是透明桌面,你鼠标点击其他窗口会退出全屏。
如果没有切换过程,可以不使用 fullscreen函数,自已写一句代码就可以实现全屏。- flash._form.setPos(0,0, ..win.getScreen() )
复制代码 flash._form.fullscreen(true) 主要是用来实现全屏切换。
在其他程序激活是也会自动退出全屏,并恢复窗口状态。
如果你希望阻止自动退出,可以在窗口消息回调中阻止处理 _WM_ACTIVATEAPP(aardio最新版本处理了这个消息退出全屏),或者重写默认消息处理,如下:
- import win.flashInBox;
- /*去掉水印{{*/
- import process;
- VirtualProtectEx = ::Kernel32.api("VirtualProtectEx","bool(POINTER hProcess,addr lpAddress, INT dwSize, INT flNewProtect, INT &lpflOldProtect )");
- var prcs = process();
- var pDrawDemoAddr = tonumber( win.flashInBox._dll.gethandle() ) + 0x1000 + 0x25EE0;
- VirtualProtectEx( prcs.handle, pDrawDemoAddr,1,0x40/*_PAGE_EXECUTE_READWRITE*/ ,0);
- prcs.writeString( pDrawDemoAddr,'\0' )
- prcs.free();
- /*}}*/
- //创建FLash透明窗口
- var flash = ..win.flashInBox( {text = "任务栏你好"} ,true )
- win.form._defaultProc[0x1C/*_WM_ACTIVATEAPP*/] = null
- flash._form.fullscreen(true)
- flash.show()
- flash.putMovie( $"~\example\Flash\testCall.swf")
- win.loopMessage()
复制代码 |
|