AutoIt最近的文件菜单

时间:2013-08-01 23:40:41

标签: autoit

我有一个用户的选择,它被设置为最近的文件:

$loc = FileSelectFolder("Choose file location...", "\")
$file = FileOpenDialog("Choose file...", $loc, "Jar Files (*.jar*)")
GUICtrlCreateMenuItem($file, $recentfilesmenu)

我试图从中获取信息:

IniWrite("C:\Config.ini", "Recent", "Recent", GUICtrlRead($recentfilesmenu))

但它只给我68号。我的错误在哪里?

1 个答案:

答案 0 :(得分:2)

数字68是菜单的controlID。

您需要使用_GUICtrlMenu_GetItemText来阅读菜单项的文本:

#include <GUIConstantsEx.au3>
#include <GuiMenu.au3>

$hGui = GUICreate('Read Menu Item', 400, 300)
$mnuFile = GUICtrlCreateMenu('&File')
$mnuFileExit = GUICtrlCreateMenuItem('Exit', $mnuFile)
GUISetState()

; read the text of the menu item
$hMenu = _GUICtrlMenu_GetMenu($hGui)
$sText = _GUICtrlMenu_GetItemText($hMenu, $mnuFileExit, False)
MsgBox(0, 'Menu item text', $sText)

While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Or $msg = $mnuFileExit Then ExitLoop
WEnd

输出:退出


<强>更新

要获取Matt的建议,您还可以使用GUICtrlRead的高级参数,该参数要短得多:

IniWrite("C:\Config.ini", "Recent", "Recent", GUICtrlRead($recentfilesmenu, 1))