vb.netdll入口,vbnet dll

VB.NET LogonUser提示無法在 DLL“advapi32.dll”中找到名為“LogonUser”的入口點(diǎn)。

你這是在declare語句里忘了寫alias子句了。。。

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、安平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為安平等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Private?Declare?Function?LogonUser?Lib?"advapi32.dll"?Alias?"LogonUserA"?(ByVal?lpszUsername?As?String,?ByVal?lpszDomain?As?String,?ByVal?lpszPassword?As?String,?ByVal?dwLogonType?As?Integer,?ByVal?dwLogonProvider?As?Integer,?ByRef?phToken?As?IntPtr)?As?Boolean

還有你在vb里最好要也像C#一樣,用dllimports特性而不是declare來引用api函數(shù)。需要引入

Imports?System.Runtime.InteropServices

命名空間。用尖括號(hào)開頭,如下:

DllImport("advapi32.dll")

Public?Shared?Function?LogonUser(ByVal?lpszUsername?As?String,?ByVal?lpszDomain?As?String,?ByVal?lpszPassword?As?String,?ByVal?dwLogonType?As?Integer,?ByVal?dwLogonProvider?As?Integer,?ByRef?phToken?As?IntPtr)?As?Boolean

End?Function

當(dāng)然你這里注意下logonUser函數(shù)的返回值只有在這個(gè)函數(shù)執(zhí)行失敗的時(shí)候才會(huì)返回false

vb.net dll引用它說找不到入口點(diǎn)

.NET 類庫生成的 dll 只要在你的項(xiàng)目引用里添加對(duì) dll 的引用即可。圖中是調(diào)用普通 dll 的方法,那個(gè) dll 通常是用 C++ 寫的非托管庫。

vb 如何調(diào)用 NET寫的DLL?

VB.net語言

1、創(chuàng)建組件定義

新建一個(gè)Probject,在代碼中寫入:

Public Interface IDemo

Function Test() As String

End Interface

2、實(shí)現(xiàn)組件定義

新建一個(gè)Probject,添加對(duì)上述Probject的引用后,在代碼中寫入

Public Class Demo

Implements IDemo.IDemo

Public Function Test() As String Implements IDemo.IDemo.Test

Test = "Hello World!"

End Function

End Class

3、編譯出Demo.dll組件

4、使用.net的工具 Visual Studio .Net 2003 Command Prompt,輸入以下命令

Regasm Demo.dll /tlb:Demo.tlb

把Demo.dll注冊(cè)為一個(gè)com對(duì)象(這個(gè)com對(duì)象不等同于普通的用VB編寫的Com對(duì)象),并導(dǎo)出類型庫Demo.tlb

5、新建一個(gè)VB工程,添加對(duì)Demo.tlb和IDemo.tlb的引用

6、定義兩個(gè)全局變量

Dim vbDemo As Demo.Demo

Dim vbIDemo as IDemo.IDemo

7、在Form_Load事件中初始化

'初始化實(shí)體類

Set vbDemo = New Demo.Demo

'將實(shí)體類引用到抽象類

Set vbIDemo = vbDemo

8、然后,我們就可以用 vbIDemo.Test 這樣的方法了

VB應(yīng)用找不到dll入口點(diǎn)

“找不到 DLL 入口點(diǎn)”,這種問題一般都是函數(shù)名的聲明不正確。

比如把函數(shù)名寫錯(cuò)(要區(qū)分大小寫的)、dll文件名寫錯(cuò)等。

你的 nxmi.dll 是哪來的?

一般的“第三方DLL文件”,都不會(huì)給你提供A版和W版的函數(shù)接口吧!

你把 Alias "BizbussA" 刪除,再運(yùn)行試試。

或者,把這個(gè)DLL文件發(fā)出來,我給你看看函數(shù)名是否正確。

vb.net 窗體程序的入口在哪

方法如下:

1、打開例1.1創(chuàng)建的工程。

2、選擇窗體Form1并雙擊該窗體,出現(xiàn)窗體的調(diào)事件的過程代碼體。

3、在窗體調(diào)用的過程代碼體中編制如下過程代碼:

Private Sub Form_Load()

Form1.Width = 4860

Form1.Height = 2520

End Sub

4、設(shè)置窗體Form1的SartUpPosition屬性為2-屏幕中心,這樣運(yùn)行窗體可以發(fā)現(xiàn),屏幕的大小與例1.6中通過屬性設(shè)置的大小是一致的。

vb.net 如何調(diào)用dll . 調(diào)用時(shí)總是出錯(cuò). 找不到入口點(diǎn)..無法返回值... 需要詳細(xì)的.謝謝!

DLL在生成后,里內(nèi)的函數(shù)會(huì)有變化,所以你要先用軟件exesc查一下它變化的結(jié)果是什么

之后這樣寫,我是用C#寫的,對(duì)你應(yīng)該有幫助

[DllImport("facecom.dll", EntryPoint = "?fnfacecom@@YAHXZ")]

public extern static int fnfacecom();

?fnfacecom@@YAHXZ

這個(gè)就是那個(gè)就是在軟件里查到的改變后的結(jié)果,你寫在入口號(hào)處就可以了

這個(gè)我用過了沒問題

分享名稱:vb.netdll入口,vbnet dll
本文URL:http://muchs.cn/article46/phigeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、Google、網(wǎng)站收錄、標(biāo)簽優(yōu)化虛擬主機(jī)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)