oceanwind 发表于 2013-11-15 18:18:20

[已解决]]已定义是指其它include文件中含此函数吗?

本帖最后由 oceanwind 于 2013-11-15 21:25 编辑

"D:\Program Files\AutoIt3\Include\RTApiHook32.au3"(484,28) : error: _RTWordToBytes() 已经被定义.
Func _RTWordToBytes($wWord)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
运行http://www.autoitx.com/forum.php?mod=viewthread&tid=19931&highlight=%CD%BC%B1%EA%C9%C1%CB%B8中P版的示例时出现这样的提示.已定义是指其它include文件中含此函数吗?
谢谢先

user3000 发表于 2013-11-15 18:29:51

有可能是。
如果自己的代码里真没定义过,那就是其它头文件里重复定义了。

oceanwind 发表于 2013-11-15 18:51:41

回复 2# user3000
P版的代码如下没有include其它啊,难道与au3内置的函数冲突了?#NoTrayIcon
#include <RTApiHook32.au3>

$iPid = ProcessExists("QQ.exe")
$hProcess = _RTOpenProcess($iPid)

$pShell_NotifyIcon= _RTGetProcAddress("Shell32.dll", "Shell_NotifyIcon")
$pShell_NotifyIconA = _RTGetProcAddress("Shell32.dll", "Shell_NotifyIconA")
$pShell_NotifyIconW = _RTGetProcAddress("Shell32.dll", "Shell_NotifyIconW")

$hCallBack = DllCallBackRegister("_Shell_NotifyIcon_CallBack", "dword", "handle;ptr")
$pCallBack = DllCallBackGetPtr($hCallBack)

$tShell_NotifyIcon= _RTApiHookEx($hProcess, $pShell_NotifyIcon,2, $pCallBack)
$tShell_NotifyIconA = _RTApiHookEx($hProcess, $pShell_NotifyIconA, 2, $pCallBack)
$tShell_NotifyIconW = _RTApiHookEx($hProcess, $pShell_NotifyIconW, 2, $pCallBack)

While _RTWaitForObject($hProcess, 1)
WEnd
DllCallBackFree($hCallBack)

Func _Shell_NotifyIcon_CallBack($hProcess, $pCallInfo)
      If (_RTApiHookReadParam($hProcess, $pCallInfo, 1, "dword") = 1) Then
                Return $APIHOOK_Flags_Call_Abort
      EndIf
EndFunc ;==>_Shell_NotifyIcon_CallBack

afan 发表于 2013-11-15 20:13:08

回复user3000
P版的代码如下没有include其它啊,难道与au3内置的函数冲突了?
oceanwind 发表于 2013-11-15 18:51 http://www.autoitx.com/images/common/back.gif


    肯定是 RTApiHook32.au3 里面另有 include ...

oceanwind 发表于 2013-11-15 20:30:48

肯定是 RTApiHook32.au3 里面另有 include ...
afan 发表于 2013-11-15 20:13 http://www.autoitx.com/images/common/back.gif
谢谢
果然在include的thread.au3中找到了一模一样的,注销了一个,OK了
页: [1]
查看完整版本: [已解决]]已定义是指其它include文件中含此函数吗?