Authorware调用可执行文件后的窗口处理

来源:百度文库 编辑:神马文学网 时间:2024/04/30 03:08:32

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)函数将桌面盖住。