西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → 快手新增 dotNet 支持库,可方便的调用.Net 组件

快手新增 dotNet 支持库,可方便的调用.Net 组件

相关软件相关文章发表评论 来源:西西整理时间:2012/10/11 10:06:47字体大小:A-A+

作者:西西点击:72次评论:0次标签: 快手

Basic编译快手v1.1 绿色免费版
  • 类型:编程工具大小:82KB语言:中文 评分:6.6
  • 标签:
立即下载

AAuto 新增 dotNet 支持库,可方便的调用.Net 组件。
可使用内存字符串嵌入.Net组件,DLL可添加到工程内嵌资源目录,可通过标准com接口交互,使用非常方便。
该支持库代码开源( 可在标准库中双击查看源码 )。 

1、创建.Net虚拟机

import dotNet;  
var clr,err = dotNet.clr( "v2.0" );


2、创建应用程序域

//创建应用程序域( 属于进程之下,但在线程之上的程序管理容器 )
var appDomain = clr.createAppDomain();

快手AAuto Studio
9.4
类别: 编程工具    大小:8.5M    语言: 中文
查看详细信息 >>


3、引用系统组件,并实例化类对象

//system默认已加载,可通过 appDomain.system 直接引用该程序集
system = appDomain.load("System.Windows.Forms"); 
var Form = system.CreateInstance( "System.Windows.Forms.Form" )
Form.Show()


应用程序集可放置于应用程序根目录( 开发时为工程目录 ), 或者 "/bin"子目录下
应用程序根目录可在创建应用程序域之前使用 clr.AppDomainSetup.ApplicationBase 自行定义

使用 appDomain.loadFile() 则支持直接自内存载入程序集,当然也可以是一个普通文件。
这样添加工程目录,并设为内嵌资源的程序集,在发布后就不需要再附带外部dll文件了。

4、 调用类的静态方法

//调用类的静态方法
var ret  = appDomain.invokeStaticMember( 
    "\CSNET2ClassLibrary.dll" //指定程序集,写路径或程序集名都可以
    ,"CSNET2ClassLibrary.CSSimpleObject" //类名称
    ,"GetStringLength" //静态方法名
    ,"HelloWorld" //支持不定个数参数
    );


您可以在快手最新版本中找到上面范例的完整代码:
范例位置:快手范例->dotNet->加载C#程序集

快手最新版本下载:http://www.cr173.com/soft/14194.html
C#类添加下面的代码即可支持com接口 
[ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch)]

using System.Runtime.InteropServices; 

namespace CSNET2ClassLibrary  
{
    [ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch)]
    public class CSSimpleObject  
    {
        public CSSimpleObject()
        { }
    }
}

附: Microsoft .NET Framework 4 Client Profile 独立安装程序

下面是自动检测并安装.Net 4.0 Client Profile 的代码:

import dotNet.clr;
if( true || !(dotNet.clr("v2.0") ) || ( dotNet.clr("v4.0") ) ){
    import win;
    import inet.downBox;
    
    if( win.msgboxTest('您的系统未安装.Net运行库支持\n继续运行本程序需要下载安装.Net Framework 4.0,\n退出请按取消.',"运行环境检测") ){
        var downBox = inet.downBox(mainForm,"正在下载 Microsoft .NET Framework 4 Client Profile")
        downBox.endProc = function(ret,fileSize,err){
            if(!err)
                owner.endModal();
        } 
        
        downBox.download(
            "http://download.microsoft.com/download/5/6/2/562A10F9-C9F4-4313-A044-9C94E0A8FAC8/dotNetFx40_Client_x86_x64.exe"
            , "/download/IE8-WindowsXP-x86-CHS.exe" ) 
            
        if( downBox.complete ){
            process.execute_wait("/download/IE8-WindowsXP-x86-CHS.exe")
        } 
    } 
}

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)