以下の関数でIntPtr.Zeroの正確な意味を取得する必要があります。 この機能は、ワード文書のテキスト範囲のピクセル値をWPF単位の値に変換するために使用しました。System.Drawing.GraphicsのIntPtr.Zeroの意味
Graphics g = Graphics.FromHwnd(IntPtr.Zero)
通常、ハンドルを渡すと言われましたが、私はそれを取得しませんでした。
以下の関数でIntPtr.Zeroの正確な意味を取得する必要があります。 この機能は、ワード文書のテキスト範囲のピクセル値をWPF単位の値に変換するために使用しました。System.Drawing.GraphicsのIntPtr.Zeroの意味
Graphics g = Graphics.FromHwnd(IntPtr.Zero)
通常、ハンドルを渡すと言われましたが、私はそれを取得しませんでした。
Graphics.FromHwnd
メソッドを使用して、指定されたウィンドウのハンドラからGraphics
オブジェクトを作成します。
IntPtr.Zero
をパラメータとして渡すと、画面に直接描画できるWindowsデスクトップからGraphics
が作成されます。
IntPtr
は、ハンドルまたはポインタを表すためのプラットフォーム固有の方法です。 32ビットシステムでは、ポインタは32ビット幅であり、64ビットシステムでは64ビット幅である。このタイプは、あなたとの違いを隠すために存在します。
IntPtr.Zeroは、値が0(本質的にはnull)のハンドルまたはポインタを表します。あなたの例のFromHwnd
呼び出しのように、APIがWindows APIスタイルのハンドルを期待する場所で、このAPIを使用することができます。 Windows APIでは、HWNDはウィンドウハンドルです。ヌルは「ウィンドウなし」を示します。これをC#で渡すには、IntPtr.Zeroを使用します。
* "Windows APIでは、HWNDはウィンドウハンドルです.nullは"ウィンドウなし "を示します。" * - Windows APIにはこのような規則はありません。 'HWND'引数がオプションであるときはいつでも、それは特定のセマンティクスを運びます。 'System.Graphics.Drawing'はGDIの観点から実装されているGDI +をラップするので、画面全体を表すオブジェクトを取得すると仮定しますが、これは特に記述されていません。 – IInspectable