刚下载一个验证码的类,帮忙看下怎么用

Leixian 2014-02-21 10:11:26
研究了半天,不知道怎么在网页上显示~~~
这个 Generate 方法返回的 Image类型怎么可以输出为图片?

using System;
using System.Drawing;

public static class Captcha {
private static double[] addVector (double[] a, double[] b) {
return new double[] { a[0] + b[0], a[1] + b[1], a[2] + b[2] };
}

private static double[] scalarProduct (double[] vector, double scalar) {
return new double[] { vector[0] * scalar, vector[1] * scalar, vector[2] * scalar };
}

private static double dotProduct (double[] a, double[] b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
}

private static double norm (double[] vector) {
return Math.Sqrt(dotProduct(vector, vector));
}

private static double[] normalize (double[] vector) {
return scalarProduct(vector, 1.0 / norm(vector));
}

private static double[] crossProduct (double[] a, double[] b) {
return new double[]
{
(a[1] * b[2] - a[2] * b[1]),
(a[2] * b[0] - a[0] * b[2]),
(a[0] * b[1] - a[1] * b[0])
};
}

private static double[] vectorProductIndexed (double[] v, double[] m, int i) {
return new double[]
{
v[i + 0] * m[0] + v[i + 1] * m[4] + v[i + 2] * m[8] + v[i + 3] * m[12],
v[i + 0] * m[1] + v[i + 1] * m[5] + v[i + 2] * m[9] + v[i + 3] * m[13],
v[i + 0] * m[2] + v[i + 1] * m[6] + v[i + 2] * m[10]+ v[i + 3] * m[14],
v[i + 0] * m[3] + v[i + 1] * m[7] + v[i + 2] * m[11]+ v[i + 3] * m[15]
};
}

private static double[] vectorProduct (double[] v, double[] m) {
return vectorProductIndexed(v, m, 0);
}

private static double[] matrixProduct (double[] a, double[] b) {
double[] o1 = vectorProductIndexed(a, b, 0);
double[] o2 = vectorProductIndexed(a, b, 4);
double[] o3 = vectorProductIndexed(a, b, 8);
double[] o4 = vectorProductIndexed(a, b, 12);

return new double[]
{
o1[0], o1[1], o1[2], o1[3],
o2[0], o2[1], o2[2], o2[3],
o3[0], o3[1], o3[2], o3[3],
o4[0], o4[1], o4[2], o4[3]
};
}

private static double[] cameraTransform (double[] C, double[] A) {
double[] w = normalize(addVector(C, scalarProduct(A, -1)));
double[] y = new double[] { 0, 1, 0 };
double[] u = normalize(crossProduct(y, w));
double[] v = crossProduct(w, u);
double[] t = scalarProduct(C, -1);

return new double[]
{
u[0], v[0], w[0], 0,
u[1], v[1], w[1], 0,
u[2], v[2], w[2], 0,
dotProduct(u, t), dotProduct(v, t), dotProduct(w, t), 1
};
}

private static double[] viewingTransform (double fov, double n, double f) {
fov *= (Math.PI / 180);
double cot = 1.0 / Math.Tan(fov / 2);
return new double[] { cot, 0, 0, 0, 0, cot, 0, 0, 0, 0, (f + n) / (f - n), -1, 0, 0, 2 * f * n / (f - n), 0 };
}

public static Image Generate (string captchaText) {
int fontsize = 24;
Font font = new Font("Arial", fontsize);

SizeF sizeF;
using (Graphics g = Graphics.FromImage(new Bitmap(1, 1))) {
sizeF = g.MeasureString(captchaText, font, 0, StringFormat.GenericDefault);
}

int image2d_x = (int)sizeF.Width;
int image2d_y = (int)(fontsize * 1.3);

Bitmap image2d = new Bitmap(image2d_x, image2d_y);
Color black = Color.Black;
Color white = Color.White;

using (Graphics g = Graphics.FromImage(image2d)) {
g.Clear(black);
g.DrawString(captchaText, font, Brushes.White, 0, 0);
}

Random rnd = new Random();
double[] T = cameraTransform(new double[] { rnd.Next(-90, 90), -200, rnd.Next(150, 250) }, new double[] { 0, 0, 0 });
T = matrixProduct(T, viewingTransform(60, 300, 3000));

double[][] coord = new double[image2d_x * image2d_y][];

int count = 0;
for (int y = 0; y < image2d_y; y += 2) {
for (int x = 0; x < image2d_x; x++) {
int xc = x - image2d_x / 2;
int zc = y - image2d_y / 2;
double yc = -(double)(image2d.GetPixel(x, y).ToArgb() & 0xff) / 256 * 4;
double[] xyz = new double[] { xc, yc, zc, 1 };
xyz = vectorProduct(xyz, T);
coord[count] = xyz;
count++;
}
}

int image3d_x = 256;
int image3d_y = image3d_x * 9 / 16;
Bitmap image3d = new Bitmap(image3d_x, image3d_y);
Color fgcolor = Color.White;
Color bgcolor = Color.Black;
using (Graphics g = Graphics.FromImage(image3d)) {
g.Clear(bgcolor);
count = 0;
double scale = 1.75 - (double)image2d_x / 400;
for (int y = 0; y < image2d_y; y += 2) {
for (int x = 0; x < image2d_x; x++) {
if (x > 0) {
double x0 = coord[count - 1][0] * scale + image3d_x / 2;
double y0 = coord[count - 1][1] * scale + image3d_y / 2;
double x1 = coord[count][0] * scale + image3d_x / 2;
double y1 = coord[count][1] * scale + image3d_y / 2;
g.DrawLine(new Pen(fgcolor), (float)x0, (float)y0, (float)x1, (float)y1);
}
count++;
}
}
}
return image3d;
}
}
...全文
217 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leixian 2014-02-21
  • 打赏
  • 举报
