3

ねえ、Tango 0.99.8 で D 1.041 を使用していて、マウスを動かしたり、キーボードの押下をシミュレートしたり、画面から情報 (特定の座標上の特定のピクセルの色など) を取得したりする方法を知りたいと思っていました。Windowsを使用しています。

どんな助けでも大歓迎です。AutoIt に似た機能を持つクラスベースのライブラリをプログラムしたいと考えています。例えば:

mouse.move(100, 200);
mouse.click(2); // 2 = Middle Mouse Click
keyboard.type('abc');

import tango.sys.win32.UserGdi;

class Mouse{
    alias SetCursorPos set_pos;
    alias GetCursorPos get_pos;
    void left_click(){
        mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0);
        mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0);
    }
    void right_click(){
        mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0);
        mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0);
    }
}

このコードで次のエラーが発生します。

エラー 42: シンボル未定義 _mouse_event@16 --- エラーレベル 1

それについて何か助けはありますか?私はまだバージョンを使用しています。

4

1 に答える 1

2

これはTangoのバグです。

Tangoはmouse_eventを次のように宣言します。

void mouse_event(DWORD, DWORD, DWORD, DWORD);

一方、MSDNは、4つではなく5つのパラメーターを使用することを示しています。

本格的なWin32開発については、 WindowsAPIバインディングプロジェクトを確認する必要があります。

于 2009-10-09T02:22:41.053 に答える