問題タブ [pinvoke]
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# - P/Invoke を正しく使用する
C# から外部 dll を呼び出す必要があります。これはヘッダー定義です:
C# で列挙型と呼び出しを追加しました。
これにより、AccessViolationException が生成されます。上記GetHandle
を返す呼び出しも追加したため、dllが「機能している」ことはわかっています。パラメータを( )hHandle
に変更しようとしましたが、同じエラーが発生します。上記の呼び出しを PInvoke する方法を知っている人はいますか?int
ref int watchmode
.net - C# で "char *" をマーシャリングする
DLL に次の C 関数があるとします。
この関数を C# に P/Invoke し、char * を適切にマーシャリングするにはどうすればよいでしょうか。.NET は LPCTSTR の実行方法を知っているようですが、この関数を呼び出すときに NotSupportedException を発生させないマーシャリングを理解できない場合。
wpf - WM_NCCALCSIZE を処理するとウィンドウがジャンプするのはなぜですか?
画面の端にスナップする WPF アプリがあります (画面の端から 20 ピクセル以内にいる場合は、ウィンドウの .Top または .Left を設定するだけです) が、最近、WPF SDK チームから提供されたコードを "ウィンドウクロムを混乱させ、うまく機能していますが(スクリーンショット)、「スナップショット」がウィンドウを予期せず移動させています(例:スナップする必要があるときに左にジャンプします)
私はそれをWM_NCCALCSIZEの処理に絞り込みました...彼らは基本的に何もせず、処理すると言って0を返すだけなので、これは本当に奇妙です。
WM_NCCALCSIZE のドキュメントによると、これはウィンドウ全体がクライアントとして扱われる (クライアント以外のエッジがない) だけの結果になるはずですが、どういうわけか、スナップ先のコードがウィンドウを画面の一番下に移動するたびに、 、それも約134ピクセル左に移動します...(他の端に移動すると同様の副作用があります)、マウスを押したままドラッグしている限り、本来あるべき場所から前後にちらつきます。WM_NCCALCSIZE の処理をコメントアウトすると、スナップ先が正常に機能します (ただし、フォームが正しく表示されません)。
WM_NCCALCSIZE ハンドラーでできることはすべて試しましたが、左にジャンプするのを止めることはできません...そしてもちろん、WM_NCCALCSIZE はウィンドウ サイズが変更されたときにのみ呼び出されるため、それがどのように発生するのかわかりませんそもそもこれ!
PSコードを実際に見たい場合は、すでにCodePlexにあり、2つのファイルで_HandleNCCalcSizeとOnWindowLocationChangedを探します
winforms - RichTextBox と下線の色
の下線の色を変更する方法はありますRichTextBox
か? 私はこれを試しましたが、うまくいかないようです。これらの列挙値がどこから来たか知っている人はいますか? それに関するドキュメントはありませんでした。
ありがとう。
c# - ポインターを介して P/Invoke を使用して C# で C++ クラスをインスタンス化する
PE ファイルを生成するために、C# アプリケーションでアンマネージ DLL mscorpe.dll から CreateICeeFileGen() 関数をインポートしています。この関数は、ここで定義された C++ オブジェクトへのポインターを返します。C# を介してこのクラスのフィールドにアクセスする方法はありますか? またはアンマネージ ラッパー DLL を記述する必要がありますか?
私が現在使用しているコードは次のとおりです:-
NB : .net ライブラリで同様のことができることはわかっていますが、目的のためにアンマネージ ライブラリを使用する必要があります。
c# - DLLImport Int** - 可能な場合の方法
メソッドのパラメーターの 1 つとして int** を必要とするサード パーティの DLL を使用しようとしています。パラメータは、メモリ割り当てを指すポインタのアドレスとして記述されます。
混乱して申し訳ありません。パラメータは双方向だと思います。DLL は FPGA ボードと対話するためのもので、メソッドはホスト PC と PCI ボード間の DMA 転送をセットアップすることです。
.net - dllimport で Ansi または Unicode 文字セットを使用する必要がありますか?
DllImport を使用して関数をインポートする場合、使用する CharSet を指定できます。C#、C++、および Visual Basic では、.Net ランタイムがデフォルトで Unicode ではなく Ansi を使用することに気付きました。したがって、A バージョンと W バージョンを持つシステム コールでは、デフォルトで A バージョンが呼び出されます。.Net は内部で Unicode を使用しており、間違っていなければ新しいバージョンの Windows もすべてを Unicode に変換するため、マーシャリングのオーバーヘッドが大幅に増加します。
私は常にここでユニコードを指定する習慣に陥っていますが、これは正しい方法ですか、それとも問題を引き起こしますか?
c# - CPPから不明な数の引数でCPP関数を呼び出すC#
私は次のプロトタイプを持つCPPの関数を持っています:
DLLImport 属性を使用して C# からインポートします。質問は次のとおりです。C# で (DLLImport 属性の下で) プロトタイプを定義するにはどうすればよいですか? この関数に引数を渡すにはどうすればよいですか? ありがとう
c# - C#でのポインター計算
ピンボークコードを使用してC関数を呼び出そうとしています。この関数は、バッファーをデータで満たします。
構造は、長さのDWORDとして設定され、その後に文字列が続きます。IntPtrから文字列を抽出するにはどうすればよいですか?
.net - .net の CUDA?
PyCUDA などの多くの CUDA 言語バインディングがあることは知っていますが、.Net 用の適切なバインディングはありますか? 私が見たのはこれだけですが、他にもあるなら知りたいです。