當然可以的,需要System.Runtime.InteropServices?命名空間中的?Marshal?類
榕城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
Imports?System.Runtime.InteropServices?'這里一定要有?
Public?Class?Form1
Public?Structure?m_Point
Dim?x?As?Integer
Dim?y?As?Integer
End?Structure
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?i?As?Integer?=?50
Dim?ai()?As?Integer?=?{1,?2,?3,?4,?5}
Dim?pi?As?IntPtr?=?GCHandle.Alloc(i,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形變量的指針?
Dim?pai?As?IntPtr?=?GCHandle.Alloc(ai,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形數(shù)組首地址指針
MsgBox(Marshal.ReadInt32(pi,?0))?'讀回整形變量指針指向的值
MsgBox(Marshal.ReadInt32(pai,?0?*?4))?'讀回數(shù)組的第一個元素
MsgBox(Marshal.ReadInt32(pai,?1?*?4))?'讀回數(shù)組的第二個元素
MsgBox(Marshal.ReadInt32(pai,?2?*?4))?'讀回數(shù)組的第三個元素
'-----下面是結(jié)構(gòu)--------------------------
Dim?m_p?As?New?m_Point
m_p.x?=?100
m_p.y?=?50
Dim?pm_p?As?IntPtr?=?GCHandle.Alloc(m_p,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得結(jié)構(gòu)首地址指針?
MsgBox(Marshal.ReadInt32(pm_p,?0?*?4))?'讀回結(jié)構(gòu)的第一個值
MsgBox(Marshal.ReadInt32(pm_p,?1?*?4))?'讀回結(jié)構(gòu)的第二個值
End?Sub
End?Class
其 FileName 屬性可以取到點擊確定之后的完整路徑地址,是帶文件名的,再利用 System.IO.Path.GetDirectoryName() 方法就可以取到文件夾路徑。
其 InitialDirectory 屬性可以設置打開時默認指向的路徑。
VB.net運行于CLR上,其變量的地址都是不確定的,生命周期也是不確定的,所以不能獲得指針。
不知道你為何要獲取變量地址,看看是否可以用其他辦法代替。
比較專業(yè)的做法是在項目中添加微軟的Application Settings類,詳細幫助文檔:
使用極其簡單,假設在settings1.settings設置一個項目,名稱:IP,類型:String,范圍:用戶,值:192.168.1.1
調(diào)用:Dim sIP As String = setting.IP
獲取缺省值:Dim sIP As String = Settings1.Default.IP
保存: setting.IP = "192.168.1.30" : setting.Save()
可以新建一個Moduel,然后用public聲明此變量,這就是全局變量了。
如果在class中,使用的時候要加上此類的名稱,如class1.var
保存在config文件里啊,例如你的應用程序是abc.exe,那么你就放一個abc.exe.config文件,把配置參數(shù)寫到這個文件里,下邊是用微軟企業(yè)庫連接數(shù)據(jù)庫的一個config文件的例子。
?xml version="1.0" encoding="utf-8"?
configuration
configSections
section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/
/configSections
dataConfiguration defaultDatabase="Connection String"/
connectionStrings
add name="Connection String" connectionString="Data Source=(local);Initial Catalog=數(shù)據(jù)庫名;Persist Security Info=True;User ID=sa;Password=密碼;max Pool Size=1000;" providerName="System.Data.SqlClient" /
/connectionStrings
appSettings /
/configuration