国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

自己動手改寫VB.NET內存指針

開發 后端
這里介紹根據網上的資料改寫了一個對VB.NET內存指針的封裝類,因為使用ShellExecuteEx函數必須使用微軟在VB.NET中不直接提供的指針操作。

學習VB.NET時,你可能會遇到VB.NET內存指針問題,這里將介紹VB.NET內存指針問題的解決方法,在這里拿出來和大家分享一下。近日心血來潮,花巨資購進多普達智能手機一臺, 系統為微軟的Smartphone2003 ,由于對"瘟倒死"操作系統的熟悉,很快已步入正軌,各種圖片、程序安裝了一大堆后,開始發揮自己的程序特長,試著為愛機寫一個資源管理器的簡單程序。

我選擇的編程工具當然是Visual Basic NET2003,實話說Microsoft .NET Framework SDK 提供的功能實在不感恭維,微軟好象又要將所有走上光明大道的.NET程序員拖入API的黑暗時代,指針、句柄、地址操作,最令人惱火就是沒有為VB.NET程序做WinCE的API 聲明(令人懷念VB6的API瀏覽器)很快我就在如何啟動手機中的應用程序的代碼上困住了,Net沒有為WinCE提供Process 對象這種不付責任的做法害得我好苦啊!

開始時聲明時老是將ShellExecuteEx 和CreateProcess這兩個熟悉得不能再熟悉的Win32在VB 6中的聲明直接粘到程序中,僅是將VB6的long改為NET的int32,結果老是報錯。在網上查了N天資料,才發現原來Win CE的核心API都是在一個coredll.dll文件中,使得我差點沒氣死!還有一點是SHELLEXECUTEINFO結構中的lpFile這種指向字符串常量的指針由于字符的編碼問題不能象在Win32編程中簡單聲明為String類型,所在必須聲明為Intptr,這樣問題就出現了,使用 ShellExecuteEx函數必須使用微軟在VB.NET中不直接提供的指針操作,所以我只好根據網上的資料改寫了一個對VB.NET內存指針的封裝類,詳細代碼及解釋如下(新建一個模塊,將以下代碼粘貼進去即可使用):

  1. Imports System.Runtime.InteropServices '引及Net框架中對底層操作支持的命名空間  
  2. Public Class clsDAMSMobileMarshal '我寫的內存管理類  
  3. #Region "與內存有關的API聲明"  
  4. REM 以下是與內存有關的移動設備API  
  5. Public Declare Function LocalAlloc Lib "coredll.dll" Alias "LocalAlloc" 
    (ByVal wFlags As Int32, _ByVal wBytes As Int32) As IntPtr  
  6. Public Declare Function LocalFree Lib "coredll.dll" Alias "LocalFree" 
    (ByVal hMem As Int32) As Int32  
  7. Public Declare Function LocalLock Lib "coredll.dll" Alias "LocalLock" 
    (ByVal hMem As Int32) As Int32  
  8. Public Declare Function LocalReAlloc Lib "coredll.dll" Alias "LocalReAlloc" 
    (ByVal hMem As IntPtr, _ByVal wBytes As Int32, ByVal wFlags As Int32) As IntPtr  
  9.  
  10. #End Region  
  11.  
  12. #Region "API常量聲明"  
  13. Public Const LMEM_FIXED = 0 
  14. Public Const LMEM_MOVEABLE = &H2  
  15. Public Const LMEM_ZEROINIT = &H40  
  16. Public Const LPTR = LMEM_FIXED Or LMEM_ZEROINIT  
  17. #End Region  
  18.  
  19. Public Shared Function fnAllocHLocal(ByVal ni_i32Size As Int32) As IntPtr  
  20. '申請本地內存,返回一個指向該內存塊的指針  
  21. Return LocalAlloc(LPTR, ni_i32Size)  
  22. End Function  
  23.  
  24. Public Shared Function fnFreeHLocal(ByRef ni_pLocal As IntPtr) As Int32  
  25. REM 釋放指定的內存塊柄  
  26. Dim ti32FunctionReturnValue As Int32  
  27. If ni_pLocal.Equals(IntPtr.Zero) = False Then  
  28. ti32FunctionReturnValue = (LocalFree(ni_pLocal.ToInt32))  
  29. If ti32FunctionReturnValue = 0 Then  
  30. ni_pLocal = IntPtr.Zero  
  31. End If  
  32. End If  
  33. Return (ti32FunctionReturnValue)  
  34. End Function  
  35.  
  36. Public Shared Function fnReAllocHLocal
    (ByVal ni_pIn As IntPtr, ByVal ni_i32Size As Int32) As IntPtr  
  37. '對指定的內存塊重新定義大小  
  38. Return LocalReAlloc(ni_pIn, ni_i32Size, LMEM_MOVEABLE)  
  39. End Function  
  40.  
  41. Public Shared Function fnStringToHLocalUni(ByVal ni_strIn As String) As IntPtr  
  42. '將指定的字符串復制到一個內存塊中,并返回該內存塊的指針,這個指針必須使用fnFreeHLocal函數釋放  
  43. Dim ti32StringBufLength As Int32  
  44. Dim tpTempA As IntPtr  
  45.  
  46. If Not (ni_strIn Is Nothing) Then  
  47. If ni_strIn.Length = 0 Then  
  48. Return IntPtr.Zero  
  49. Else  
  50. ti32StringBufLength = (ni_strIn.Length + 1) * 2 ' 包括***一個中止字符  
  51. tpTempA = fnAllocHLocal(ti32StringBufLength)  
  52. If tpTempA.Equals(IntPtr.Zero) = False Then '申請內存成功  
  53. Marshal.Copy(ni_strIn.ToCharArray, 0, tpTempA, ni_strIn.Length)  
  54. Return tpTempA  
  55. End If  
  56. End If  
  57. End If  
  58. End Function  
  59. End Class 

