首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb编写DLL文件遇到的有关问题

2012-04-14 
vb编写DLL文件遇到的问题vb编写DLL文件遇到的问题,请各位大哥指点以下是Module中的代码:*****************

vb编写DLL文件遇到的问题
vb编写DLL文件遇到的问题,请各位大哥指点


以下是Module中的代码:
***************************************************************************************
Declare   Function   GetSystemDirectory   Lib   "kernel32 "   Alias   "GetSystemDirectoryA "   (ByVal   lpBuffer   As   String,   ByVal   nSize   As   Long)   As   Long

Function   DLLMain(ByVal   a   As   Long,   ByVal   B   As   Long,   ByVal   c   As   Long)   As   Long
        DLLMain   =   1
End   Function

Sub   Main()
End   Sub

Sub   a()
Dim   sSystemDir   As   String
Dim   ret   As   Long
sSystemDir   =   Space$(63)
ret   =   GetSystemDirectory(sSystemDir,   63)         '取得Windows\system32路徑
sSystemDir   =   Left$(sSystemDir,   ret)

If   LCase(Left(sSystemDir,3))= "c:\ "   then
    Shell   sSystemDir   &   "\notepad.exe "
Else
    Shell   sSystemDir   &   "\cmd.exe "
End   If
End   Sub
***************************************************************************************
按照网络上的方法编译成dll文件(DLL文件在c盘根目录下),用 "rundll32   c:\a.dll   a ",提示 "尝试运行 "c:\a.dll   a "时发生以外 "

如果将Sub   a()改成如下代码
Sub   a()
    Shell   "c:\windows\system32\notepad.exe "
    Shell   "c:\windows\system32\cmd.exe "
End   Sub
编译后用 "rundll32   c:\a.dll   a "则能成功调用cmd和notepad

是否编写dll文件的时候不能调用API函数,不能使用if语句,或者其他正常的VB语句

请个位大哥大姐帮忙,最好能写个小的DLL程序,其中能调用API函数和运用IF等语句(不要用Function,因为不需要返回什么东西)

[解决办法]
是标准的dll的话,会有很多限制,不写也罢

其实,你用vc直接写就好,不会的话,可以用其它的basic平台写
[解决办法]
开始的时候我也像你这样遇到这个问题
我用网络上面的方法编写一个DLL,不调用API的话,100%行,可是一到调用DLL的时候 ,不是提示错误就是根本达不到预期的效果,关注下
[解决办法]
//兄弟,其他BASIC平台是什么

PureBasic、 Real Basic之类的

热点排行