問題タブ [jna]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3925 参照

java - Javaで新しいポインタを取得するには?

JNA から C でこのメソッド シグネチャを使用してメソッドを呼び出すにはどうすればよいですか?

C メソッドの最後の 2 行は次のようになります。

devそれがそのメソッドでの唯一の使用です。つまり、メソッドへの空のポインターにポインターを渡す必要がありますよね? 次に、メソッドは空のポインターにdeviceオブジェクトのアドレスを入力し、デバイスへのポインターを他のメソッドに渡すことができます。

私の質問は次のとおりです。これは正しい方法ですか?そうである場合、Java から新しいポインターを割り当てるにはどうすればよいですか?


受け入れられた答えに基づいて、私はこれをしました:

0 投票する
1 に答える
1413 参照

arrays - JNAによるバイト配列の割り当て

実際の引数として渡されたバイト配列を埋める関数を開発しようとしています。JNAのドキュメントの例に従っていますが、機能していません。ドキュメントには次のように記載されています。

Cでの私の機能は次のとおりです。

しかし、配列値を出力すると結果は次のようになります: 0 20 48 2

関数 allocate_buffer を適切に実装する方法は? または、問題は Java コードにありますか?

ありがとう!

0 投票する
3 に答える
10418 参照

java - Java - ウィンドウ画像

WindowsでJavaでスクリーンショットをキャプチャする方法を知っている人はいますか(それ自体の画面ではなく、デスクトップ上の他のウィンドウであり、必ずしもアクティブなウィンドウである必要はありません)? この同様のテーマに関するスレッドが多数ありますが、まだ答えが見つかりません。

JNA を使用してみましたが、数回試行した後に動かなくなりました。例えば...

「PrintWindow()」APIに相当するものも試しました...

または、JNI やその他のツールを使用する必要がありますか?

0 投票する
1 に答える
460 参照

java - カスタム ライブラリの JNA

私はJNAインフラストラクチャを初めて使用しますが、要点は、ライブラリ「someLib」があり、それに一致するJavaインターフェースを作成することだと思います。それなら、私はそれを「ただ」使うことができますよね?

しかし、問題は、何をモックする必要があるのか​​ わからないことです。具体的には、機能が必要なクラスがいくつかあります。

私の C++ ライブラリに 'AdvancedString' オブジェクトがあり、内部で他のクラスを使用しているとします。

つまり、次のようになります。

そして、Java コードで AdvancedString.doSomething () と言って、それを機能させる必要があります。これは、AdvancedString クラスのインターフェイスを作成する必要があることを意味しますか?

それは合理的に思えますか?それとも私は何かを逃していますか。あなたが与えることができる洞察をありがとう!

0 投票する
1 に答える
5219 参照

java - JNA と EnumWindows の使用に関する問題

私は JNA を試していますが、これは私が実行しようとする最初のプログラムです。参照からコピーしましたが、実行すると、412個のウィンドウが見つかりました...そして、今はそれほど多くのウィンドウが開かれていないと確信しています:)誰かがプログラムの動作を説明してもらえますか?

0 投票する
1 に答える
462 参照

java - C 関数の JNA 呼び出し

C GetProductString( DWORD DeviceNum,LPVOID DeviceString, DWORD Options) に関数があります。JNAでこれを呼び出すにはどうすればよいですか?

0 投票する
1 に答える
564 参照

java - ネイティブ コードへの JNA 通信

私はこのネイティブ関数を持っており、デバイスをシステムに接続すると JNA で null 値を取得します。JNA との LPVOID マッピングに問題があると思います。

  1. DeviceNum— 製品説明文字列、シリアル番号、またはフル パスが必要なデバイスのインデックス。
  2. DeviceStringCP210x_DEVICE_STRING— NULL で終わるシリアル番号、デバイスの説明、またはフル パス文字列を返す型の変数。
  3. OptionsDeviceString—製品説明、シリアル番号、またはフルパス文字列が含まれているかどうかを判断するフラグ

JNA コード:

0 投票する
1 に答える
2033 参照

java - グローバル入力イベントをキャプチャするフックを閉じる

イントロ

これは問題を説明するための例です。マウスのグローバルな現在位置とラストクリックボタンおよび位置を追跡してユーザーに表示していると考えてください。これが画像です:

代替テキスト

他のプログラムのイベントメッセージングキューに送信される、および送信されるWindowsボックスでのキャプチャクリックイベントをアーカイブするために、winapi、つまりuser32.dllライブラリを使用してフックを作成します。これはJDKサンドボックスの外部にあるため、JNAを使用してネイティブライブラリを呼び出します。

これはすべて完全に機能しますが、期待どおりに閉じません。

私の質問は-次のサンプルプログラムを適切に閉じるにはどうすればよいですか?

ソースの例

以下のコードは私が完全に書いたものではありませんが、Oracleフォーラムのこの質問から引用し、部分的に修正されています。

0 投票する
2 に答える
3975 参照

java - Javaの仮想ジョイスティック

Javaラッピングを備えたWindows用の仮想ジョイスティックについて聞いたことがありますか?

私はPPJOYを試しましたが、うまく機能しますが、Javaから機能させるにはJNIを使​​用する必要があり、当面は簡単ではないようです。

ありがとう!

0 投票する
1 に答える
1392 参照

java - JNAを使用してJavaの関数に構造体配列へのポインタを渡す方法は?

IplImage ( )の配列のポインターをIplImage extends CvArray extends Structure implements cloneable関数に渡す必要がある C のネイティブ コードは次のとおりです。

私はこれを試しました:

しかし、うまくいきませんでした。Java でのこの関数の宣言は次のようになります。