問題タブ [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.
c - すべてのオペレーティングシステムで動作するようにjava/jnaを使用してハードウェア情報を取得する
こんにちは私はいくつかのハードウェア情報、macアドレス(私が行った)、cpuidマザーボードのシリアル番号とハードドライブのシリアル番号を取得するJavaアプレットを書き込もうとしています。私はこれを行うためにjnaを使用する必要があることを知っています。私の質問は、プラットフォームに依存しない情報を取得する方法がc / c++にあるかどうかです。私が見たものはすべてWindowsでのみ機能し、すべてのプラットフォームで機能する必要があります。そのコンピューターの一意のIDを作成できるように、この情報が必要です。どんな助けや正しい方向へのポイントも大歓迎です。
java - スクリーン キャプチャの非アクティブ ウィンドウ
遮られたウィンドウを前面に移動せずに画像コンテンツを取得することはできますか? また、そのようなウィンドウの特定の場所にマウス クリックを送信することは可能ですか? これを Java で実行し、JNA を使用して Windows XP を実行したいと考えています (可能であれば、Windows 7 でも動作しますか?)。私はまだ JNA を扱ったことがないので、それが可能であれば、どのような関数が必要になるか、またそれについてどこで読めるか教えていただけませんか。ありがとうございました。
java - java.util.DateオブジェクトをWindowsFILETIME構造に変換します
Javaアプリケーションがあり、JNAを使用してWindowsDLLを呼び出す必要があります。私が呼び出す必要のある関数は実際に__int64
(内部的にこれを構造の低い部分/高い部分に分割します)を取りFILETIME
ます。オブジェクトが与えられたjava.util.Date
場合、どうすればそれを?用にフォーマットされた適切な値に変換できますFILETIME
か?
java - OSGi バンドル内での DLL のロード (JNA を使用) に関する質問
現在、バンドルのルートに DLL ファイル (rfid.dll;cpl.dll;rfidtx.dll;) があります。jna.jar を保持するユーティリティ バンドルを作成し、com.sun.jna、com.sun.jna.ptr をサービスとしてエクスポートします。
問題のバンドルのマニフェストは次のようになります。
私のコードでは、JNA インターフェイスは次のように宣言されています。
実行すると、いくつかの例外メッセージが表示されます。根本的な例外は次のとおりです。
では、どうすればこの問題を解決できますか? 誰かが私を助けてくれることを願っています。
pointers - 構造体へのJNAポインタキャスト
構造体にポインターがあります。そして、このポインターに構造体ポインターを渡しました。
しかし、構造体へのこのポインターにキャストバックすることはできませんでした。
jna - JNA マウスフックの動作例
Java Swing アプリケーションの外側でマウスの動き/クリックを追跡できる JNA マウスフックの実際の例を教えてもらえますか?
前もって感謝します
java - Windows上のJava:ファイルを削除してゴミ箱に移動する方法(JNAを使用)
私はWindowsAPIの経験がまったくないので、無知なことを許してください。
ゴミ箱にファイルを削除したい。JNAを使用してこれを行う方法と、ファイルがネットワーク共有にあるなどの理由でこれが不可能かどうかを検出する方法はありますか?
java - Java JNA が機能していないようです
最近、 https://github.com/twall/jna/servlets/ProjectDocumentList? folderID=7408&expandFolder=7408&folderID= 0 から Java JNA をダウンロードして使用してみました。ただし、以下のスクリーンショットに示すように、https://github.com/twall/jna/で提供されているデモ ソース コードは、ファイルをどこに配置してもコンパイルされません。注意してください、私は両方をデフォルトのパッケージに入れようとしましたが、他のすべてのパッケージの組み合わせを組み合わせてみましたが、これは最新バージョンにすぎません。コンパイラが JAR ファイルに含まれているものを見つけられない理由を知っている人はいますか? (また、ご覧のとおり、クラスファイルはすべてjarファイルにあります)
java - Mac OS X での UniChar の正しい JNA マッピングは何ですか?
次のような C 構造体があります。
これを予想どおりにマッピングしました:
If I use this version, I get every second character of the string into my char[] ("aits D" for "Macintosh HD".) I am assuming that this is something to do with being on a 64-bit platform and JNA mapping the value to a 32-bit wchar_t but then chopping off the high 16 bits on each wchar_t on copying them back.
If I use the byte[] version, I get data which decodes correctly using the UTF-16LE charset.
If I use the UInt16[] version, I get the right code point for each character but it is then inconvenient to convert them back into a string.
Is there some way I can define my type as char[], and yet have it convert correctly?
java - Aero (DWM) 効果を適切に表示するために、JFrame での背景描画を無効にします。
Java ウィンドウで Windows Vista/7 の DWM 機能を使用すると問題が発生します。フレームの背景に Aero スタイルを使用したいと考えています。DwmExtendFrameIntoClientArea
そのための Windows APIは、dwmapi
ライブラリ内の関数によって提供されます。私は JNA を介して適切にプロシージャを呼び出すことができました。それは本来の動作を実行します (たとえば、フレームのサイズを変更すると、次の再ペイントの前に、まだペイントされていない領域に適切なエアロ エフェクトが表示されることがわかります。添付画像をご覧ください)。
しかし、どこか (どこかわかりません) で、Aero 効果の上に背景がペイントされ、効果が失われます。
私がすでに試したこと:
ContentPane
不透明度を設定してカスタムを使用するfalse
LayeredPane
との不透明度RootPane
を falseに設定する- a の
Frame
代わりに aを使用するJFrame
JFrame
/の背景色ContentPane
を黒/完全に透明に設定します- 使用
setLayersOpaque
とそのカスタムバリアント、詳細については最初の回答を参照してください
これまでのところ、その背景を削除することはできませんでした。AWT/Swing の制限ですか? その背景を削除したり、Aero 効果を適切に使用したりするにはどうすればよいですか?
よろしくお願いいたします。
スクリーンショット
これは、RootPane、LayeredPane、および ContentPane の不透明度を false に設定した、コンテンツのないフレームのスクリーンショットです。リサイズしながら素早くやりました。Java がまだペイントされていない領域に効果が適切に適用されていることがわかります。
http://i55.tinypic.com/v614qo.png (新しいユーザーとして、画像を直接投稿することはできません...)
奇妙な振る舞い
さらに調査したところ、次の奇妙な動作に遭遇しました。ウィンドウ サイズが 150x150 以下の場合、コンテンツは透過的に表示されます。これは、通常のウィンドウ コンポーネントでは非常に問題があります。メソッドをオーバーライドしてフレームに直接ペイントすると、paint()
すべてが半透明で描画されます。さらに、座標系が少しずれているように見えJFrame
ます。ウィンドウの実際のゼロ点に のゼロ点が設定されているように見えます。したがって、Swing は実際にウィンドウの境界が配置されている領域にペイントしようとしますが、もちろんそれは表示されません。
このスクリーンショットを参照してください: http://d-gfx.kognetwork.ch/java_aero_bug.png
サンプルコード
これは私が使用するコードです。
jna.jar
とが必要platform.jar
です。JNAのホームページから入手できます。