【編輯推薦】

  1. 實例講述VB.NET使用Log4Net
  2. 三分鐘學會VB.NET轉換形態
  3. VB.NET獲取硬盤信息四大法寶
  4. 講述VB.NET調用Excel的好處
  5. 簡單例子概述VB.NET新窗體
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-10-26 14:25:09

VB.NET控件數組

2009-10-27 15:07:40

VB.NET支付寶接口

2009-10-28 09:25:18

VB.NET List

2009-10-14 15:20:21

VB.NET窗體指針

2009-11-10 16:46:52

VB.NET指針應用

2009-11-02 16:55:50

VB.NET Smar

2009-11-10 16:27:45

VB.NET指針

2009-10-30 13:48:36

VB.NET指針

2010-01-14 10:35:34

VB.NET指針

2010-01-18 14:35:11

VB.NET讀取內存

2010-01-19 18:37:24

VB.NET內存占用

2009-10-29 14:02:24

VB和VB.NET比較

2009-10-14 12:51:41

VB.NET Data

2009-10-20 14:21:55

VB.NET fnSi

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-11-02 17:12:01

VB和VB.NET

2009-10-20 14:09:05

VB.NET反射功能

2010-01-21 17:34:48

VB.NET Bool

2010-01-12 16:20:44

VB.NET類
點贊
收藏

51CTO技術棧公眾號

