国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Win32類型和.net類型的對應表

2024-07-10 12:59:28
字體:
來源:轉載
供稿:網友
習慣用c#寫東西,但平時又會碰到很多要用win32 api的地方,所以經常要用dllimport,但win32函數的類型寫法是很龐雜的,相信為之困擾的不止我一個,現在我整理一份我個人的理解如下,希望高人不吝賜教。
我的基本原則有如下幾點:
1、下面都是針對32位系統的,所以int是32位.long也是32位;
2、各種句柄類的(h開頭),我認為一律是system.intptr,到目前為止沒發現出錯;如果哪位在使用中出錯,請指出;
3、lp和p,我實在不懂(對c++不太了解),對于lp和p開頭的函數,如果是和str有關的,一律寫為system.string,像plcid這樣指向什么東西的,寫為system.uint32(因為指向另一個地址,那就是指針,指針是32位吧),int之類的數值型,那我就寫為int[],以方便.net程序引用(寫成system.uint32的話,給api調用應該也不會出錯,但.net程序就不好引用了)



如有意見,歡迎指教。謝謝





bool=system.int32
boolean=system.int32
byte=system.uint16
char=system.int16
colorref=system.uint32
dword=system.uint32
dword32=system.uint32
dword64=system.uint64
float=system.float
haccel=system.intptr
handle=system.intptr
hbitmap=system.intptr
hbrush=system.intptr
hconv=system.intptr
hconvlist=system.intptr
hcursor=system.intptr
hdc=system.intptr
hddedata=system.intptr
hdesk=system.intptr
hdrop=system.intptr
hdwp=system.intptr
henhmetafile=system.intptr
hfile=system.intptr
hfont=system.intptr
hgdiobj=system.intptr
hglobal=system.intptr
hhook=system.intptr
hicon=system.intptr
himagelist=system.intptr
himc=system.intptr
hinstance=system.intptr
hkey=system.intptr
hlocal=system.intptr
hmenu=system.intptr
hmetafile=system.intptr
hmodule=system.intptr
hmonitor=system.intptr
hpalette=system.intptr
hpen=system.intptr
hrgn=system.intptr
hrsrc=system.intptr
hsz=system.intptr
hwinsta=system.intptr
hwnd=system.intptr
int=system.int32
int32=system.int32
int64=system.int64
long=system.int32
long32=system.int32
long64=system.int64
longlong=system.int64
lparam=system.intptr
lpbool=system.int16[]
lpbyte=system.uint16[]
lpcolorref=system.uint32[]
lpcstr=system.string
lpctstr=system.string
lpcvoid=system.uint32
lpcwstr=system.string
lpdword=system.uint32[]
lphandle=system.uint32
lpint=system.int32[]
lplong=system.int32[]
lpstr=system.string
lptstr=system.string
lpvoid=system.uint32
lpword=system.int32[]
lpwstr=system.string
lresult=system.intptr
pbool=system.int16[]
pboolean=system.int16[]
pbyte=system.uint16[]
pchar=system.char[]
pcstr=system.string
pctstr=system.string
pcwch=system.uint32
pcwstr=system.uint32
pdword=system.int32[]
pfloat=system.float[]
phandle=system.uint32
phkey=system.uint32
pint=system.int32[]
plcid=system.uint32
plong=system.int32[]
pluid=system.uint32
pshort=system.int16[]
pstr=system.string
ptbyte=system.char[]
ptchar=system.char[]
ptstr=system.string
puchar=system.char[]
puint=system.uint32[]
pulong=system.uint32[]
pushort=system.uint16[]
pvoid=system.uint32
pwchar=system.char[]
pword=system.int16[]
pwstr=system.string
regsam=system.uint32
sc_handle=system.intptr
sc_lock=system.intptr
short=system.int16
size_t=system.uint32
ssize_=system.uint32
tbyte=system.char
tchar=system.char
uchar=system.byte
uint=system.uint32
uint32=system.uint32
uint64=system.uint64
ulong=system.uint32
ulong32=system.uint32
ulong64=system.uint64
ulonglong=system.uint64
ushort=system.uint16
word=system.uint16
wparam=system.intptr






附:舉一個聲明api的例子

[ dllimport( "kernel32.dll" )]
public static extern system.uint32 virtualallocex(
system.intptr hprocess,
system.uint32 lpaddress,
system.uint32 dwsize,
system.uint32 flallocationtype,
system.uint32 flprotect
);

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 察哈| 江源县| 永吉县| 久治县| 北京市| 赤壁市| 安多县| 九江县| 峨眉山市| 洞头县| 张家口市| 探索| 罗城| 越西县| 郑州市| 修武县| 南开区| 富顺县| 商都县| 龙山县| 东平县| 二手房| 黔东| 军事| 句容市| 沁阳市| 马龙县| 九龙坡区| 辽中县| 南京市| 塔城市| 华池县| 谢通门县| 元朗区| 泰顺县| 兴宁市| 礼泉县| 溆浦县| 团风县| 原平市| 托克逊县|