搜索
查看: 4159|回复: 5

flash全屏问题

  [复制链接]

6

主题

132

帖子

1116

积分

四级会员

Rank: 6Rank: 6

积分
1116
发表于 2013-1-8 11:18:16 | 显示全部楼层 |阅读模式
第一运行能全屏 但是只要  鼠标有动作 就全屏不了 有啥办法能一直全屏

  1. import win.flashInBox;

  2. /*去掉水印{{*/
  3. import process;
  4. VirtualProtectEx = ::Kernel32.api("VirtualProtectEx","bool(POINTER hProcess,addr lpAddress, INT dwSize, INT flNewProtect, INT &lpflOldProtect )");
  5. var prcs = process();  
  6. var pDrawDemoAddr = tonumber( win.flashInBox._dll.gethandle()  ) +  0x1000 + 0x25EE0;
  7. VirtualProtectEx( prcs.handle, pDrawDemoAddr,1,0x40/*_PAGE_EXECUTE_READWRITE*/  ,0);  
  8. prcs.writeString( pDrawDemoAddr,'\0' )
  9. prcs.free();
  10. /*}}*/

  11. //创建FLash透明窗口
  12. var flash = ..win.flashInBox( {text = "任务栏你好"} , true /*透明*/)

  13.   
  14. flash._form.fullscreen(true)


  15. //显示窗口
  16. flash.show()

  17. //In Box 可以直接自内存加载Flash
  18. flash.putMovie( $"\res\main.swf")




  19. win.loopMessage()
复制代码
静步
回复

使用道具 举报

30

主题

695

帖子

4178

积分

超级版主

Rank: 8Rank: 8

积分
4178
发表于 2013-1-8 11:48:41 | 显示全部楼层

如果你指的是透明桌面,你鼠标点击其他窗口会退出全屏。 如果没有切换过程,可以不使用 fullscreen函数,自已写一句代码就可以实现全屏。[code]f


如果你指的是透明桌面,你鼠标点击其他窗口会退出全屏。
如果没有切换过程,可以不使用 fullscreen函数,自已写一句代码就可以实现全屏。
  1. flash._form.setPos(0,0, ..win.getScreen() )
复制代码
flash._form.fullscreen(true) 主要是用来实现全屏切换。
在其他程序激活是也会自动退出全屏,并恢复窗口状态。
如果你希望阻止自动退出,可以在窗口消息回调中阻止处理 _WM_ACTIVATEAPP(aardio最新版本处理了这个消息退出全屏),或者重写默认消息处理,如下:

  1. import win.flashInBox;
  2. /*去掉水印{{*/
  3. import process;
  4. VirtualProtectEx = ::Kernel32.api("VirtualProtectEx","bool(POINTER hProcess,addr lpAddress, INT dwSize, INT flNewProtect, INT &lpflOldProtect )");
  5. var prcs = process();  
  6. var pDrawDemoAddr = tonumber( win.flashInBox._dll.gethandle()  ) +  0x1000 + 0x25EE0;
  7. VirtualProtectEx( prcs.handle, pDrawDemoAddr,1,0x40/*_PAGE_EXECUTE_READWRITE*/  ,0);  
  8. prcs.writeString( pDrawDemoAddr,'\0' )
  9. prcs.free();
  10. /*}}*/

  11. //创建FLash透明窗口
  12. var flash = ..win.flashInBox( {text = "任务栏你好"} ,true )

  13. win.form._defaultProc[0x1C/*_WM_ACTIVATEAPP*/]  = null
  14. flash._form.fullscreen(true)

  15. flash.show()
  16. flash.putMovie( $"~\example\Flash\testCall.swf")
  17. win.loopMessage()
复制代码
回复

使用道具 举报

30

主题

695

帖子

4178

积分

超级版主

Rank: 8Rank: 8

积分
4178
发表于 2013-1-8 11:50:46 | 显示全部楼层

下面是标准库 win.ui 中自动退出全屏的实现代码:[code]namespace form { _defaultProc = {

下面是标准库 win.ui 中自动退出全屏的实现代码:
  1. namespace form {

  2.     _defaultProc = {
  3.         [0x1C/*_WM_ACTIVATEAPP*/] = function(this,hwnd, message, wParam, lParam){
  4.                 if( (!wParam) && this.restoreFullScreen ) this.fullscreen( false );
  5.         }
  6.      }
  7. }
复制代码
回复

使用道具 举报

6

主题

132

帖子

1116

积分

四级会员

Rank: 6Rank: 6

积分
1116
 楼主| 发表于 2013-1-8 12:09:41 | 显示全部楼层

[quote][size=2][color=#999999]quicker 发表于 2013-1-8 11:50[/color] [url=forum.php?

quicker 发表于 2013-1-8 11:50
下面是标准库 win.ui 中自动退出全屏的实现代码:

谢谢 版主  理解了
静步
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2013-1-8 12:33:33 | 显示全部楼层

[quote][size=2][color=#999999]xz19910830 发表于 2013-1-8 12:09[/color] [url=forum.p

xz19910830 发表于 2013-1-8 12:09
谢谢 版主  理解了


请更新一下标准库,已经修改了标准库,对透明分层窗口已禁用自动退出全屏功能
回复

使用道具 举报

6

主题

132

帖子

1116

积分

四级会员

Rank: 6Rank: 6

积分
1116
 楼主| 发表于 2013-1-8 13:39:27 | 显示全部楼层

[quote][size=2][color=#999999]Jacen 发表于 2013-1-8 12:33[/color] [url=forum.php?mo

Jacen 发表于 2013-1-8 12:33
请更新一下标准库,已经修改了标准库,对透明分层窗口已禁用自动退出全屏功能

谢谢  老大
静步
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-16 17:24 , Processed in 0.062500 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表