-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」の場合、シェルが実行されます。

2番目のことは、これを行うべきではないということです:

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

これにより、CuiGrtlCreateCombo から取得したハンドルをオーバーライドしているため、switch case ステートメントが適切に機能するためにこのハンドルが必要です。

于 2013-09-19T20:17:35.097 に答える