2016-06-19 23 views
2

私はC#でWindows 10へのオートメーションに取り組んでいます。
タスクの1つは、「除外の追加」と呼ばれるウィンドウ内のTextBoxにデータを書き込むことです。このウィンドウを入力するためにウィンドウ10内のウィンドウ内のTextBoxコントロールへのハンドルを取得する方法


オープン設定=> &セキュリティを更新=> Windows Defenderは=> exclutionを追加=>ファイルの拡張子

を除外する私はSendMessage(...)SetWindowText(...)機能を使用する必要があることを理解コントロールにデータを書き込むためのものです。
しかし、私はこれらの関数に、書きたいコントロールのハンドルを渡す必要があります。
だから私はGetDlgItem(hDlg, nIDDlgItem)を使用する必要があります。
パラメーターnIDDlgItemがコントロールIDですが、「除外の追加」ウィンドウでTextBoxコントロールのコントロールIDを見つけることができません。

私はスパイを使用++が、私は、私は唯一の「Shell_Dialog」クラスを受けたターゲットアイコン置くとき:
enter image description here

を私は唯一のウィンドウハンドルを持っている:
enter image description here

私はテキストボックスのハンドルを必要としますコントロール。

EDIT(2016年6月20日):私は、Windows 10キットからInspect.exeツールを使用しようとしましたが、私はそれが私を書き込みTextBoxコントロールにcuroserを配置していたときに「アクセスが拒否されました」

enter image description here

参考文献:
SetText of textbox in external app. Win32 API
Inspect (Inspect.exe) is a Windows-based tool that enables you select any UI element

+2

Inspect.exeを「管理者」として実行しようとしましたか? – NineBerry

答えて

0

管理者権限でInspect.exeツールを使用するために必要なI。

ありがとう@NineBerry、
管理者としてInspect.exeを開いた後、すべての詳細を見ることができました。

0

第3の別の親を選択することで、あなたのボタンの(I(すなわちダイアログウィンドウ。) e。それはDialogクラスになります)、それからWM_COMMANDメッセージを登録します。そして、それを押すと、ボタンIDがメッセージウィンドウのwID:XXとして表示されます。

出典:それを行うことができるようにするためにUsing visual studio's spy++ tool:

関連する問題