DLL 呼び出しの例

この例では、user32.dllSendMessage DLL 関数を呼び出して、フィールドに「hello world!」というテキストを書き出します。

DLL の宣言:

@Dll("user32.dll")
public interface IUserDll32Functions {
  int SendMessageW(TestObject obj, int message, int wParam, Object lParam);
}
以下のコードは、AUT で宣言された DLL 関数を呼び出す方法を示します。
IUserDll32Functions user32Function = DllCall.createInProcessDllCall(IUserDll32Functions.class, desktop);
TextField textField = desktop.find("//TextField");
user32Function.SendMessageW(textField, WindowsMessages.WM_SETTEXT, 0, "my text");
注: DLL 関数の最初のパラメーターに C データ型の HWND が指定されている場合は、AUT 内で DLL 関数の呼び出しのみを実行できます。
次のコードは、Open Agent のプロセスで宣言された DLL 関数を呼び出す方法を示します。
IUserDll32Functions user32Function = DllCall.createAgentDllCall(IUserDll32Functions.class, desktop);
TextField textField = desktop.find("//TextField");
user32Function.SendMessageW(textField, WindowsMessages.WM_SETTEXT, 0, "my text");
注: コード例では、DLL 関数で使用するのに便利な Windows メッセージングに関連する定数を定義した WindowsMessages クラスを使用しています。