elexy 发表于 2011-9-9 10:32:35

[已解决]遍历当前目录EXE文件并导入到COMBO控件

本帖最后由 elexy 于 2011-9-9 14:17 编辑

#include <GUIConstantsEx.au3>

Local $Msg
GUICreate("My GUI")
Local $Combpx = GUICtrlCreateCombo("", 10, 10)
Local $Handle = FileFindFirstFile("*.exe")
GUISetState()

If $Handle Then
While 1
    Local $File = FileFindNextFile($Handle)
    If @error Then ExitLoop
      GUICtrlSetData($Combpx, $File, "")
WEnd
FileClose($Handle)
EndIf

While 1
      $Msg = GUIGetMsg()
      If $Msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd

以上代码如何修改一下,能将搜索出来的文件名显示一个出来,不然启动的时候,框是空白的...

rchockxm 发表于 2011-9-9 10:46:43

簡單的。
#include <GUIConstantsEx.au3>

Local $Msg
GUICreate("My GUI")
Local $Combpx = GUICtrlCreateCombo("", 10, 10)
Local $Handle = FileFindFirstFile("*.exe")
GUISetState()

If $Handle Then
While 1
    Local $File = FileFindNextFile($Handle)
    If @error Then ExitLoop
        GUICtrlSetData($Combpx, $File, "")
WEnd
FileClose($Handle)
EndIf

While 1
        $Msg = GUIGetMsg()
        If $Msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd

elexy 发表于 2011-9-9 11:25:13

簡單的。
rchockxm 发表于 2011-9-9 10:46 http://www.autoitx.com/images/common/back.gif

基本功能实现!

但是请教一下,启动的时候,combo是空的,怎么样能让搜到的文件名显示一个出来呢。

happytc 发表于 2011-9-9 12:06:59


GUICreate("My GUI")
Local $Combpx = GUICtrlCreateCombo("", 10, 10)
Local $Handle = FileFindFirstFile(@SystemDir & "\*.exe")
GUISetState()
Local $Flag = 0
If $Handle <> -1 Then
While 1
    Local $File = FileFindNextFile($Handle)
    If @error Then ExitLoop
        $Flag += 1
        If $Flag == 1 Then
                GUICtrlSetData($Combpx, $File, $File)
        Else
                GUICtrlSetData($Combpx, $File, "")
        EndIf
WEnd
FileClose($Handle)
EndIf

Do
Until GUIGetMsg() == -3

elexy 发表于 2011-9-9 14:16:46


happytc 发表于 2011-9-9 12:06 http://www.autoitx.com/images/common/back.gif

赞一个,问题完美解决!
页: [1]
查看完整版本: [已解决]遍历当前目录EXE文件并导入到COMBO控件