找回密码
 加入
搜索
查看: 9063|回复: 19

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

  [复制链接]
发表于 2008-8-23 20:23:44 | 显示全部楼层 |阅读模式
请问.请大家帮忙看看

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

[ 本帖最后由 l4ever 于 2008-9-6 15:19 编辑 ]
发表于 2008-8-23 23:06:42 | 显示全部楼层
一般是发消息吧,我也不熟,等楼下解决
发表于 2008-8-24 08:08:54 | 显示全部楼层
最土但有效的方法:

程序1将参数写入一个配置文件中,程序2读这个配置文件
发表于 2008-8-24 09:23:56 | 显示全部楼层
1注册表(所谓超级变量= =)
2配置文件(临时文件一样)
3udp/tcp通讯
4au3隐藏窗口
发表于 2008-8-24 13:45:03 | 显示全部楼层
程序可以使用带参数运行,把变量写成参数一个传递一个接收,实现自己想...
发表于 2008-8-24 18:21:54 | 显示全部楼层
发送消息:
#include <winapi.au3>

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

$struct = DllStructCreate('char var1[1000]')
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[1000]',$b)
    $d = DllStructGetData($c, 1)
    
    MsgBox(0, 'receiver', $d)
EndFunc


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

[ 本帖最后由 zcbenz 于 2008-8-24 18:32 编辑 ]
发表于 2008-8-25 18:54:28 | 显示全部楼层
学习
发表于 2008-8-25 23:32:29 | 显示全部楼层
#include <ACN_String.au3>  好像是接收的,

#include <StaticConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>  其中有一个是发射的,还没研究出来!
正在做!!!
发表于 2009-6-14 10:33:37 | 显示全部楼层
非常感谢各位老大的支持啊
发表于 2009-6-14 13:39:40 | 显示全部楼层
留名!!!
发表于 2009-6-14 15:53:17 | 显示全部楼层
我一般是用ini,或者txt,哈哈,还没想过用隐藏窗口,貌似不错。。。不会生成文件。。。。。
发表于 2009-6-18 12:04:37 | 显示全部楼层
发表于 2009-6-18 12:14:38 | 显示全部楼层
发表于 2009-6-18 12:46:03 | 显示全部楼层
6# zcbenz

这不是AU3的BUG,任何语言都是一样的。只需把char改成wchar就好了,宽字符的缘故。
发表于 2009-6-21 23:29:19 | 显示全部楼层
收下了。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-29 02:15 , Processed in 0.083404 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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