-1

如何获取以下脚本来运行我的 test.pdf 文件?

$Form1 = GUICreate("Form1", 413, 305, 302, 218)
$Combo1 = GUICtrlCreateCombo("Make Selection", 184, 48, 153, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$Combo1 = GUICtrlSetData(-1, "test1|test2|test3")
GUISetState(@SW_SHOW)
While 1
  $nMsg = GUIGetMsg()
    Switch $nMsg
           Case $GUI_EVENT_CLOSE
          Exit
        Case $Combo1
          $nMsg2 = GUIGetMsg()
          Switch $nMsg2
        Case "test1"
          ShellExecute("C:\test.pdf")
          EndSwitch
    EndSwitch
WEnd
4

1 回答 1

1

我会这样尝试:

$Form1 = GUICreate("Form1", 413, 305, 302, 218)
$Combo1 = GUICtrlCreateCombo("Make Selection", 184, 48, 153, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "test1|test2|test3")
GUISetState(@SW_SHOW)
While 1
  $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
          Exit
        Case $Combo1
          If GUICtrlRead($Combo1) = "Test2" Then
            ShellExecute("C:\test.pdf")
          EndIf
    EndSwitch
WEnd

这是因为 GuiCtrlRead 会返回被选中的值。如果这个值是“Test2”,它会让你的 shell 执行。

第二件事是你不应该这样做:

$Combo1 = GUICtrlSetData(-1, "test1|test2|test3")

因为这样您将覆盖从 CuiGrtlCreateCombo 获得的句柄,并且您需要此句柄才能使 switch case 语句正常工作。

于 2013-09-19T20:17:35.097 回答