1

次のコードを使用する

ControlCommand("Test Form", "", "[NAME:ctlMsgQueueCombo]", "ShowDropDown")
ControlSend("Test Form", "", "[NAME:ctlMsgQueueCombo]", "This is my default value (TEST) - First")

or

ControlCommand("Test Form", "", "[NAME:ctlMsgQueueCombo]", "ShowDropDown")
ControlSend("Test Form", "", "[NAME:ctlMsgQueueCombo]", "select", "This is my default value (TEST) - First")

コンボボックスを選択しますが、リストから目的の「これは私のデフォルト値(TEST)-最初」を選択していません。基本的には、で始まる任意の値を選択しますt。たとえば、最初の値は「TMP」です。したがって、完全に一致するのではなく、最初の文字の一致を選択します。リストから正確な文字列を選択するように強制するにはどうすればよいですか?

次のコードも試してみましたが、何も動作しないようです。

WinWaitActive($title)
$Index = _GUICtrlComboBoxEx_FindStringExact($hcombo, $sText)
_GUICtrlComboBoxEx_SetCurSel($hcombo, $Index)
or following
WinWaitActive($title)
$Index = _GUICtrlComboBox_FindStringExact($hcombo, $sText)
_GUICtrlComboBox_SelectString($hcombo, $Index)
4

1 に答える 1

2

現在、誤ったパラメーターでControlSendを使用しています。以下は文字列'select'を送信し、最後のパラメータは0と評価されます。

ControlSend("Test Form", "", "[NAME:ctlMsgQueueCombo]", "select", "This is my default value (TEST) - First")

最後のパラメータとして1または0を想定しているため)。言うまでもなく、それはあなたが望むものではありません。

ControlCommandを使用してSelectStringのようなことを行う必要があります。最初にドロップダウンを表示する必要はありません。

ControlCommand("Test Form", "", "[NAME:ctlMsgQueueCombo]", "SelectString", "This is my default value (TEST) - First")

私はそれをテストすることができませんでしたが、それがウィンドウを見つけて文字列が正しい限り、それは問題ないはずです。

于 2011-06-17T11:54:09.930 に答える