wjz1128 发表于 2012-5-11 13:30:03

Autoit v3 Window Info工具中的Instance值是如何获取的

如题,这个Instance是如何计算出来的,我需要用C 来获取这个值

wjz1128 发表于 2012-5-11 21:01:50

自己顶!。。。。。。。。。。。。。。

sdc7 发表于 2012-5-15 18:56:24

Autoit v3 Window Info 貌似有源码 自己看下吧·

502762378 发表于 2012-5-15 19:34:31

回复 3# sdc7


    请告知在哪好吗?我也非常想学习

happytc 发表于 2012-5-16 06:23:00

本帖最后由 happytc 于 2012-5-16 06:30 编辑

这么久了,还没有人回答呀
我又来热心一把

#include <WindowsConstants.au3>
#Include <WinAPI.au3>
#Include <WinAPIEx.au3>

Local $hGui, $Button, $hCtrl, $iInstance
$hGui = GUICreate("Get Instance", 500, 300)
$Button = GUICtrlCreateButton("Button", 10, 10, 100, 30)
$hCtrl = GUICtrlGetHandle($Button)
GUISetState()
$iInstance = _GetInstance($hCtrl)
If Not @error Then MsgBox(0, "Get instance: ", "Instance: " & $iInstance)

Func _GetInstance($hWnd)
        Local $aList, $sText, $iID = 0

        $sText = _WinAPI_GetClassName($hWnd)
        If Not $sText Then
                SetError(-1, 0, -1)
                Return
        EndIf
       
        $aList = _WinAPI_EnumChildWindows(_WinAPI_GetAncestor($hWnd, $GA_ROOT), 0)
        If @error Then
                SetError(-2, 0, -2)
                Return
        EndIf
       
        For $i = 1 To $aList
                If $aList[$i] = $sText Then $iID += 1
                If $aList[$i] = $hWnd Then ExitLoop
        Next
       
        If Not $iID Then
                SetError(-3, 0, -3)
                Return
        EndIf
       
        Return $iID
EndFunc

QingT 发表于 2012-5-17 11:32:08

这么久了,还没有人回答呀
我又来热心一把

谢谢,学习了

happytc 发表于 2012-5-17 21:47:45

回复 4# 502762378


    其实我奇怪的是,一楼的即然用C来写,居然在au3的论坛上发帖问

那么多C的论坛,并有人气都是超高的

xms77 发表于 2012-5-19 07:34:50

回复 7# happytc
从快乐兄的ID来看,应该是C的高手(牛掰)!

wjz1128 发表于 2012-5-23 13:01:09

回复502762378


    其实我奇怪的是,一楼的即然用C来写,居然在au3的论坛上发帖问

那么多C的论坛 ...
happytc 发表于 2012-5-17 21:47 http://www.autoitx.com/images/common/back.gif

因为C论坛的根本就不知道这个工具,更不知道这个instance是什么了

wjz1128 发表于 2012-5-23 13:01:21

感谢大家的热心解答!!!!

happytc 发表于 2012-5-23 20:40:31

因为C论坛的根本就不知道这个工具,更不知道这个instance是什么了
wjz1128 发表于 2012-5-23 13:01 http://www.autoitx.com/images/common/back.gif


    又不是只有autoit的才提供这样子的功能。
别的很多编程语言都提供相应功能的软件
页: [1]
查看完整版本: Autoit v3 Window Info工具中的Instance值是如何获取的