主题:  一个困扰我很久的问题

syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#12002/5/12 9:17:07
一般来说,一旦激活了其他窗口,离开AW窗口后AW就什么事情也不管了。但现在我想在另一个程序中,让原来的AW窗口Restart。怎么办?
我原想用API激活原来的AW窗口,在AW窗口中检测当前活动窗口是不是回到了自己身上,如果是的话,就Restart。但是由于我无法确定什么时候用户会激活其他窗口(离开AW窗口),我也就无法让AW知道什么时候开始不停地检测自己是否被重新激活。
在老张的ActiveM!用户手册里提到过类似的功能,他可以监测到系统托盘里的一些鼠标操作。方法是在AW中设一个变量,初始值为0,在系统托盘相应的图标上按鼠标键,会改变这个变量的值为1,关键的是此时AW能监测到这个变量的值变了,我很想知道这是怎么实现的。
请高手指点。



暴雨

职务:普通成员
等级:1
金币:1.0
发贴:178
#22002/5/12 12:45:38
查查相应的win32api吧。



与人同乐

职务:管理员
等级:6
金币:18.0
发贴:3928
#32002/5/12 13:38:45
用永久性条件响应监视变量的值。



syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#42002/5/12 22:56:18
Y版主没理解我的意思。我的意思是:比如同时运行两个AW程序,我在第一个窗口改变变量a的值,在第二个窗口要立即检测到该变量的变化。一般来说,AW只能在本窗口中监视变量值的变化,我想让它监视另一个程序中变量的变化。
应该是用WINAPI解决吧,但我没找到办法。



mimicico

职务:普通成员
等级:1
金币:0.0
发贴:129
#52002/5/13 8:06:51
两个程序之间通讯的问题很复杂,即使用其他语言也是这样。

我不知道你所要求的实时性有多高,如果不是很强,可以这样考虑:
1.在程序1中建立一个变量,当这个变量变化了,将其写进一个临时文件。
2.在程序二中每隔一些时间(1分钟)读一次这个文件,看是否有变化。



mimicico

职务:普通成员
等级:1
金币:0.0
发贴:129
#62002/5/13 8:08:49
另外,找一个可以使用DDE的资料,看是否程序之间的通讯有更好的方法。

Authorware有DDE这个UCD可以用。