近期遇到一个纠结的问题:在运行winform时,由于使用了一个他人开发的dll动态链接库,而这个库是必须要在本地电脑注册以后才可以使用,当然,我的电脑是注册了的,而开发的程序使用者电脑……于是……
先提供三种方法:
1,新建一个txt文件,输入如下;
Regsvr32 XXX.dll
Regsvr32 XXXdll
然后保存为“注册控件.bat”,这种方法必须要确保你所注册的dll文件与“注册控件.bat”在同一个文件夹下
2.VS自带
VS.NET 本身就可以制作安装程序的同时自注册COM控件,也非常易用,也非常方便。 用 VS.NET 制作安装程序过程如下:
[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.如果各位仁兄,有更好的方法,或者有其他的方法,烦请告知一下哈,谢过!
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)]
{"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