coolvirus 发表于 2009-5-7 23:53:30

(高手请进)关于EnvGet(),EnvSet以及进程间通讯问题

本帖最后由 coolvirus 于 2009-5-9 00:15 编辑

问题1:
If $CMDLINE>0 Then
        Sleep(5000)
        EnvUpdate()
        MsgBox(0,0,EnvGet("MYENV"))
        Exit
EndIf
EnvSet("MYENV", "t")
Run(@ScriptFullPath & " /show")
EnvSet("MYENV", "this is a test")
设置环境变量MYENV=t,运行自己的一个实例后马上设置MYENV=this is a test,新实例先sleep5秒再读取MYENV,理应得到this is a test(第二次设置的值),但实际上返回t(第一次设置的值),5秒后早已经设置成新值了,为什么还是读出旧值?(大家可以试一试)

问题二:
程序的两个实例A和B,他们没有GUI,不能用剪贴板,如何实现通讯(比如说A可以与B通讯,互相传递字符串等等)?

期望高手......

sensel 发表于 2009-5-8 17:41:15

我记得环境变量是只能继承的。也就是说,环境变量在程序启动的时候已经设置好了,在程序运行过程中,另一个程序对环境变量的改变不会影响到本程序的环境变量。

sxd 发表于 2009-5-8 20:30:44

10字补丁.exe

coolvirus 发表于 2009-5-9 00:15:11

谢谢二位!问题以解决。
页: [1]
查看完整版本: (高手请进)关于EnvGet(),EnvSet以及进程间通讯问题