• <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在线在线播放| 免费在线不卡视频| 亚洲精品美女久久久久| 国产一区二区三区免费| 国产亚洲精品自在久久| 三年片在线观看免费| 久久91亚洲人成电影网站| 嫩草影院在线播放www免费观看| 亚洲一区二区女搞男| 在线观看免费视频网站色| 亚洲精品V欧洲精品V日韩精品| 日批视频网址免费观看| 亚洲AV日韩精品久久久久久| 性色午夜视频免费男人的天堂 | 免费看片在线观看| 亚洲人和日本人jizz| 歪歪漫画在线观看官网免费阅读| 国产精品亚洲综合五月天| 免费涩涩在线视频网| 一进一出60分钟免费视频| 亚洲人成图片小说网站| 最近免费中文字幕mv在线电影| 久久亚洲sm情趣捆绑调教 | 国产又大又黑又粗免费视频 | 亚洲高清毛片一区二区| 婷婷亚洲天堂影院| 91在线免费观看| 亚洲电影在线免费观看| 在线看片无码永久免费aⅴ | 久久成人a毛片免费观看网站| 亚洲大片免费观看| 日本一区二区三区日本免费| 一个人看的在线免费视频| 亚洲精品成人av在线| 天天干在线免费视频| 国产精品免费久久| 亚洲日韩乱码中文无码蜜桃臀| 亚洲AV电影院在线观看| 久草在视频免费福利| 成人免费夜片在线观看| 中文字幕亚洲综合久久|