0

どのように私は渡すことがptxでき ますptyか? 問題は、JavaScript でこの 2 つの関数を使用する必要があるため、単純に公開することができないということです。TestPluginAPI::ClickSemulationMoveTestPluginAPI::ClickSemulationClick(int ptx, int pty)

FB::variant TestPluginAPI::ClickSemulationClick(int ptx, int pty)
{

ShowCursor(true);
MouseLeft();
MouseReturn(ptx, pty);
ShowCursor(true);
return 0;
}

FB::variant TestPluginAPI::ClickSemulationMove(int ptx, int pty)
{
POINT pt;
MouseMove(-325, 605);
GetCursorPos(&pt);
ptx = pt.x;
pty = pt.y;
return 0;
}

私が得たように、JSObjectPtr または FB::VariantList を使用する必要がありますが、サンプルがないと少し混乱します。簡単なコードサンプルを見せてもらえますか?

4

1 に答える 1

1

JSAPI ドキュメントを読みましたか? すべての情報がそこにあります。

2 つの値を持つ配列 (javascript 配列になります) を返すには、次のようにします。

return FB::variant_list_of(pt.x)(pt.y);

次に、JavaScript で次のような他のメソッドを呼び出すことができます。

var res = plugin().ClickSemulationMove(); // Assuming you don't actually need args here
plugin().ClickSemulationClick(res[0], res[1]);

配列を直接渡すこともできます。その場合、C++ で次のようなことができます。

FB::variant TestPluginAPI::ClickSemulationClick(const std::vector<int>& arr)
{
    ShowCursor(true);
    MouseLeft();
    MouseReturn(arr[0], arr[1]);
    ShowCursor(true);
    return 0;
}

真剣に、FireBreath コード ベースのFBTestPlugin の例には、これらすべての例があります。あなたはそこで時間を過ごすべきです。あなたが尋ねている質問のほとんどは、そのコードを読んで自分ですぐに発見でき、そうすれば理解が深まります。

于 2013-04-06T06:30:47.293 に答える