找回密码
 加入
搜索
查看: 2169|回复: 12

这个需求是否可以用多进程函数来实现。

[复制链接]
发表于 2008-8-26 10:39:58 | 显示全部楼层 |阅读模式
向各位老大请教:
小弟想要实现以下功能:
开启主程序,点击某按钮运行某一进程,因中途可能需要终止该进程,点击另一控件或主程序上的关闭,结束那个正在运行的进程及主程序。
下面是小弟写的,但好像不能实现这个功能,也许是对多进程了解的太肤浅了,需要大哥们指点啊
#include<CoProc.au3>
While 1
$nMsg = GUIGetMsg()
$Msg  = TrayGetMsg()
        Select
        Case $Msg = $displayitem
        GUISetState(@SW_RESTORE , $Form1)
         Case  $Msg = $exititem
           _CoProc("Quit")
         Case $nMsg = $GUI_EVENT_CLOSE
           _CoProc("Quit")
          Case $nMsg = $Button1
           _CoProc("Update")
          EndSelect
WEnd
Func Update()
;程序主体

EndFunc
Func Quit()
If ProcessExists("Update.exe")  Then
        ProcessClose("Update.exe")
        Exit
Else
        Exit
EndIf
EndFunc

[ 本帖最后由 qqgghh1 于 2008-11-10 13:40 编辑 ]
 楼主| 发表于 2008-8-26 22:49:38 | 显示全部楼层
自己先顶。
下午看了几遍论坛里关于多进程的介绍,初步了解其用法。但还是有些不明白:
主程序中的变量在子进程中无法使用啊。运行时提示子进程中的变量(已在主程序中定义)未定义
高手赐教啊!
 楼主| 发表于 2008-8-28 09:56:01 | 显示全部楼层

主程序中定义的全局变量子函数中可用,但另开子进程来调用子函数,变量就失效了.

继续顶.
请大哥们支招啊.
 楼主| 发表于 2008-8-28 17:25:36 | 显示全部楼层
接着顶.需求达人
发表于 2008-8-28 20:32:25 | 显示全部楼层
没必要多进程模块。换个思路,很简单的事。

au3有个隐藏主窗口,它关闭时相关进程会自己关掉。

[ 本帖最后由 asdf 于 2008-8-28 20:34 编辑 ]
 楼主| 发表于 2008-8-28 23:06:14 | 显示全部楼层
您是说@SW_HIDE吗?
但是单线程时,程序一直在运行,比如它在运行循环指令时,单进程下无法再发送命令终止主程序或您所说隐藏主窗口啊。
发表于 2008-8-29 09:45:36 | 显示全部楼层
= =看来你没懂我的意思,要关闭一个au3进程是件简单活,找到au3隐藏窗口(autoitwin,即是实际上的主窗口),winclose它,然后与之相关的au3进程就会关掉的了。
发表于 2008-8-30 18:49:02 | 显示全部楼层
如果是新手不建议立刻做多进程,先熟悉一下au3自己的思路就清楚了
 楼主| 发表于 2008-8-31 22:11:34 | 显示全部楼层
晕。还请告知。我只是想知道使用多进程时变量作用域的问题。
 楼主| 发表于 2008-9-9 17:20:02 | 显示全部楼层
没有人关注了,还是自己来终结它吧.希望AU3的发展能更完美地支持GUI,支持多线程
 楼主| 发表于 2008-9-9 17:20:02 | 显示全部楼层
没有人关注了,还是自己来终结它吧.希望AU3的发展能更完美地支持GUI,支持多线程
 楼主| 发表于 2008-9-9 17:20:02 | 显示全部楼层
没有人关注了,还是自己来终结它吧.希望AU3的发展能更完美地支持GUI,支持多线程
发表于 2012-2-29 20:35:19 | 显示全部楼层
很不错,已经实现,不过_CoProcSend()函数不起作用。必须到http://www.autoitscript.com/foru ... amp;attach_id=33753
下载新的CoProc.au3,覆盖Include中的文件

Posted 17 April 2011 - 09:38 AM

Here's CoProc.au3 with _CoProcSend and _DuplicateHandle fixed.
Attached Files
  CoProc.au3   23.6K   159 downloads
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 19:29 , Processed in 0.089559 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表