2个AU3编写的程序之间如何传递变量的?
请问.请大家帮忙看看[还是用最土的办法:用注册表或者临时文件做变量.]
[ 本帖最后由 l4ever 于 2008-9-6 15:19 编辑 ] 一般是发消息吧,我也不熟,等楼下解决 最土但有效的方法:
程序1将参数写入一个配置文件中,程序2读这个配置文件 1注册表(所谓超级变量= =)
2配置文件(临时文件一样)
3udp/tcp通讯
4au3隐藏窗口 程序可以使用带参数运行,把变量写成参数一个传递一个接收,实现自己想... 发送消息:
#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 编辑 ] 学习:face (33): #include <ACN_String.au3>好像是接收的,
#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>其中有一个是发射的,还没研究出来!
正在做!!! 非常感谢各位老大的支持啊 留名!!! 我一般是用ini,或者txt,哈哈,还没想过用隐藏窗口,貌似不错。。。不会生成文件。。。。。 :face (21): 程序间的参数传递及通讯
http://www.autoitx.com/forum.php?mod=viewthread&tid=5425 6# zcbenz
这不是AU3的BUG,任何语言都是一样的。只需把char改成wchar就好了,宽字符的缘故。 收下了。。。
页:
[1]
2