zhwu530 发表于 2012-6-24 21:49:43

WinList 返回全部窗口的标题如何放入组合列表框中(已解决)

本帖最后由 zhwu530 于 2012-6-24 23:04 编辑

WinList 返回的是一个二维数组我不知道怎样将返回的全部窗口的标题放到组合列表框中。#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>

Local $var = WinList()

$Form1_1 = GUICreate("aaaaa", 369, 120, 314, 207)
$Group1 = GUICtrlCreateGroup("", 8, 0, 353, 73)
$Label1 = GUICtrlCreateLabel("窗口:", 16, 20, 52, 17)
$Combo1 = GUICtrlCreateCombo("", 72, 16, 281, 25, 0x0003)

GUISetState(@SW_SHOW)
For $i = 1 To $var
_GUICtrlComboBox_AddString($Combo1,$var[$i])
Next
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

zhwu530 发表于 2012-6-24 22:39:32

自己看帮助改了下可以实现了$CreateName = "窗口获取"
$Form1_1 = GUICreate($CreateName, 369, 120, 314, 207)
$Group1 = GUICtrlCreateGroup("", 8, 0, 353, 73)
$Label1 = GUICtrlCreateLabel("窗口:", 16, 20, 52, 17)
$Combo1 = GUICtrlCreateCombo("", 72, 16, 281, 25, 0x0003)

GUISetState(@SW_SHOW)
Local $aList = WinList()
For $i = 1 To $aList
        If $aList[$i] <> "" And _
                        $aList[$i] <> "Program Manager" And _
                        $aList[$i] <> $CreateName And _
                        BitAND(WinGetState($aList[$i]), 2) Then _
                        GUICtrlSetData($Combo1, $aList[$i])
Next

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
        EndSwitch
WEnd但发现窗口标题中带有   |   这个的就有问题了。大家打开论坛的网站 再运行上面的代码会发现什么? 求高手帮帮忙。。。

zhwu530 发表于 2012-6-24 23:03:19

继续帮助 原来是这样 。Opt("GUIDataSeparatorChar", 0)加上这个就好了。。

huangke 发表于 2013-1-16 23:49:28

是的。不错。。。
页: [1]
查看完整版本: WinList 返回全部窗口的标题如何放入组合列表框中(已解决)