回复
引用 16 楼 liuchaolin 的回复:
Image image = Captcha.Generate("12345"); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ClearContent();//Response.ClearContent(); Response.ContentType = "image/Png"; Response.BinaryWrite(ms.ToArray()); image.Dispose(); Response.End(); 是这样?
我这里用的就是Png~~~ 行了~~哈哈,我一直在刷新,刷新显示的是乱码,关闭再打开就OK了! 谢谢!!结贴!
md5e 2014-02-21
  • 打赏
  • 举报
回复
Image image = Captcha.Generate("12345"); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ClearContent();//Response.ClearContent(); Response.ContentType = "image/Png"; Response.BinaryWrite(ms.ToArray()); image.Dispose(); Response.End(); 是这样?
Leixian 2014-02-21
  • 打赏
  • 举报
回复
引用 13 楼 liuchaolin 的回复:
就看你是在哪里用的, 如果aspx里面是空的,是没有问题的,如果存在其它内容和标签,他就当是字符串处理
嗯,是空的,现在如果在img标签中调用这个文件显示的是图片,可如果直接打开这个这个文件显示的则是乱码 Response.End 强制结束了也不行
md5e 2014-02-21
  • 打赏
  • 举报
回复
所以要用Response.End();强制结束,或者用.ashx来做处理
md5e 2014-02-21
  • 打赏
  • 举报
回复
就看你是在哪里用的, 如果aspx里面是空的,是没有问题的,如果存在其它内容和标签,他就当是字符串处理
Leixian 2014-02-21
  • 打赏
  • 举报
回复
好了~!~ 可是如果直接访问这个页面的时候输出的不是图片而是文字乱码是怎么回事?? 只有在图片地址中调用这个文件才是图片。
md5e 2014-02-21
  • 打赏
  • 举报
回复
Response.Clear(); ..... Response.End();
Leixian 2014-02-21
  • 打赏
  • 举报
回复
引用 8 楼 starfd 的回复:
Response.ClearContent(); Response.ContentType = "image/Jpeg"; Response.BinaryWrite(ms.ToArray()); 主要就这几句就可以了啊
你看我这么用对不对~~
		Image image = Captcha.Generate("12345");
		System.IO.MemoryStream ms = new System.IO.MemoryStream();
		image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
		Response.ClearContent();//Response.ClearContent();
		Response.ContentType = "image/Jpeg";
		Response.BinaryWrite(ms.ToArray());
		image.Dispose(); 
Leixian 2014-02-21
  • 打赏
  • 举报
回复
引用 5 楼 liuchaolin 的回复:
System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ClearContent();//Response.ClearContent(); Response.ContentType = "image/Jpeg"; Response.BinaryWrite(ms.ToArray()); g.Dispose(); image.Dispose();
刚没看到发的这个,我用这个试了一下,输出的全是乱码啊~~
  • 打赏
  • 举报
回复
Response.ClearContent(); Response.ContentType = "image/Jpeg"; Response.BinaryWrite(ms.ToArray()); 主要就这几句就可以了啊
jiaoshiyao 2014-02-21
  • 打赏
  • 举报
回复
他说的是一般处理程序吧。。。。。。。。。。
Leixian 2014-02-21
  • 打赏
  • 举报
回复
你这个直接调用肯定不行啊~~
md5e 2014-02-21
  • 打赏
  • 举报
回复
System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); Response.ClearContent();//Response.ClearContent(); Response.ContentType = "image/Jpeg"; Response.BinaryWrite(ms.ToArray()); g.Dispose(); image.Dispose();
Leixian 2014-02-21
  • 打赏
  • 举报
回复
引用 3 楼 liuchaolin 的回复:
看你是哪方面使用了,winForm还是webForm Captcha.Generate()
在网页上显示,当然是WebForm了~~~
md5e 2014-02-21
  • 打赏
  • 举报
回复
看你是哪方面使用了,winForm还是webForm Captcha.Generate()
慧眼识狗熊 2014-02-21
  • 打赏
  • 举报
回复
纯酱油..
Leixian 2014-02-21
  • 打赏
  • 举报
