js里怎样调用c#写的dll

js只支持Activex Dll(所谓的com组件).在C#里如下面的方法写.
然后js里注册该控件并调用.
里面有两个方法   
Encrypt(string pToEncrypt,string sKey) //加密   
Decrypt(string pToDecrypt,string sKey) //解密   
然后你这样写代码:   
using System;   
using System.Runtime.InteropServices;   
namespace 名称空间   
{   
        // 首先建立接口,这个是Com必须使用的   
        [Guid("61BB24CB-4C2C-40f8-9E13-1AC5E558D56A")]   
        public interface IEncrypt   
        {   
             string Encrypt(string pToEncrypt,string sKey);   
             string Decrypt(string pToDecrypt,string sKey);   
        }   
         
        // 写接口的实现   
        [Guid("CB52E990-185E-4448-A7E8-C88ECAD563AB")]   
        public class 类名称 : IEncrypt   
        {   
             public string Encrypt(string pToEncrypt,string sKey)   
             {   
                   // 复制FAQ加密代码   
             }   
           
             public string Decrypt(string pToDecrypt,string sKey)   
             {   
                   // 复制FAQ解密代码   
             }   
        }   
}   
然后用vs.net打包成.dll类库文件,假设名称为MyEncrypt.dll   
然后用如下工具   
regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb   
这个.tlb文件就是类型库,可以由vb6和vc++6引用。   
注意上面的guid是使用vs.net工具菜单里面的创建guid工具生成的。   
还要注意,vs.net自动生成的assemblyinfo.cs文件中必须添加强名称和版本号,因为Com组件需要版本号,不要改动版本号,也不要用vs.net自动的1.*这样的版本号,最好使用   
1.1.1.1这样的固定版本,而且必须一次添加,不能多次添加。
regasm后怎样在js里调用?
用你的例子是这样?
var ss = new ActiveXObject("MyEncrypt.类名称");
 
 
 
JS不可以调用普通的Dll动态链接库,但你可以使用new   ActiveXObject调用ActiveX   DLL,如:    
          <script>    
          set   z_shell=   CreateObject(   "WScript.Shell"   )    
            z_shell.Run(   "command.com   /c   mkdir   "   +   "c:\NewDir")    
          </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用electron-edge-js调用C程序需要进行以下步骤: 1. 安装electron-edge-js库:可以通过npm install electron-edge-js命令来安装electron-edge-js库。 2. 在Electron的渲染进程中引入electron-edge-js库:可以使用require函数将electron-edge-js库引入到Electron的渲染进程文件中。 3. 准备C函数:在C文件中定义需要调用的函数。 4. 编译C代码:使用C编译器将C代码编译成可执行文件(如Windows平台的.exe文件、Mac平台的.dylib文件等)。 5. 创建配置文件:创建一个userconfig文件,该文件用于配置C函数的名称和所对应的dll文件路径或so文件路径等。 6. 在Electron的渲染进程中调用C函数:使用electron-edge-js库的func函数和userconfig配置文件中定义的函数名称来调用C函数。 下面是一个简单的例子: ```javascript // 引入electron-edge-js库 const edge = require('electron-edge-js'); // 创建配置文件 const userConfig = { assemblyFile: 'path/to/your/dll/file', typeName: 'NameSpace.ClassName', methodName: 'FunctionName' }; // 调用C函数 const cFunc = edge.func(userConfig); cFunc(parameters, (error, result) => { if (error) { // 处理错误 console.error(error); } else { // 处理结果 console.log(result); } }); ``` 在这个例子中,我们首先引入electron-edge-js库,然后创建一个userconfig配置文件,并定义要调用的C函数的相关信息。之后,使用electron-edge-js库的func函数来调用C函数,并传入参数。最后,处理C函数的返回结果或错误信息。 需要注意的是,具体的操作步骤和配置文件的内容可能会因为不同的C程序和操作系统而有所差异,需要根据实际情况进行适当的调整。以上只是一个简单的示例,提供了使用electron-edge-js调用C程序的基本思路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值