C# 的IntPtr 是什么东西?

[复制链接]
查看11 | 回复5 | 2018-1-20 14:04:20 | 显示全部楼层 |阅读模式
C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在您调用的API函数中一定有类似窗体句柄这样的参数,那么当您声明这个函数时,您应该将它显式地声明为IntPtr类型。 例如,在一个C#程序中调用Win32API mciSendString函数控制光盘驱动器,这个函数的函数原型是: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINT cchReturn, HANDLE hwndC...
回复

使用道具 举报

千问 | 2018-1-20 14:04:20 | 显示全部楼层
C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 一、函数原型...
回复

使用道具 举报

千问 | 2018-1-20 14:04:20 | 显示全部楼层
IntPtr是什么,该怎么用 IntPtr用于表示指针或句柄的平台特定类型,此类型对多线程操作是安全的。C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在调用的API函数中一定有类似窗体句柄这样的参数,那么当声明...
回复

使用道具 举报

千问 | 2018-1-20 14:04:20 | 显示全部楼层
其实就是 HANDLE,无类型的指针。无类型的指针不能直接使用,需要传给接受它的函数。...
回复

使用道具 举报

千问 | 2018-1-20 14:04:20 | 显示全部楼层
托管window 中的句柄,一般在window api 中使用,IntPtr a=(IntPtr)1;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行