回复
用 Response.BinaryWrite 不行吖~~~ 各位大神指点一下
关于urp的数据接入:该版本实现了课程表,成绩单以及选课系统,以下是相较于网页端而言,该神器更加优秀的地方: 1、随时随地使用android移动端的无线4G或者wifi高速选课、退课等(宿舍渣网速永远没有移动端快); 2、实现了素选分显示,比起urp官网的无数素选冗杂到一个页面优秀了很多,你可以分查看素选别来选课; 3、可以在展示的页面数据中直接搜索自己喜欢的课程名或者老师名字来进行选课(虽然搜索范围和网页端的ctrl+F搜索一样,只是一个页面的数据,但可以直接显示搜索结果,相较于ctrl+f效率高了很多); 4、成绩显示除了基础的urp上面的各种显示,也可以直接帮你算出加权绩点和加权分数,从此不需要算加权分数的时候手动计算; 实际上,该神器的选课部分只是“更多”功能中的一个小模块。除了urp系统模块之外。该神器主要的部分还包括校园信息发布(可选择发布型)+IM(即时通信)+其他用户查找和查看详情+自我信息管理+关注其他用户+收藏发布信息等等。其中的信息发布比较完善,实现了发布+评论+赞+回复评论+各种消息提醒等功能。 IM中由于时间有限,暂未开放好友系统,目前支持任意用户间的私聊(文字+图片+表情(语音、百度Map定位等后期会开放))。 这是学长第一次这么用心做东西,因为毕设还是要好好弄的,希望大家帮忙下载一下,然后注册进去,帮忙发布一些信息,什么都行,因为现在里面没有什么用户量,需要一些用户量才能看起来像一个真正的app,然后也可以互相私聊一下,或者加关注,加收藏等,还有多完善自我资料等等。以帮助学长顺利毕业。 最后,谢谢学弟学妹,如果注册用户多,学长后期还会继续完善,发布新的版本,您们想要的选课功能也会继续优化,之后如果有用户,学长考虑会弄批量选课+urp选课系统后台数据库全局搜索(包括搜索选课系统各种信息来直接搜索出您想要的课程信息,以方便选课)等更强大好用的功能。。。。谢谢大家。 最后罗嗦一句,批量选课功能本来这个版本想要做的,但是考虑到现在已过了选课热潮,同时学长水平有限,还没办法自动识别出后台那种很逆天的验证码,所以如果有用户使用,请期待后面的版本可能会出这个功能,相信之后的选课查成绩等一定可以帮助到大家的。 首先先提示大家,由于该版本没有经过很多手机测试,可能在部分手机上面会崩溃,如果有请大家也不要太过于失望,同时帮忙下载注册并且在菜单中选择反馈,来帮助学长一起完善、<br><br><br>关于urp的数据接入:该版本实现了课程表,成绩单以及选课系统,以下是相较于网页端而言,该神器更加优秀的地方:<br>1、随时随地使用android移动端的无线4G或者wifi高速选课、退课等(宿舍渣网速永远没有移动端快);<br>2、实现了素选分显示,比起urp官网的无数素选冗杂到一个页面优秀了很多,你可以分查看素选别来选课;<br>3、可以在展示的页面数据中直接搜索自己喜欢的课程名或者老师名字来进行选课(虽然搜索范围和网页端的ctrl+F搜索一样,只是一个页面的数据,但可以直接显示搜索结果,相较于ctrl+f效率高了很多);<br>4、成绩显示除了基础的urp上面的各种显示,也可以直接帮你算出加权绩点和加权分数,从此不需要算加权分数的时候手动计算;<br>实际上,该神器的选课部分只是“更多”功能中的一个小模块。除了urp系统模块之外。该神器主要的部分还包括校园信息发布(可选择发布型)+IM(即时通信)+其他用户查找和查看详情+自我信息管理+关注其他用户+收藏发布信息等等。其中的信息发布比较完善,实现了发布+评论+赞+回复评论+各种消息提醒等功能。<br>IM中由于时间有限,暂未开放好友系统,目前支持任意用户间的私聊(文字+图片+表情(语音、百度Map定位等后期会开放))。<br><br><br><br>这是学长第一次这么用心做东西,因为毕设还是要好好弄的,希望大家帮忙下载一下,然后注册进去,帮忙发布一些信息,什么都行,因为现在里面没有什么用户量,需要一些用户量才能看起来像一个真正的app,然后也可以互相私聊一下,或者加关注,加收藏等,还有多完善自我资料等等。以帮助学长顺利毕业。<br><br><br>最后,谢谢学弟学妹,如果注册用户多,学长后期还会继续完善,发布新的版本,您们想要的选课功能也会继续优化,之后如果有用户,学长考虑会弄批量选课+urp选课系统后台数据库全局搜索(包括搜索选课系统各种信息来直接搜索出您想要的课程信息,以方便选课)等更强大好用的功能。。。。谢谢大家。<br>最后罗嗦一句,批量选课功能本来这个版本想要做的,但是考虑到现在已过了选课热潮,同时学长水平有限,还没办法自动识别出后台那种很逆天的验证码,所以如果有用户使用,请期待后面的版本可能会出这个功能,相信之后的选课查成绩等一定可以帮助到大家的。 最后也要提示大家,由于该版本没有经过很多手机测试,可能在部分手机上面会崩溃,如果有请大家也不要太过于失望,同时帮忙下载注册并且在菜单中选择反馈,来帮助学长一起完善、
关于精易模块由来:   最初开始成立精易论坛时,并没有精易模块的,是自己在平常编写程序时,自己封装成一个模块, 方便自己调用,后应会员的要求,才正式以 精易论坛的前2个字,做为开头,发布了精易模块, 一直更新至今。同时,也在精易模块中加入了一些前辈开源的源码,封装到精易模块中,只是方便使用 精易模块的会员调用。   从精易模块发布至今,大约发布了20余个版本,模块中部分代码引用于前辈的,版权仍旧属于原作者, 本次开源,并不意味着精易模块不再更新,而是意味着精易模块会更好的更新。在往后的版本中, 精易模块会一直以开源的形式存在。我们会吸收对模块命令提出改善的会员的建议,修复并继续开源发布, 如果你有更好的改善建议,请到http://bbs.125.la/forum-195-1.html进行反馈 更新日志: 精易模块 V3.60 what’s new:(20140114) 1.完善“IP_转至16进制”“IP_16进制转IP”的备注 感谢 瞎胡闹 的提醒 2.修复“系统_格式化软盘”没有返回值的问题 感谢 阿蒙 的提醒 1.重写“线程_启动多参”并改名为“线程_启动多参_整数型” 修改详情请查看新命令 2.重写“线程_启动四参”并改名为“线程_启动多参_文本型” 修改详情请查看新命令 精易模块 V3.59 what’s new:(20140107) 1.删除“系统_启用本地连接”中的垃圾代码,提升速度,感谢 阿蒙 的提醒 2.删除“程序_禁止重复运行_浏览器”,一个不知道何时添加的未公开子程序(可能代码也有问题) 1.完善“程序_加入右键菜单”,增加可空参数 <显示名称>感谢 阿蒙 的提醒 2.完善“线程_取自线程句柄”,采用百度百科的说明作为备注 1.修复“线程_取自线程ID”,采用百度百科的说明作为备注 2.修复“编码_usc2到ansi”“编码_ansi到usc2” 暂时使用EX版代替原来的代码 感谢 478755018 的提醒 3.修复“网页_置Cookie1” 感谢 阿蒙 的提醒 精易模块 V3.58 what’s new:(20140101) 1.公开“进程_ID取模块”1个内部子程序 1.删除“进程_ID取模块文件名” ,因为该命令效率低下,还和“进程_ID取进程名”一样的效果 进程_ID取模块文件名 先枚举模块得到信息数组,再计次循环 当条件=PID 就返回模块文件名,实际上枚 举到的模块信息数组所有的PID都一样,得到的也就是第一次循环结果,也就是进程名 2.删除“进程_ID取模块路径“,删除理由和上述一样 1.修复“剪辑板_取文件”的状态错误BUG 感谢 网络注册会员 的提醒,感谢 农夫 的代码 精易模块 V3.57 what’s new:(20131230) 1.删除 "窗口_取位置和大小" 的错误备注部分,感谢 美丽兔兔 的提醒 2.删除“窗口_消毁” 这个重复命令,该命令和“窗口_关闭”是一样的 感谢 改名卡 的提醒 3.删除“网页_取文本” 增加2个速度更快的命令“网页_取文本_reg”和“网页_取文本_dom” 4.删除“内存_优化” 在程序最小化和后台时系统会自动调用该函数来节省内存 个人使用,容易出现各种各样的问题,详情:http://bbs.125.la/thread-13690978-1-1.html 感谢 红河 的提醒 ,感谢 落雪 的详细分析文章 ↑ 1.新增“网页_取文本_reg” 正则方式取文本 感谢 H婶 提供参考代码 2.新增“网页_取文本_dom” DOM方式取文本 感谢 微凉 提供参考代码 3.新增“网页_置浏览器UA” 设置当前程序中浏览器的UserAgent 感谢 阿蒙 提供代码 1.完善 “进制_十到二” 取消长度不足8位自动会补零,请根据需要补零 感谢 小爬虫 的提醒 2.完善 _ODBC数据库,“读文本”参数二的备注,改为 索引从0开始 感谢 阿蒙 的提醒 3.完善 _ODBC数据库 ,“连接Access”增加参数 <参数_Accdb> 感谢 阿蒙 的代码 精易模块 V3.56 what’s new:(20131224) 1.删除 “_json”的命令 “取成员”,使用该命令会导致软件挂掉,原因未知 解决方案,直接取通用属性,无需二次解析,速度更快 原:json.取成员 (0).取通用属性 (“Id”) 新:json.取通用属性 (“[0].Id”) 2.完善“网页_取域名” 将原来的3.50的和3.51重写的加强版合并 3.修复“系统_取宽带线路 ()”因为新版“网页_取域名”带来的bug 感谢 4.重写“系统_修改IP地址和网关和子网掩码” 感谢 落雪 提供参考代码 5.增加“系统_修改DNS” 感谢 落雪 提供参考代码 精易模块 V3.55 what’s new:(20131223) 1.完善 “系统_显示关闭对话框”改名为 ““系统_显示关机对话框” 增加可空参数 修复 WIN7下堆栈错误,感谢 小爬虫 的提醒 注:内部DLL "_关机对话框"改名“_关机对话框_XP” ,新增内部DLL "_关机对话框_WIN" 2.修复“音乐_停止”“音乐_暂停”返回值问题 感谢 小爬虫 的提醒 3.修复“文本_取出中间文本”参数 是否不区分大小写 得到相反结果的问题 4.修复“系统_取宽带线路”命令 感谢 secondkill 的提醒 5.增加"音量_""音乐_"开头的命令参数和备注 感谢 小爬虫 的提醒 6.删除 DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型” 7.删除 "A2W"“音量_设置”“音量_获取”“音量_增减”等命令 因为原命令调用特定的dll,只对win7以上系统有效,并会附加一个特殊功能支持支持库 8.重写“音量_静音” 增加“音量_增加”“音量_减少”,对声卡操作,XP,WIN系列均有效 精易模块 V3.54 what’s new:(20131221) 1.修复“系统_取宽带用户名密码”因调用 RtlMoveMemory_整数型 传址导致取到空的问题 1.增加“系统_取磁盘型” 2.增加DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型” 3.增加“音量_设置”“音量_获取”“音量_静音”“音量_增减”“A2W” 感谢 灰灰君 提供参考代码 1.修正 “系统_置音量”为"音量_置声道",修改“系统_取音量”为"音量_取声道" 1.完善“文件_改扩展名”的参数备注 感谢 落雪 的提醒 精易模块 V3.53 what’s new:(20131220) 1.完善 “编码_URL编码”对 参数 欲编码的文本 是否为空进行判断 2.完善 “普通填表.网页_验证码同步”的备注,删除残留的测试代码 3.完善 “网页_禁止允许gif图片”“网页_禁止允许显示图片” “网页_禁止允许背景声音”“网页_禁止允许点击声音” “网页_禁止允许播放网页视频”“网页_禁止允许一键操作” 的备注信息 1.增加网页_禁止允许一键操作() 参数 <禁止允许播放网页视频> 2.增加 DLL "RtlMoveMemory_整数型2",目前应用于 _位图操作 的 “从屏幕创建” 1.删除 “网页_验证码读取” 该命令是封装的 网页_访问_对象,所以 请直接使用“网页_访问”或“网页_访问_对象”读取验证码,根据需要进行“图片_转换” 2.删除“网页_验证码同步” 该命令是用于填表同步验证码的,所以 请直接使用“普通填表.网页_验证码同步”,使用前请确保已经“普通填表.初始化” 1.修复 _识图 的“找图_从句柄” 感谢会员 今朝 的提醒 和 果子 提供解决方案 精易模块 V3.52 what’s new:(20131217) 1.修复 “普通填表.多行文本框_写内容”感谢会员 wjlzhi 的提醒和提供解决方案 2.修复 “网页_取元素坐标”导致普通填表无法使用,感谢会员 残绵游戏 的提醒 3.修复“程序_重启”win8无效的问题 感谢会员 千年 的提醒和提供解决方案 1.完善“系统_以管理员模式创建进程”的备注 感谢会员 977945676 的提醒 2.完善“线程池1”,投递任务支持多个参数 感谢会员 小磊 进行代码优化 3.完善“文本_汇编_取随机数字” 还原为 “文本_取随机数字” 该命令并没有被取消掉,只是被改名了,因此,对于前维护者改名所造成的不便进行道歉 1.重写“线程_启动四参”命令的参数型和位置 感谢会员 小磊 进行代码优化 2.重写“数组_排序”,速度提升256倍以上! 感谢会员 落雪 提供的参考代码 3.增加 DLL "lstrcmp" 目前应用于数组_排序 4.增加“数组_反转”,感谢会员 落雪 提供的参考代码 精易模块 V3.51 what’s new:(20131214) 1.增加“网页_访问_EX”增加超时功能,和修复win7下https代理无效问题 感谢 90后辉煌 提供参考代码,让我们期待已久的超时功能回归,也请大家帮忙测试 【网页_访问_EX 为测试版本,完善后,将会删除该命令,功能会添加到 网页_访问()】 2.增加 线程池1“取状态” 感谢 我叫林舒书 提供参考代码 3.增加 普通填表“网页_刷新”刷新当前页面 感谢 laiyihan 的建议 4.增加 “网页_取文本”去掉网页源码中的HTML标签,保留纯文本 1.删除 普通填表“网页判断” 精简模块体积(这是一个没有用的空白子程序) 1.重写 “窗口_圆角化” ,参数一型由窗口改为句柄,参数二和三可空 感谢 果子的提醒 2.重写“网页_取元素坐标”原命令虽然公开但无效,因为屏蔽了全部代码(代码本身残缺) 故本次属于重写代码,接收参数,改为一个,元素对象,代码简洁,需要更多功能请组合其他命令 3.重写“网页_取域名”增加可空参数<后缀点数量> 新版命令支持任何后缀域名 感谢 977945676 的提醒 1.完善 “网页_访问”和“ 网页_访问_对象”的参数<附加协议头>的备注 感谢 90后辉煌 的提醒 2.完善"系统_启用本地连接"备注 感谢 7141330054 的建议 3.完善“网页_访问” 删除设置代理时,无用的到文本,提高效率 感谢 果子 的提醒 4.完善“文本_取出中间文本”的参数<起始搜寻位置>的备注 感谢 落雪 的提醒 5.完善 DLL“_宽字符到双字节”和“_宽字符到双字节1”的备注 方便区分 1.修复“编码_Unicode到Utf8”,感谢 90后辉煌 的提醒 2.修复“系统_取宽带用户名密码”因 编码_Unicode到Utf8 有问题导致的问题 感谢 wjjucwj 的提醒 注:ADSL拨号的<取宽带用户名密码>也是调用这个命令 代码个人审阅完成,发现代码和3.40版一样,对于3.40能取出,新版无法取出 如果不是上述已被修复的bug导致的,暂时无法解释。。。 因为该命令调用很多的子程序,涉及代码太多,维护时间耗时2天多,也因此拖慢了3.51的发布 故决定,先发布3.51版本,本命令可能隐藏的BUG,我们继续研究,看能否找出真正的问题所在 精易模块 V3.50 what’s new:(20131211) 1.修正 DLL "WideCharToMultiByte"最后一个参数为逻辑型 2.新增 DLL "StrToIntEx" 目前应用于usc2和ansi互转 EX加强版 3.新增 “编码_usc2到ansi_EX”“编码_ansi到usc2_EX” usc2和ansi互转 EX加强版 精易模块 V3.49 what’s new:(20131209) 1.删除 “网页_访问s ” 解决方案和删除原因:http://bbs.125.la/thread-13687724-1-1.html 2.完善 “网页_取外网IP” 网页_访问s 为 网页_访问 效率提升 3.增加“系统_屏蔽任务管理器1”“系统_恢复任务管理器1”的备注提示信息 4.增加 “时间_取现行时间戳” 一个可选参数,是否为 十位时间戳 感谢 H婶 的提醒 5.修复 “时间_转为GMT格式” 日期缩写错误 感谢 H婶 的提醒 精易模块 V3.48 what’s new:(20131208) 1 重写 “系统_是否已联网1” 检测速度更快,感谢 阿蒙 的提醒 1、修复 模块内部命令 ,感谢 农夫 的提醒 2、改善 “RAR_解压文件” 备注 ,感谢 阿蒙 的提醒 3. 改善 “文本_是否为汉字”增加正则方式判断 感谢 7141330054 的提醒 精易模块 V3.47 what’s new:(20131207) 1、增加“系统_关联右键菜单带图标”命令 2、增加“_内存配置项”命令,感谢会员 微凉 提供的代码 3、增加“编码_U编码转换”命令 4、增加“音乐_播放”,“音乐_暂停”,“音乐_停止”命令 5、增加“文本_朗读”命令 1、改进“网页_验证码读取”添加“附加协议头”的参数,感谢会员 提百万 的建议 2、改进“系统_取MAC地址”命令,感谢会员 Mr.Yang 的源码 3、改进“ 网页_取Cookie”等命令的描述歧义,感谢会员 imdong 的提醒 1、修复“时间_取中国星期几”命令无效的BUG,感谢会员 易難為易 的建议 2、修复“目录_是否存在”,“目录_创建” 传入参数被参考,再次使用参数变量,引发路径错误 3、完善“目录_”“文件_”开头命令的参数描述,防止出现6中错误,数量众多,这里不一一列举 4、修复“易语言_取易语言安装目录” 感谢会员 7141330054 的提醒 精易模块 V3.46 what’s new:(20131101) 1、完善重写“文本_取出现次数”命令感谢会员 Mr.Yang 提供的代码 2、完善重写“系统_格式化软盘”命令感谢会员 Mr.Yang 提供的代码 3、完善“程序_删除自身”命令感谢会员 暂停使用 的提醒 4、完善“进程_ID取窗口句柄”命令感谢会员 维卷残恋 的提醒 5、完善“_json”命令感谢会员 jixun66 提供的代码 1、修复“目录_是否存在”无效的问题,感谢会员 红颜似水 的提醒 1、添加“线程池1”中的新“投递任务”命令,感谢会员 维卷残恋 提供的代码 精易模块 V3.45 what’s new:(20130901) 1、添加“系统_修改开机密码”命令,感谢会员 吾愛じ啃玉米ジ 提供的代码 2、添加“程序_写日志”命令 感谢会员 以后不抓了 的提醒 1、修复“网页_访问_对象”命令无效的BUG 2、修复API“ ZwQuerySystemInformation”的声明错误,感谢会员 天踏梦者 的提醒 3、修复“程序_加入右键菜单”的命名问题,感谢会员 阿蒙 的提醒 4、完善“窗口_取IE窗口句柄”命令备注,感谢会员 御风软件 的提醒 5、修复“系统_取CPU名称”、“系统_取CPU描述”发布版本崩溃的问题,感谢会员 淡淡烟草味 的提醒 6、修复“数组_输出”命令出错的问题,感谢会员 鬼璽 的提醒 精易模块 V3.44 what’s new:(20130802) 1、紧急修复“汇编_取随机数”命令所带来的一系列BUG 精易模块 V3.43 what’s new:(20130801) 1、增加“目录_强力清空”命令,完美清空大型目录 2、重写“目录_删除”命令,大幅度提高删除速度 3、“网页_访问_对象”命令,增加对象继承参数感谢会员 咏恒ぃ☆吣 的建议 4、增加“网页_修改”命令,感谢会员 晓易 提供的代码 5、增加“汇编_取随机数”命令 6、优化替换模块内部所有的“取随机数”命令为“汇编_取随机数” 7、“网页_访问_对象”命令,默认忽略Https证书错误感谢会员 tomorrow01 的建议 8、重写“文件_合并文件”命令 9、添加“_json” 1、修复“服务器”当启动时最后3个参数任意为空,会导致程序闪退的问题,感谢会员will的提醒 2、修复“文本_取右边”等一组,文本命令的参数描述错误,感谢会员 泪涟涟 的提醒 3、修复“置窗口位图”命令的一个参数错误,感谢会员will的提醒 精易模块 V3.42 what’s new:(20130601) 1、优化“网页_验证码同步”命令的备注,感谢会员御风软件提醒 1、修复“文本_取中间_批量”命令结果不正确的BUG,感谢会员淘宝网赚提供的命令 1、增加“进程_创建”命令 精易模块 V3.41 what’s new:(20130501) 1、优化“网页_验证码同步”命令,默认不自动转换格式,但保留转码参数 2、优化“批量_”开头命令的备注,感谢会员御风软件提醒 3、优化“文本_取随机范围数字”命令提高运行速度,感谢会员jixun66提供的代码 4、优化“校验_md5”相关命令添加16位的支持,感谢会员御风软件提醒 5、关闭“网页_访问”命令的自动转码功能 1、修复“剪辑版_置文件”和“剪辑版_取文件”命令,会导致程序崩溃的BUG 2、修复“转为十六进制”的函数错误,感谢会员狼牙提供的修正命令 3、修复“进程_名取句柄”无法取到句柄的BUG,感谢会员 奋斗的叶子 的提醒 精易模块 V3.4 what’s new:(20130401) 1、优化“网页_验证码同步”命令,自动转换图片格式,感谢会员御风软件提醒 2、优化去除重复命令“文本_取文本长度”,感谢会员御风软件提醒 3、优化“目录_是否存在”命令,返回结果更加精确,感谢会员雪落有声提供的命令 4、优化“文件_是否存在”命令,返回结果更加精确,感谢会员雪落有声提供的命令 5、优化“目录_定位”命令,写法更加简洁,感谢会员雪落有声提供的命令 6、优化网页事件常量的命名方式,统一为英文,,感谢会员御风软件建议 7、优化“系统_设置IE代理地址”命令添加是否立即更新设置参数 1、增加“系统_临时字体_安装”、卸载命令,感谢会员啸锐提供的命令 2、增加“文件_循环删除”命令 3、增加“窗口_循环关闭”命令 1、修复“文件_写出字节集”命令API模式无效的BUG,感谢会员5582139提供的命令 2、修复部分命令的备注问题 3、修复“字节集_到十六进制”无法解密的BUG,感谢会员linkasp的提醒 4、修复“进程_ID取窗口句柄”取出无效句柄的问题,感谢会员残绵游戏的提醒 精易模块 V3.33 what’s new:(20130301) 1、增加“网页_删除IE缓存文件”命令 2、增加“系统_判断有无摄像头”命令 1、修复“网页_访问s”无法使用的问题 2、修复“网页_取外网IP”失效的问题 3、修复“文本_取中间_批量”结果会叠加的问题,感谢会员尔康的提醒 4、修复“安装键盘钩子”命令的一个无效参数,感谢会员阿柳的提醒 5、修复“窗口_热键卸载所有”命令会内存出错的问题,感谢会员果子的提醒 6、修复“易语言_到系统右键中”的数据型错误,感谢会员gotomiss的提醒 7、修复“易语言_加快捷方式到IE浏览器”的数据型错误,感谢会员gotomiss的提醒 8、修复“外部编辑框_置四边距”的数据型错误,感谢会员gotomiss的提醒 9、修复“外部列表框_鼠标坐标取项目索引”的数据型错误,感谢会员gotomiss的提醒 10、修复“文本_取汉字机内码”的数据型错误,感谢会员gotomiss的提醒 11、修复“文本_取汉字机内码2”的数据型错误,感谢会员gotomiss的提醒 12、修复“客户端_发送并取回1”的数据型错误,感谢会员gotomiss的提醒 1、优化“网页_访问”相关命令的备注,感谢会员御风软件提醒 2、优化“网页_访问”相关命令的自动转码功能,支持XML页面 3、优化“文本_取中间_批量_正则方式”支持换行符 精易模块 V3.32 what’s new:(20130207) 1、修正“文本_删除指定文件行”命令,无法删除最后一行的BUG,感谢会员陌笔圣手提醒 2、修正“内存_优化”命令的优化间隔无法调整的问题,感谢会员御风软件提醒 3、优化“cmd_移动并运行”防止文件路径带空格执行失败,感谢会员jixun66提醒 4、优化“窗口_枚举”命令,无法枚举隐藏窗口的问题,感谢会员微凉提醒 5、优化“_线程池1”去除部分无效的命令,感谢会员微凉提醒 6、修正“网页_验证码同步”命令会清空剪辑板的问题,感谢会员于哈三轮车提醒 7、优化“网页_访问”的自动解码能力,感谢会员御风软件建议 8、增加“数组_去重复1”可去除带有特殊字符的数组,但效率较慢,感谢会员zengxming提醒 9、优化“系统_检测host”,感谢会员jixun66提醒 10、修正“易语言_加快捷方式到IE浏览器”第二个参数无效的BUG,感谢会员jixun66提醒 11、修正“置入汇编代码”无效的问题,感谢会员jixun66提醒 12、添加“网页_访问s”命令,使用WinInet的方式访问网页,懒人专用自动返回文本 13、添加“系统_是否64位操作系统”命令 14、修复“程序_是否被调试”,返回结果是相反的问题,感谢会员yaoying68的提醒 15、修复“程序_禁止重复运行”部分参数无效的问题,感谢会员yaoying68的提醒 16、修复“系统_取星座”命令的错别字,感谢会员xzlch的提醒 17、添加“窗口_控件调整_创建”和销毁,感谢会员啸锐提供 18、修复“取指针地址_整数型”的返回结果不准确的问题,感谢会员 神一样的男人!提醒 精易模块 V3.31 what’s new:(20130126) 1、修正“内存.读文本”命令,会崩溃的问题,感谢会员 陌笔圣手提醒 2、修正“网页_访问”命令,代理IP可能失效的BUG 3、添加“编码_编码转换对象”命令,使用对象转码更加稳定 4、添加“文件_循环删除文件”命令 5、优化“cmd_删除自身”命令,只读文件也可删除 6、添加“系统_以管理员模式创建进程”命令 7、添加“系统_注册组件”、“系统_卸载组件 ()”命令,用于注册和卸载dll组件 8、添加“写注册项Ex”命令,用于写入带有斜杠的注册项 9、添加“窗口_模糊遍历窗口”命令,用于模糊枚举窗口 10、添加“窗口_取进程路径”命令 11、添加“系统_检测host”命令,用于检测host是否被修改 12、添加“文件_枚举1”命令,用于高速枚举文件 13、添加“窗口_取字符串宽度”命令 14、添加“窗口_按名枚举”命令 15、添加“窗口_强制显示”命令 16、优化“系统_取硬盘特征字”的运行速度 精易模块 V3.3 what’s new:(20130119) 1、重写“网页_访问”命令,优化参数排序,增加智能解码功能,兼容黑月 2、重写“网页_访问_对象”,优化参数排序,增加自动处理Cookie功能 3、重写“网页_JS格式化”,采用了国外优秀的开源库,准确无误 4、修正“清除Cookie”命令无法彻底清除部分Cookie的问题 5、增加“文本_去重复文本”命令 6、修正“网页_取端口”,遇到ssl的网站,会返回错误的问题 7、修正“文件_定位”,在某些情况下,会失效的BUG 8、优化“线程_等待”命令的,超时参数,加入无限等待 9、增加“_线程池1”,更加灵活的线程池模型 10、增加“系统_修改MAC地址”可修改本机mac地址,重启后生效 11、增加“系统_删除MAC地址”删除注册表内的mac地址 12、优化“FTP_”程序集,改为模块,更加灵活调用 13、修正“网页_取Cookie”命令无法取出部分Cookie的BUG 14、重写“网页_Cookie合并更新”命令优化代码结构 15、修复“网页_屏蔽网页复制提示”在某些情况下无法立即生效的BUG

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