• <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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲av无码一区二区三区天堂古代 | 亚洲精品伊人久久久久| 无码国产精品一区二区免费16 | 国产精品日本亚洲777| 特级做A爰片毛片免费69| 亚洲系列国产精品制服丝袜第| 久久久久国色av免费看| 亚洲毛片在线观看| 99久热只有精品视频免费观看17| 亚洲AV无码一区二区二三区入口 | eeuss影院ss奇兵免费com| 久久精品国产亚洲AV无码娇色| 免费看无码特级毛片| 亚洲精品制服丝袜四区| 久久久久久影院久久久久免费精品国产小说 | 无码欧精品亚洲日韩一区夜夜嗨 | 久久久精品免费国产四虎| 亚洲av成人无码久久精品| 亚洲精品福利你懂| 成人黄18免费视频| WWW亚洲色大成网络.COM| 免费女人18毛片a级毛片视频| 妇女自拍偷自拍亚洲精品| 亚洲日韩国产成网在线观看| 国产乱子伦精品免费视频| 亚洲gv猛男gv无码男同短文| 永久在线观看www免费视频| 亚洲三区在线观看无套内射| 亚洲国产成人久久一区二区三区| 国产大片51精品免费观看| sss在线观看免费高清| 自怕偷自怕亚洲精品| 国产三级在线观看免费| 一级毛片免费不卡直观看| 亚洲av女电影网| 日韩精品无码人妻免费视频| 精品国产免费一区二区三区| 亚洲无成人网77777| 一区二区免费视频| 亚洲精品av无码喷奶水糖心| 亚洲av永久无码精品国产精品|