当前位置:  编程技术>综合
本页文章导读:
    ▪c# winform实现dll加载时注册      近期遇到一个纠结的问题:在运行winform时,由于使用了一个他人开发的dll动态链接库,而这个库是必须要在本地电脑注册以后才可以使用,当然,我的电脑是注册了的,而开发的程序使用者.........
    ▪python的排列组合      python 2.6 引入了itertools模块,使得排列组合的实现非常简单: import itertools 排列:e.g., 4个数内选2个排列 >>> print list(itertools.permutations([1,2,3,4],2)) [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1.........
    ▪解析JSON格式数据      //JSON数据格式 {"status":200,"info":"ok","data":{"list":[{"article_id":"131","article_title":"","article_link":"","article_content":"\u6ca1\u4e8b\u522b\u9017\u6211\uff0c\u611a\u8822\u7684\u4eba\u7c7b~","article_pic":"\/2013\/01\/06\/d16882103625e1f.........

[1]c# winform实现dll加载时注册
    来源: 互联网  发布时间: 2013-11-10

近期遇到一个纠结的问题:在运行winform时,由于使用了一个他人开发的dll动态链接库,而这个库是必须要在本地电脑注册以后才可以使用,当然,我的电脑是注册了的,而开发的程序使用者电脑……于是……

先提供三种方法:

1,新建一个txt文件,输入如下;

Regsvr32 XXX.dll

Regsvr32 XXXdll

然后保存为“注册控件.bat”,这种方法必须要确保你所注册的dll文件与“注册控件.bat”在同一个文件夹下

2.VS自带

VS.NET 本身就可以制作安装程序的同时自注册COM控件,也非常易用,也非常方便。 用 VS.NET 制作安装程序过程如下:

  • 先创建安装项目:在解决方案资源管理器的根节点上点右键,在弹出的菜单里执行“添加->新建项目...”,创建一个“安装项目”。
  • 加入项目发布文件:在解决方案资源管理器的新创建的安装项目节点上点右键,在弹出的菜单里执行“添加->项目输出...”,在打开的窗口里选择“主输出”,这样可以把程序的发布文件自动加入到安装项目中。
  • 设置XXX.DLL文件为COM自注册:分别设置XXX.DLL的“Register”属性为“vsdrfCOMSelfReg”。  
  • 3.在main函数加载时注册,代码如下:

    [STAThread]
            [DllImport("XXX.dll", EntryPoint = "DllRegisterServer")]
            public static extern int asdgsdf();//注册时用
            [DllImport("XXX.dll", EntryPoint = "DllUnregisterServer")]
            public static extern int DllUnregisterServer();//取消注册时用
            static void Main()
            {
                asdgsdf();//进行注册
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }//注意:需添加引用using System.Runtime.InteropServices;

    4.如果各位仁兄,有更好的方法,或者有其他的方法,烦请告知一下哈,谢过!

    作者:lcawen 发表于2013-1-8 17:16:28 原文链接
    阅读:38 评论:0 查看评论

        
    [2]python的排列组合
        来源: 互联网  发布时间: 2013-11-10

    python 2.6 引入了itertools模块,使得排列组合的实现非常简单:

    import itertools

    排列:e.g., 4个数内选2个排列

    >>> print list(itertools.permutations([1,2,3,4],2))
    [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]

    组合:e.g.,4个数内选2个

    >>> print list(itertools.combinations([1,2,3,4],2))
    [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
    


    作者:flying881114 发表于2013-1-8 17:12:58 原文链接
    阅读:40 评论:0 查看评论

        
    [3]解析JSON格式数据
        来源:    发布时间: 2013-11-10
    //JSON数据格式
    {"status":200,"info":"ok","data":{"list":[{"article_id":"131","article_title":"","article_link":"","article_content":"\u6ca1\u4e8b\u522b\u9017\u6211\uff0c\u611a\u8822\u7684\u4eba\u7c7b~","article_pic":"\/2013\/01\/06\/d16882103625e1f7385ab5f07c1cd4b8_img.gif","pic_width":"200","pic_height":"129","collection_count":"0","publish_time":"1357422565","article_pic_url":"http:\/\/www.imakeapp.com\/public\/cms_pic\/2013\/01\/06\/d16882103625e1f7385ab5f07c1cd4b8_img.gif","format_pic_url":""},{"article_id":"130","article_title":"","article_link":"","article_content":"\u7761\u4e5f\u8981\u7761\u5f97\u6709\u59ff\u6001","article_pic":"\/2013\/01\/06\/52a4fbdb0695669ffc5230aeff3ef5eb_img.jpg","pic_width":"440","pic_height":"291","collection_count":"0","publish_time":"1357422520","article_pic_url":"http:\/\/www.imakeapp.com\/public\/cms_pic\/2013\/01\/06\/52a4fbdb0695669ffc5230aeff3ef5eb_img.jpg","format_pic_url":""},{"article_id":"129","article_title":"","article_link":"","article_content":"\u54a6\uff0c\u600e\u4e48\u6ca1\u53cd\u6620\uff0c\u600e\u4e48...\u600e\u4e48...\u770b\u4f60\u59b9\u554a\uff01","article_pic":"\/2013\/01\/06\/c444aaf97b2fa70f72cca564dc1a7e3b_img.gif","pic_width":"200","pic_height":"200","collection_count":"0","publish_time":"1357422475","article_pic_url":"http:\/\/www.imakeapp.com\/public\/cms_pic\/2013\/01\/06\/c444aaf97b2fa70f72cca564dc1a7e3b_img.gif","format_pic_url":""},{"article_id":"128","article_title":"","article_link":"","article_content":"\u6562\u8bf4\u6211\u5305\u5b50\u8138\uff0c\u6709\u79cd\u518d\u8bf4\u4e00\u6b21\uff0c\u4f60\u518d\u4e00\u6b21\u8bd5\u8bd5\uff0c\u6700\u540e\u4e00\u6b21\u8b66\u544a\u4f60\uff0c\u597d\u5427\uff0c\u6211\u5148\u7761\u4e86","article_pic":"\/2013\/01\/06\/362761d4cf1d30a510adc36b46a55886_img.jpg","pic_width":"440","pic_height":"331","collection_count":"0","publish_time":"1357422406","article_pic_url":"http:\/\/www.imakeapp.com\/public\/cms_pic\/2013\/01\/06\/362761d4cf1d30a510adc36b46a55886_img.jpg","format_pic_url":""},{"article_id":"127","article_title":"","article_link":"","article_content":"\u5176\u5b9e\u6211\u8fd8\u662f\u7792\u7aef\u5e84\u7684\uff0c\u4e0d\u8fc7\u53ea\u8981\u55b5\u7f50\u5934\u4e00\u51fa\u73b0\u6211\u5c31...","article_pic":"\/2013\/01\/06\/e1c1d24569638fffa0377e8d93e91458_img.jpg","pic_width":"439","pic_height":"1117","collection_count":"0","publish_time":"1357422332","article_pic_url":"http:\/\/www.imakeapp.com\/public\/cms_pic\/2013\/01\/06\/e1c1d24569638fffa0377e8d93e91458_img.jpg","format_pic_url":""}],"total_rows":47}}

    //定义实体类
    package cn.example.domain;

    import java.util.List;

    public class ListMode {

    private int status;
    private String info;
    private List<ItemMode> itemModes;
    private int totalRows;

    public int getStatus() {
    return status;
    }
    public void setStatus(int status) {
    this.status = status;
    }
    public String getInfo() {
    return info;
    }
    public void setInfo(String info) {
    this.info = info;
    }
    public List<ItemMode> getItemModes() {
    return itemModes;
    }
    public void setItemModes(List<ItemMode> itemModes) {
    this.itemModes = itemModes;
    }
    public int getTotalRows() {
    return totalRows;
    }
    public void setTotalRows(int totalRows) {
    this.totalRows = totalRows;
    }
    }


    package cn.example.domain;

    public class ItemMode {

    private int articleId;
    private String articleTitle;
    private String articleLink;
    private String articleContent;
    private String articlePic;
    private String picWidth;
    private String picHeight;
    private String collectionCount;
    private String publishTime;
    private String articlePicUrl;

    public int getArticleId() {
    return articleId;
    }
    public void setArticleId(int articleId) {
    this.articleId = articleId;
    }
    public String getArticleTitle() {
    return articleTitle;
    }
    public void setArticleTitle(String articleTitle) {
    this.articleTitle = articleTitle;
    }
    public String getArticleLink() {
    return articleLink;
    }
    public void setArticleLink(String articleLink) {
    this.articleLink = articleLink;
    }
    public String getArticleContent() {
    return articleContent;
    }
    public void setArticleContent(String articleContent) {
    this.articleContent = articleContent;
    }
    public String getArticlePic() {
    return articlePic;
    }
    public void setArticlePic(String articlePic) {
    this.articlePic = articlePic;
    }
    public String getPicWidth() {
    return picWidth;
    }
    public void setPicWidth(String picWidth) {
    this.picWidth = picWidth;
    }
    public String getPicHeight() {
    return picHeight;
    }
    public void setPicHeight(String picHeight) {
    this.picHeight = picHeight;
    }
    public String getCollectionCount() {
    return collectionCount;
    }
    public void setCollectionCount(String collectionCount) {
    this.collectionCount = collectionCount;
    }
    public String getPublishTime() {
    return publishTime;
    }
    public void setPublishTime(String publishTime) {
    this.publishTime = publishTime;
    }
    public String getArticlePicUrl() {
    return articlePicUrl;
    }
    public void setArticlePicUrl(/blog_article/String articlePicUrl/index.html) {
    this.articlePicUrl = articlePicUrl;
    }
    }


    //解析json类

    package cn.example.httpjson;

    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    import org.json.JSONArray;
    import org.json.JSONObject;
    import cn.example.domain.ItemMode;
    import cn.example.domain.ListMode;

    public class HttpJson {

    public static ListMode getNetData(String pathUrl){
    try {
    URL url = new URL(/blog_article/pathUrl/index.html);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setReadTimeout(5 * 1000);
    conn.setRequestMethod("GET");
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.connect();
    int code = conn.getResponseCode();
    if (code == 200) {
    ListMode listMode = new ListMode();
    InputStream inputStream = conn.getInputStream();
    if (inputStream != null) {
    StringBuffer buffer = new StringBuffer();
    byte data1[] = new byte[1024];
    int len = 0;
    while((len = inputStream.read(data1, 0, data1.length)) > 0){
    buffer.append(new String(data1, 0, len));
    }

    String json = buffer.toString();
    System.out.println("json === " + json);
    if (json != null) {
    JSONObject jsonObject = new JSONObject(json);
    if (jsonObject != null) {
    int status = jsonObject.getInt("status");
    listMode.setStatus(status);
    String info = jsonObject.getString("info");
    listMode.setInfo(info);
    JSONObject data = jsonObject.getJSONObject("data");
    if (data != null) {
    int total_rows = data.getInt("total_rows");
    listMode.setTotalRows(total_rows);
    JSONArray jsonArray = data.getJSONArray("list");
    if (jsonArray != null) {

    List<ItemMode> itemModes = new ArrayList<ItemMode>();

    for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject2 = jsonArray.getJSONObject(i);
    if (jsonObject2 != null) {
    ItemMode itemMode = new ItemMode();

    int article_id = jsonObject2.getInt("article_id");
    String article_title = jsonObject2.getString("article_title");
    String article_link = jsonObject2.getString("article_link");
    String article_content = jsonObject2.getString("article_content");
    String article_pic = jsonObject2.getString("article_pic");
    String pic_width = jsonObject2.getString("pic_width");
    String pic_height = jsonObject2.getString("pic_height");
    String collection_count = jsonObject2.getString("collection_count");
    String publish_time = jsonObject2.getString("publish_time");
    String article_pic_url = jsonObject2.getString("article_pic_url");

    itemMode.setArticleId(article_id);
    itemMode.setArticleTitle(article_title);
    itemMode.setArticleLink(article_link);
    itemMode.setArticleContent(article_content);
    itemMode.setArticlePic(article_pic);
    itemMode.setPicWidth(pic_width);
    itemMode.setPicHeight(pic_height);
    itemMode.setCollectionCount(collection_count);
    itemMode.setPublishTime(publish_time);
    itemMode.setArticlePicUrl(/blog_article/article_pic_url/index.html);

    itemModes.add(itemMode);
    }
    }
    listMode.setItemModes(itemModes);
    }
    }
    return listMode;
    }
    }
    }
    }else{
    System.out.println("连接失败或没网络");
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    }


    //主程序类
    package c
        
    最新技术文章:
    ▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
    ▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
    c/c++ iis7站长之家
    ▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
    ▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
    ▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
    ▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
    ▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
    ▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
    ▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
    ▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
    ▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
    ▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
    ▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
    ▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
    ▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
    ▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
    ▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
    ▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
    ▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
    ▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
    ▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
    ▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
    ▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
    ▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
    ▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
    ▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
    ▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
    ▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
    ▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3