![]() |
| 您现在的位置: 中国论文网 >> 论文 >> 教学论文 >> 教程指导 >> 课件制作 >> 文章正文 |
Authorware调用可执行文件后的窗口处理 |
||
|
有不少人反映Authorware的JumpOutReturn执行了外部命令后立即返回继续运行,也就是说在调用完相应文件后Authorware就不管了,两个程序形成了同时运行的状态并且相互之间不能联系,这样无论用户对执行程序进行了什么操作Authorware都不管。以网友MouseBoy的问题为例,他在Authorware中调用了ScreenCam制作的自执行影片,但运行时移动了ScreenCam的窗口,下面就露出了Authorware的窗口,而且Authorware还在运行中等待交互哩!真是煞风景乍解决呢?以这个问题为例讲一下吧(假设自执行影片为c:\play.exe,Lotus ScreenCam 97制作): 1、加上计算图标,内容为:
--将Authorware窗口隐藏(移出屏幕) x:=windowtop y:=windowleft MoveWindow(1024,768) JumpOutReturn("c:\\play.exe"); 2、其后跟一个等待图标,时间设为2秒,用于等待play.exe的窗口出现(否则FindWindow函数在窗口未打开之开就先检查了); 3、再跟一个等待图标名为wait,时间设为.5秒,用于循环控制; 4、调入WINAPI.U32/UCD中的FindWindow函数,加入一个计算图标,内容如下: --检查play窗口是否关闭 if FindWindow("ScreenCamPlayerWndv3","Lotus ScreenCam 97")<>0 then GoTo(IconID@"wait") end if --恢复窗口 movewindow(x,y) 这里解释一下FindWindow函数,这是一个WINDOWS API函数,如果你进行过WINDOWS程序设计可能会知道,它是用来检查系统中相应窗口句柄的,如返回0一般说明窗口不存在,两个参数一个是窗口类名,一个是窗口名(标题条上的标题),对于不同窗口这两个值不一样,可以用Visaul C++中的SPY来检查这两个值。另外要注意的是在隐藏窗口和Play窗口出现的间隙屏幕上会出在空白而露出桌面同样影响画面效果,解决方法可以用Cover()(cover.ucd/u32在我的工具栏目中可Download)函数将桌面盖住。 |
||
| |
||