这段代码怎么兼容64位系统
Func _GetShortcutPos()Local $hListView = ControlGetHandle('Program Manager', 'FolderView', 'SysListView321'), $ix = 0
Local $aShortcutPos
While 1
$aRect = _GUICtrlListView_GetItemRect($hListView, $ix)
If $aRect = 0 And $aRect = 0 And $aRect = 0 Then ExitLoop
If ControlListView('Program Manager', 'FolderView', 'SysListView321', 'GetText', $ix) = $sShortcut Then
$aShortcutPos = $aRect + 60
$aShortcutPos = $aRect
ExitLoop
EndIf
$ix += 1
WEnd
If $aShortcutPos = 0 And $aShortcutPos = 0 Then Return SetError(1)
Return $aShortcutPos
EndFunc ;==>_GetShortcutPos
这段在桌面找图标的代码在64位系统上出错, 必须用64bit编译或运行才通过
用x86运行会出错,不知道可以解决吗 原因在于_GUICtrlListView_GetItemRect
跨进程操作listview,指针要求位于目标进程
32位进程不能操作64位进程
反之亦然. 如果问题解决了请修改标题加【已解决】,看到楼主发的很多贴,问题解决了都没修改标题建议楼主认真看看这几篇帖子
http://www.autoitx.com/thread-10945-1-1.html
http://www.autoitx.com/thread-18544-1-1.html
页:
[1]