對(duì)不起,我沒(méi)有學(xué)過(guò)vb.net,但是學(xué)過(guò)vb,希望這個(gè)可以
創(chuàng)新互聯(lián)公司成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢(xún)和貼心的售后服務(wù)。歡迎咨詢(xún)做網(wǎng)站需要多少錢(qián):18982081108
解決您程序的毛病。首先您注意以下兩種GetClientRect
聲明的方法:
Option Explicit
Private Declare Function GetClientRect Lib "user32" ( _
ByVal hwnd As Long, _
ByRef lpRect As RECT _
) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim r As RECT
Me.AutoRedraw = True
GetClientRect Me.hwnd, r
Print r.Left
Print r.Right
Print r.Top
Print r.Bottom
End Sub
----------------------------------------------------------------------------
Option Explicit
Private Declare Function GetClientRect Lib "user32" ( _
ByVal hwnd As Long, _
ByVal lpRect As Long _
) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim r As RECT
Me.AutoRedraw = True
GetClientRect Me.hwnd, VarPtr(r)
Print r.Left
Print r.Right
Print r.Top
Print r.Bottom
End Sub
看出問(wèn)題了沒(méi)有,就在GetClientRect的第二個(gè)參數(shù)上:
一個(gè)是按地址傳遞,另一個(gè)是按值傳遞:
ByRef lpRect As RECT 用 GetClientRect Me.hwnd, r
ByVal lpRect As Long 用 GetClientRect Me.hwnd, VarPtr(r)
據(jù)我所知vb.net按值傳遞的比較多,應(yīng)該用VarPtr獲取RECT類(lèi)型
(結(jié)構(gòu)體)的指針,然后傳遞。
希望能對(duì)你有所幫助。
這說(shuō)明你調(diào)用 API 傳參存在問(wèn)題。
首先有沒(méi)有設(shè)置結(jié)構(gòu)體內(nèi)存對(duì)齊?
[StructLayout(LayoutKind.Sequential)] 加了嗎?
COLORREF 不要用 Color 代替,用 int 代替
TCHAR cfFaceName[32] 定義為 Byte 數(shù)組也可以,帶在傳參前,必須初始化為 32 個(gè)長(zhǎng)度
有兩種辦法。
方法一、創(chuàng)建一個(gè) MSXML2.DOMDocument 對(duì)象,把這個(gè)文件Load進(jìn)來(lái),按照教科書(shū)上的步驟處理。這個(gè)對(duì)象名并非唯一,依據(jù)你電腦上的MSXML版本而定。你在引用中查一下。
方法二、將這個(gè)文件當(dāng)做一個(gè)普通的文本文件來(lái)處理。將它完整的讀入到一個(gè)字符串中,依據(jù)節(jié)點(diǎn)名用Split()函數(shù)將它分段,提取所需的內(nèi)容。
兩種方法都不復(fù)雜,嘗試一下吧。
說(shuō)明該dll不支持win7系統(tǒng),根據(jù)我的經(jīng)驗(yàn)一般說(shuō)“嘗試讀取或?qū)懭胧鼙Wo(hù)的內(nèi)存”是Dll內(nèi)部代碼引發(fā)了異常,這種情況有兩種,一是dll有BUG,二是對(duì)應(yīng)操作系統(tǒng)不正確。
要是連接設(shè)備的Dll就到設(shè)備制造商的官網(wǎng)下載對(duì)應(yīng)平臺(tái)的dll就ok
Public Declare Function GetCardInfo Lib " feitnccmclient.dll" (Byval personCode As string,Byval servername As string) As string
改為
Public Declare Function GetCardInfo Lib " feitnccmclient.dll" (Byref personCode As string,Byref servername As string) As string
試試
vb.net 有專(zhuān)門(mén)的托盤(pán)圖標(biāo)控件 在工具箱里直接添加一個(gè)就可以了 兩行代碼即可
NotifyIcon1.Icon?=?Me.Icon
NotifyIcon1.Visible?=?True
網(wǎng)站欄目:vb.net不嘗試讀取或的簡(jiǎn)單介紹
文章來(lái)源:http://jinyejixie.com/article18/dsecddp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站維護(hù)、App開(kāi)發(fā)、域名注冊(cè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)