0

画面要素から値を取得したり、メソッドを呼び出したりするためにリフレクションを数回使用しました。しかし、今は Avaya というアプリケーションに取り組んでいます。私の目標は、このアプリケーションからいくつかのフィールドを取得することです。Spy++ などの UI インスペクターではフィールドが表示されないため、オートメーション UI ライブラリを使用することはできません。

私の問題を解決する唯一の方法は、アプリケーションに問い合わせる小さなコードを開発することです。結果は、私が利用できるもの、各メソッド、各値などになります.

次に、インターフェイスから開始する必要があります。regedit に移動し、20 個のインターフェイスのリストを取得しました。次に、これらのインターフェイスでコードのループを開始して、すべてのクラスを取得し、その後、各メソッドとプロパティにループします。それは正しいですか? 次に、コードを開始して型を取得し、インスタンスを作成します..:

try            {
foreach (string ThisInterface in ArrayInterfaces)
{
ThisInterfacee = ThisInterface;
//Call this interface
Type AvayaWorkspaceType = Type.GetTypeFromProgID(ThisInterface, true);
//Create Instance of this
object workspace = Activator.CreateInstance(AvayaWorkspaceType);

続行する方法のアイデアはありますか??

どうもありがとうございました。どんな提案も大歓迎です:)私はリフレクションとC#を使用しています

4

1 に答える 1

0

解決策: 私ができない理由は、Reflection が .NET ベースのアプリケーションでのみ動作するためです。他のアプリケーションでは、IUIautomation または user32.dll を使用する必要があります。

于 2013-04-04T10:25:03.450 に答える