l4ever 发表于 2008-8-23 20:23:44

2个AU3编写的程序之间如何传递变量的?

请问.请大家帮忙看看

[还是用最土的办法:用注册表或者临时文件做变量.]

[ 本帖最后由 l4ever 于 2008-9-6 15:19 编辑 ]

kakinkgb 发表于 2008-8-23 23:06:42

一般是发消息吧,我也不熟,等楼下解决

skyfree 发表于 2008-8-24 08:08:54

最土但有效的方法:

程序1将参数写入一个配置文件中,程序2读这个配置文件

asdf 发表于 2008-8-24 09:23:56

1注册表(所谓超级变量= =)
2配置文件(临时文件一样)
3udp/tcp通讯
4au3隐藏窗口

jhwl 发表于 2008-8-24 13:45:03

程序可以使用带参数运行,把变量写成参数一个传递一个接收,实现自己想...

zcbenz 发表于 2008-8-24 18:21:54

发送消息:
#include <winapi.au3>

$hwnd = WinGetHandle('Msg_Catcher')
$message = 'some text'

$struct = DllStructCreate('char var1')
DllStructSetData($Struct,1,$message)
$pStruct = DllStructGetPtr($struct)

$struct2 = DllStructCreate('dword;dword;ptr')
DllStructSetData($struct2,1,0)
DllStructSetData($struct2,2,1000)
DllStructSetData($struct2,3,$pStruct)
$pStruct2 = DllStructGetPtr($struct2)

_SendMessage($hwnd, 0x4A, 0, $pStruct2)

接收消息:
;receiver
#include <winapi.au3>

GUICreate('Msg_Catcher')

GUIRegisterMsg(0x4A, '_Func')

While 1
    Sleep(1000)
WEnd

Func _Func($hWnd, $iMsg, $iwParam, $ilParam)

$a = DllStructCreate('dword var1;dword var2;ptr var3', $ilParam)
    $b = DllStructGetData($a, 3)
   
    $c = DllStructCreate('char var1',$b)
    $d = DllStructGetData($c, 1)
   
    MsgBox(0, 'receiver', $d)
EndFunc

这个方法显示中文出现了问题,类似的毛病以前也遇到过,应该是au3的bug

[ 本帖最后由 zcbenz 于 2008-8-24 18:32 编辑 ]

qin147 发表于 2008-8-25 18:54:28

学习:face (33):

131738 发表于 2008-8-25 23:32:29

#include <ACN_String.au3>好像是接收的,

#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>其中有一个是发射的,还没研究出来!
正在做!!!

kemyliu 发表于 2009-6-14 10:33:37

非常感谢各位老大的支持啊

kn007 发表于 2009-6-14 13:39:40

留名!!!

sanmoking 发表于 2009-6-14 15:53:17

我一般是用ini,或者txt,哈哈,还没想过用隐藏窗口,貌似不错。。。不会生成文件。。。。。

xinnetchina 发表于 2009-6-18 12:04:37

:face (21):

文白 发表于 2009-6-18 12:14:38

程序间的参数传递及通讯
http://www.autoitx.com/forum.php?mod=viewthread&tid=5425

pusofalse 发表于 2009-6-18 12:46:03

6# zcbenz

这不是AU3的BUG,任何语言都是一样的。只需把char改成wchar就好了,宽字符的缘故。

passkalilo 发表于 2009-6-21 23:29:19

收下了。。。
页: [1] 2
查看完整版本: 2个AU3编写的程序之间如何传递变量的?