日期:2014-05-16  浏览次数:20848 次

在学习网站用短信猫发短信时,调用SMS.DLL文件出错的问题。
本帖最后由 u013705053 于 2014-02-26 17:20:18 编辑
平台是:C# WebFrom
在网上查了相关的资料,然后我根据网上资料在网站的Bin文件、网站根目标、系统system32下都放了‘SMS.DLL’这个文件。但还是提示:
无法加载 DLL sms.dll : 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。


请问,我应该怎么做?苦闷中……

我也不知道这个SMS.DLL是用什么语言开发的,我是这么调用的:
1.在网站的Bin文件、网站根目标、系统system32下都放了‘SMS.DLL’这个文件。
2.引用:using System.Runtime.InteropServices;using System.ComponentModel;
3.公共调用
 [STAThread]

    [DllImport("sms.dll", EntryPoint = "Sms_Connection")]
    public static extern uint Sms_Connection(string CopyRight, uint Com_Port, uint Com_BaudRate, out string Mobile_Type, out string CopyRightToCOM);

    [DllImport("sms.dll", EntryPoint = "Sms_Disconnection")]
    public static extern uint Sms_Disconnection();

    [DllImport("sms.dll", EntryPoint = "Sms_Send")]
    public static extern uint Sms_Send(string Sms_TelNum, string Sms_Text);

    [DllImport("sms.dll", EntryPoint = "Sms_Receive")]
    public static extern uint Sms_Receive(string Sms_Type, out string Sms_Text);

    [DllImport("sms.dll", EntryPoint = "Sms_Delete")]
    public static extern uint Sms_Delete(string Sms_Index);

    [DllImport("sms.dll", EntryPoint = "Sms_AutoFlag")]
    public static extern uint Sms_AutoFlag();

    [DllImport("sms.dll", EntryPoint = "Sms_NewFlag")]
    public static extern uint Sms_NewFlag(); 


4.使用: String TypeStr = "";
        String CopyRightToCOM = "";
        String CopyRightStr = "";

        if (Sms_Connection(CopyRightStr, 5, 9600, out TypeStr, out CopyRightToCOM) == 1)运行时这句提示:无法加载 DLL sms.dll : 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

        {
            Label24.Text = TypeStr;
            
        }
        else
        {
            Label24.Text = "连接失败!";
        }
------解决方案--------------------
本帖最后由 bdmh 于 2014-02-26 17:23:25 编辑
看看有权限访问系统目录吗
放到网站目录下试试吧
------解决方案--------------------
记得好像是不需要注册的呀,要不你用命令 regsvr32 sms.dll试下
------解决方案--------------------
先用WinForm调试 如果Win高试成功,那就说明Web的权限问题