Graphics 版 (精华区)

发信人: tonyli (tonyli), 信区: Graphics
标  题: ●Authorware调用可执行文件后的窗口处理 
发信站: 紫 丁 香 (Tue Dec 28 11:05:44 1999), 转信

●Authorware调用可执行文件后的窗口处理 
  有不少人反映Authorware的JumpOutReturn执行了外部命令后立即返回继续运行,也就
是说在调用完相应文件后Authorware就不管了,两个程序形成了同时运行的状态并且相互
之间不能联系,这样无论用户对执行程序进行了什么操作Authorware都不管。以网友Mouse
Boy的问题为例,他在
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)函数将桌面盖住。 
 
 

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: jxjd.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.002毫秒