js里怎样调用c#写的dll
2013-07-12 10:53
253 查看
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>
然后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>
相关文章推荐
- 在.net C#里怎样调用非托管动态库函数dll?
- JS调用c#编写的DLL
- 在.net C#里怎样调用非托管动态库函数dll?
- 在C#的ajax中的timer触发函数中怎样调用页面元素和引用JS脚本函数?
- 怎样在C#中调用Delphi6写的DLL
- 解决C#调用dll提示
- Unity3D中使用C#调用C++编写的DLL
- C# 调用C++DLL传递的bool型,返回混乱
- C#中调用C++的DLL
- c#中如何在cshtml页面实现js调用cs变量(mvc模式)
- 为什么 我在C#做的dll 在pb9中调用报错
- C++调用C#的dll
- C#调用C++DLL
- c#下调用dll动态链接库[转]
- C#程序实现动态调用DLL的研究
- 在c#项目中调用及调试c++写的dll
- C\C++ Dll ->C# ->MaxScript通过C#调用C++写的Dll
- DLL的类库怎样实现动态加载调用
- C#写好的类库dll在别人调用的时候也能看到注释的方法
- asp.net js与后台C#代码相互调用