我有一个用户的选择,它被设置为最近的文件:
$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号。我的错误在哪里?
答案 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))