• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        Win32分類與.net分類的對應表

        Win32分類與.net分類的對應表

        更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

        習慣用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

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日本三级2019在线观看免费| 免费萌白酱国产一区二区三区 | 最近中文字幕mv免费高清电影| 午夜亚洲www湿好大| 在线观看免费无码视频| 亚洲女同成av人片在线观看| 久久精品成人免费国产片小草| 亚洲人成图片小说网站| 少妇性饥渴无码A区免费 | 免费av片在线观看网站| 亚洲av无码一区二区三区不卡| 一级毛片免费观看| 亚洲国产成人超福利久久精品| 成人毛片免费观看视频| 色天使亚洲综合一区二区| 亚洲国产精品一区二区第一页免| eeuss免费天堂影院| 亚洲av无码精品网站| 97免费人妻无码视频| 亚洲成a∨人片在无码2023| 无码专区一va亚洲v专区在线| xxxx日本在线播放免费不卡| 亚洲国产成人高清在线观看| 59pao成国产成视频永久免费 | 亚洲视频在线观看2018| 日韩电影免费在线| 久青草视频97国内免费影视| 亚洲国产精品久久久久| 免费高清资源黄网站在线观看| 男女交性无遮挡免费视频| 亚洲a一级免费视频| 毛片在线看免费版| jizz免费观看视频| 亚洲欧洲日产韩国在线| 国产免费一区二区三区VR| 国产免费AV片在线观看| 亚洲国产精品ⅴa在线观看| 亚洲理论片在线中文字幕| 中字幕视频在线永久在线观看免费| 黄色网页免费观看| 亚洲色成人网一二三区|