主题:  请教如何在AW开发程序中设置暂停/恢复

syzy

职务:普通成员
等级:1
金币:4.0
发贴:131
#162002/1/19 23:09:21
追加一个问题,是否可以将一个进程重置,也就是让整个程序从头开始?我现在需要这样一个效果,从一个窗口随时切换到另一个窗口后,原来的程序要一直监视自己是否被再次激活,一旦被再次激活,就执行指定的程序。我想用baActiveWindow()=WindowHandle来检测,但是问题是程序不一定运行到哪里被切换的,而baActiveWindow()并不能随时监测本窗口是否在激活状态。
我想到的另一个办法是从第二个程序中直接使第一个程序重置,这能做到吗?请版主帮忙。



52domedia

职务:普通成员
等级:2
金币:10.0
发贴:352
#172002/1/20 2:52:47
skcyh在上个帖子中说
引用:
另一种方法线程中断)------(在程序语言中常用)
1.必须用CreateProcess()创建进程
2.该进程只有一个线程(不是多线程程序).
3.CreateProcesd()返回的结果中,有一个线程句柄.这个句柄是那个进程
的主线程.记住这个句柄(设为ThreadHandle).
4.SuspendThread(ThreadHandle).
//////////////////////////////////////////////////////////////
1、用Findwindow得到窗口Handle
2、根据窗口Handle用GetWindowThreadProcessID得到进程hprocess和创建此窗口线程的ThreadID
3、用SuspendThread(ThreadID),将此线程挂起。
这样此程序就被中断了,这里只对单线程的程序。
如果是多线程,还要在将他所有的线程挂起。



另附:
52domedia技术好、有开发经验,真心希望他能加盟我们的AU版块!(由于在天地的盘上找到了需要的开发文档,所以打算尽心研究xtra和ucd,可能会减少来5d的时间,幸好我们有技术一流的Y大哥和天地兄,如果再有52domedia这样的高手加盟,我相信5d的au会是最好的!)


你太抬举了,多谢!其实我也只是一知半解而已,和许多人一样是“半路上杀出的程咬金”。还需要更进一步地学习,由于个人情况特殊上网不能得到保证,所以只能愧对朋友们的好意。
这里我非常喜欢,也经常来向大家学习学习,真心地希望你能尽快生产出更多更好的“武器”来,我们翘首以盼!



燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
#182002/1/20 20:45:24
我会zoom的问题做详细说明的!今天换网!下次贴上!另外,我想问一下谁用过绘图仪!?大概多少钱(16M)!谢谢!


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;

zoom

职务:普通成员
等级:1
金币:0.0
发贴:44
#192002/1/22 23:29:03
skcyh你快点发贴吧。我已经被这问题困扰好久!



燕云

职务:普通成员
等级:2
金币:10.0
发贴:600
#202002/2/1 15:59:57
1。首先AW中同时完成动画、媒体播放等多媒体演示时用的是多线程!这一定其他系统也是一样的!因为各种资源(或元素)对机器的资源占用是不同的!
2。关于窗口的激活问题可以用钩子函数,或线程队列-----------复杂(截图软件就是最好的示范)
3。关于我的例子---出发点是对程序执行流程的控制,当你触发菜单按钮时,程序跳出框架结构,并存在于交互响应结构中,然后可以调用相关语句关闭相关的资源!再次按键时(或其他方式)可以回复!我让你看的结构是想让你明白如何缩短交互响应的时间(尽可能小的缩短过渡效果的延时),当然还有些东西被我去除了,实在没有办法!(为了避免麻烦,也是为了一个规则)
4。我的一次误解,其实在一年前我曾经为此犯了一个错误,就是我当时错误的认为在使用截图软件的时候的一刹那系统被挂起!可是接触api后我才知道在那个瞬间知识截取了一张屏幕而已!
5。关于多媒体设计:我希望大家能和雅君一样去选择dir,因为那才是真正的多媒体系统!特别是宽带时代的来临!java,Shockwave真的很精彩!

最近确实很忙,实在不好意思!

雅君:燕云


云网媒体【YZCNET.COM】云网媒体开展软件技术、互联网技术、电子商务技术、多媒体设计等服务; 其中包括 :软件开发、网站建设、手机服务、多媒体设计、 图片及演示文稿服务等;