我需要在下面的函数中获得 IntPtr.Zero 的确切含义。我使用此函数将 word 文档文本范围位置像素值转换为 WPF 单位值。
Graphics g = Graphics.FromHwnd(IntPtr.Zero)
这通常说通过手柄,但我没有得到它。
我需要在下面的函数中获得 IntPtr.Zero 的确切含义。我使用此函数将 word 文档文本范围位置像素值转换为 WPF 单位值。
Graphics g = Graphics.FromHwnd(IntPtr.Zero)
这通常说通过手柄,但我没有得到它。
Graphics.FromHwnd
方法用于Graphics
从窗口的指定处理程序创建对象。
当您IntPtr.Zero
作为参数传递时,您正在Graphics
从允许您直接在屏幕上绘制的 Windows 桌面创建一个。
IntPtr
是表示句柄或指针的平台特定方式。在 32 位系统上,指针为 32 位宽,而在 64 位系统上,指针为 64 位宽。这种类型的存在是为了向您隐藏这些差异。
IntPtr.Zero表示值为 0(本质上为 null)的句柄或指针。您可以在 API 需要 Windows API 样式句柄的地方使用它,例如FromHwnd
在您的示例中的调用中。在 Windows API 中,HWND 是一个窗口句柄,其中 null 表示“无窗口”。要通过 C# 传递它,您使用IntPtr.Zero。