伊人色综合久久天天| 九七伦理97伦理| 久久久777精品电影网影网| 青青青手机在线视频观看| 亚洲最新av网址| 国内精品视频在线观看| 91传媒免费视频| 91久久国产最好的精华液| 91视频亚洲| 日韩av免费电影| 亚洲影院在线观看| 97精品国产综合久久久动漫日韩| 91久久国产自产拍夜夜嗨| 91免费视频网址| 国产二区三区在线| 国产黑人绿帽在线第一区| 久久aⅴ国产欧美74aaa| 天堂av中文在线资源库| 欧美成人免费一级人片100| 国产伊人精品在线| 高清国产一区二区| 高清欧美精品xxxxx在线看| 青青草一区二区| 欧美在线亚洲综合一区| 精品在线观看一区二区| 男女免费观看在线爽爽爽视频| 欧美一级淫片播放口| 久久99九九99精品| 毛片免费在线观看| 97在线观看视频国产| 紧缚捆绑精品一区二区| 91青青在线视频| 国产精品久久久久久久久久久新郎| 成人妖精视频yjsp地址| sm国产在线调教视频| 国产日韩在线视频| 国产精品久久久久久久久免费丝袜| 肉色欧美久久久久久久免费看| 精品欧美日韩| 日本久久精品电影| 四季av在线一区二区三区| 日韩一区二区三区久久| xvideos亚洲人网站| 国内欧美视频一区二区| 伊人春色在线观看| 国产欧美日本在线| 一本大道久久精品懂色aⅴ| 蜜桃a∨噜噜一区二区三区| 精品中文字幕av| 日韩大陆欧美高清视频区| 亚洲一区二区三区高清| 高清在线观看av| 91九色最新地址| 亚洲人成免费| 一本大道香蕉8中文在线视频| 国产一区视频在线| 欧美日韩91| 午夜影院在线免费观看| 国产精品久久久久久久久| 自拍偷拍欧美精品| 亚洲永久在线观看| 国产一区二区三区高清在线观看| 国产一区二区三区免费观看| 哺乳挤奶一区二区三区免费看| 日本成人一区二区三区| 久久综合88中文色鬼| 不卡免费追剧大全电视剧网站| 国产一区二区视频在线看| 欧美又大粗又爽又黄大片视频| 欧美日本高清视频在线观看| 伦理一区二区| 人人澡人一摸人人添| 日韩av手机在线观看| 亚洲影院理伦片| 欧美激情777| 国产大片在线免费观看| 免费中文日韩| 欧美精品一区男女天堂| 国产成都精品91一区二区三| 精品国产一区二区三区性色av| av网站免费观看| 国产成人看片| 日韩二区三区在线| 久久久国产午夜精品| 狠狠色狠狠色综合婷婷tag| 久久精品国产一区二区三区 | 亚洲成人av电影| 亚洲欧美偷拍自拍| 黄色网页在线看| 女女同性女同一区二区三区按摩| 久久精品国产亚洲一区二区| 亚洲免费观看高清完整版在线| 欧美日韩一区自拍| 色综合桃花网| 国产视频一区二区视频| 国产精品九九九| 欧美精品在线视频| 国产盗摄精品一区二区三区在线| 6080成人| 国产高清视频免费最新在线| 天天想你在线观看完整版电影免费| 欧美成人激情在线| 欧美日韩国产综合视频在线观看中文 | 亚洲情趣在线观看| 欧美aa国产视频| 成人日韩精品| 免费看的国产视频网站| 欧美精品一区二区三区四区五区| 精品国产美女在线| 色综合婷婷久久| 成人深夜福利app| 天天射成人网| 亚洲成av在线| 屁屁影院在线观看| 亚洲欧美丝袜| 777国产偷窥盗摄精品视频| 欧美日韩夫妻久久| 国产亚洲欧美在线| 香蕉精品999视频一区二区| 一区二区三区高清在线观看| 一级日本在线| 日韩av在线中文| 亚洲午夜精品一区二区三区| 国产精品成人在线| 亚洲天堂精品在线| 一本一道综合狠狠老| 91美女片黄在线| 羞羞视频在线观看欧美| 嫩草国产精品入口| 91超碰中文字幕久久精品| 欧美日韩精品一区二区三区四区 | 日本ー区在线视频| 免费不卡av在线| 99精品99久久久久久宅男| 久久精品男人天堂| 3atv一区二区三区| 日韩毛片一二三区| 国产91精品入口| 亚洲黄色影院| 日韩精品福利一区二区三区| 多野结衣av一区| 欧洲亚洲一区| 欧美一级视频一区二区| 亚洲精品v欧美精品v日韩精品| 午夜精品久久一牛影视| 91麻豆.com| 久久99日本精品| 狠狠88综合久久久久综合网| 丝袜美腿综合| 亚洲精品一区二区在线播放∴| 国产乱码在线| 午夜在线视频| 偷拍自拍在线视频| 久久99视频免费| 欧美在线|欧美| 国产精品护士白丝一区av| 国产精品中文有码| 亚洲国产清纯| 欧美精品一区二区三区中文字幕| 久久天堂久久| 日本综合视频| 嗯啊主人调教在线播放视频 | 欧美在线一区视频| 欧美日韩国产综合视频在线| 国产美女精品视频| 97成人在线视频| 欧美成人午夜视频| 日韩中文字幕在线| 亚洲天堂2020| 亚洲国产精品人人爽夜夜爽| 日韩一二三区不卡| 欧美丰满一区二区免费视频 | 日韩精品成人| 国产精品精品| eeuss影院www在线播放| 在线香蕉视频| 中文字幕电影在线观看| 成人网免费视频| 国产三级三级三级看三级| 黄色一级视频在线播放| wwwwww欧美| 97中文字幕在线| 999一区二区三区| 99精品视频网站| 日本黄色a视频| 黄色一级片网址| 黄色a级在线观看| 亚洲第一精品区| 热这里只有精品| 99er在线视频| 日本a视频在线观看| 2019日韩中文字幕mv| 亚洲一卡二卡区| 在线视频亚洲自拍| 国产手机视频在线观看| 一级特黄妇女高潮| 无码专区aaaaaa免费视频| 天堂…中文在线最新版在线| 国产1区2区在线| 成人免费视频网站在线看|