Authorware调用可执行文件后的窗口处理
来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-02 02:11 点击:次
有不少人反映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)函数将桌面盖住。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>