
C#.NET
文章平均质量分 69
smeller
这个作者很懒,什么都没留下…
展开
-
Spy++的使用方法
很多朋友都对窗口句柄比较迷糊,这篇短文就以spy++这个软件为主,介绍下窗体句柄和使用按键插件时,如果对这个句柄发送消息,即所谓的后台挂机。spy++这个软件来自VC++,装好VC后,就可以在工具中看到。我们以“记事本”为例,看看如果给记事本发送按键消息。首先启动记事本随后启动SPY++使用spy++的查找功能点开后的效果我们把黑色准星拖动到记事转载 2015-01-18 20:22:54 · 13184 阅读 · 0 评论 -
如何获取Datagridview是否存在滚动条
if (this.dataGridView.DisplayedRowCount(false) == this.dataGridView.RowCount) { //没有 } else { //有 }转载 2012-03-26 19:02:27 · 1481 阅读 · 0 评论 -
如何高效使用SQLite事务 .net (C#)
今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟!下面是他发给我的测试代码。我晕~~~~~~ using System.Data;using System.Data.Common;using System.Data.SQLite;// 创建数据库文件File.Delete("test1.db3转载 2012-03-26 21:29:50 · 14637 阅读 · 1 评论 -
c# 图片加上边框
Image img = Bitmap.FromFile(openFileDialog1.FileName.ToString());int bordwidth = Convert.ToInt32(img.Width * 0.1);int bordheight = Convert.ToInt32(img.Height * 0.1);int newheight = img.Height转载 2012-02-28 14:31:52 · 6445 阅读 · 0 评论 -
C#反射方法来处理每个子窗体只保留一个实例
/************************************************************ * 反射方法来处理每个子窗体只保留一个实例 * 调用方法,打开一个MDI子窗口 * OpenWindow(typeof(子窗口).ToString(), string(子窗口标题); /***********************************转载 2012-02-25 09:59:21 · 1405 阅读 · 0 评论 -
C# WinForm 下获取外网的IP地址
/// /// 获取外网IP地址 /// public static string GetIPAddress() { string sValue = String.Empty; string strUrl = "http://www.ip138.com/ip2city.a原创 2012-02-16 14:31:15 · 6829 阅读 · 0 评论 -
Server.MapPath()
Server.MapPath()命名空间:System.Web.HttpContext.Current.Server.MapPath./当前目录/网站主目录../上层目录~/网站虚拟目录如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\show.a转载 2011-12-30 11:05:03 · 825 阅读 · 0 评论 -
C#正则表达式提取HTML中IMG标签的SRC地址
一般来说一个 HTML 文档有很多标签,比如“”、“”、“”等,想把文档中的 img 标签提取出来并不是一件容易的事。由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易。于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签。我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式。首先要想一下 img 标签有几种写法,忽略转载 2011-12-28 12:22:42 · 16232 阅读 · 4 评论 -
System.Environment类应用小技巧
意中发现,System.Environment有很多非常有用的成员和方法,现总结如下:1.获取操作系统版本(PC,PDA均支持)Environment.OSVersion2.获取应用程序当前目录(PC支持)Environment.CurrentDirectory3.列举本地硬盘驱动器(PC支持)string [] strDrives=Environment.GetLogic转载 2011-12-10 17:31:00 · 4879 阅读 · 0 评论 -
利用XML生成Excel
利用XML生成Excel 先用Excel将我们要生成的表格设计好:然后另存为XML表格:将生成的Book1.xml复制到项目中并打开:找到Table节点,将节点的ss:ExpandedRowCount=”2” 删除掉往下会看到我们刚输入的标题了吧Row> Cellss:StyleID=转载 2012-04-02 11:44:33 · 5701 阅读 · 1 评论 -
C#操作Excel文件(读取Excel,写入Excel)
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。1.加载Excel(读取excel内容)返回值是一转载 2012-04-02 11:48:31 · 965 阅读 · 0 评论 -
C# WinForm 最大化、最小化、关闭按钮事件的拦截
private int WM_SYSCOMMAND = 0x112;private long SC_MAXIMIZE = 0xF030;private long SC_MINIMIZE = 0xF020;private long SC_CLOSE = 0xF060;protected override void WndProc(ref Message m){ if (m.Msg转载 2012-04-10 13:26:29 · 7189 阅读 · 1 评论 -
C#程序只允许运行一个实例的解决方案
最近在做winform的程序中,需要只能打开一个程序,如果已经存在,则激活该程序的窗口,并显示在最前端。在网上google了一哈,找到了很多的解决方案。这里我整理了3种方案,并经过了测试,现和朋友们分享:一、使用用互斥量(System.Threading.Mutex)同步基元,它只向一个线程授予对共享资源的独占访问权。在程序启动时候,请求一个互斥体,如果能获取对指定互斥的访问权,就职运行一转载 2015-01-25 17:26:16 · 1540 阅读 · 0 评论 -
.NET模拟POST登录并保持登录状态
好了,还是由于工作需要 要登录一个网站并且模拟点击下载某些东西原理就是先对一个地址(地址是用户名和密码输入框所在的form的action对应的页面)进行POST提交用户名和密码(不考虑验证码,当然验证码也可以破解),用一个CookieContainer保持Response的cookie,保证了每次请求使用同一个已经登录的session。本类部分代码来源于网上,功能有待完善,目前只实现了登录转载 2013-09-18 08:58:40 · 14244 阅读 · 1 评论 -
使用SharpZipLib实现zip压缩
使用国外开源加压解压库ICSharpCode.SharpZipLib实现加压,该库的官方网站为http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx使用体验:可以照着例子实现简单的加压解压,可以加压一个文件夹中的所有文件,但没有提供加压子文件夹的说明。目前网上的一些代码有的无法加压空文件夹,有的加压了用rar解转载 2013-09-18 08:25:19 · 3376 阅读 · 0 评论 -
C#实现JS脚本的escape()和unescape()
//在C#后台实现JavaScript的函数escape()的字符串转换 //些方法支持汉字 private string escape(string s) { StringBuilder sb = new StringBuilder(); byte[] byteArr = System.Text.Encoding.Unicode.转载 2013-03-21 14:34:58 · 5937 阅读 · 1 评论 -
C#中,如何随意拖动PictureBox?
看到这个问题,我自然而然就联想到了以前的拖动无边框窗体的实现上,其实,不只是PictureBox,基本上所有的控件都可以被拖动。实现,就是利用Windows的API函数:SendMessage 和 ReleaseCapture 即可了,代码很简单。核心代码如下:const uint WM_SYSCOMMAND = 0x0112; const uint SC_MOVE = 0x转载 2013-02-22 15:42:41 · 2071 阅读 · 0 评论 -
c#实现打印功能,可以设置纸张大小,字体和颜色等
/// /// 打印的按钮 /// /// /// private void btnPrint_Click(object sender, EventArgs e) { // printDocument1 为 打印控件转载 2013-02-22 15:44:10 · 1364 阅读 · 0 评论 -
使用C#的HttpWebRequest模拟登陆访问人人网(很好的一个例子,理解http的基本工作方式)
无论使用任何语言做模拟登陆或者抓取访问页面,无外乎以下思路:第一 启用一个web访问会话方法或者实例化一个web访问类,如.net中的HttpWebRequest;第二 模拟POST或者GET方式提交的数据;第三 模拟请求的头;第四 提交请求并获得响应,及对响应做我们所需要的处理。这里我们以人人网的登录为例,将涉及到POST以及GET两种请求方式。在之前的文章《免费网页抓包转载 2013-02-16 18:02:06 · 1991 阅读 · 0 评论 -
C#多线程环境下调用 HttpWebRequest 并发连接限制
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows 7 下默认是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个。对于一些诸如浏览器或网络蜘蛛的应用,2个或10个并发数量实在太少,大大影响应用的性能。之所以转载 2013-02-16 11:03:21 · 14275 阅读 · 0 评论 -
如何设置 ComboBox 下拉列表的高度或间距
ComboBox 的下拉列表部分总是很挤,看起不舒服,但是设置了 ItemHeight 没用,怎么办呢?首先设置一个较大的 ItemHeight 值,比如 20;然后设置 ComboBox 的 DrawMode 为 OwnerDrawVariable;然后在 DrawItem 事件中实现如何代码:private void ComboBox1_DrawItem(object se转载 2012-04-10 18:09:55 · 30381 阅读 · 2 评论 -
Visual Studio 2005/2008/2010 常用快捷键
最常用的快捷键Alt + Shift + Enter 全屏,第二次退出全屏Ctrl + E,DCtrl + K,D 格式化当前所有代码Ctrl + E,FCtrl + K,F 格式化选中代码Ctrl + E,CCtrl + K,C 批量注释Ctrl + E,UCtrl + K,U 批量取消注释Ctrl + Shift + UCtrl + U对选定的字转载 2011-12-17 09:25:13 · 1565 阅读 · 0 评论 -
如何提高网站浏览速度 思维导图
1 如何提高网站浏览速度 1.1 硬件(费钱) 1.1.1 增加带宽 1.1.2 增加内存 1.1.3 增加CPU 1.1.4 服务器集群 1.1.5 CDN,多线 1.2 软件(费人) 1.2.1 程序级处理 1.2.1.1 使用缓存(短期、快速提高) 1.2.1.1.1 页面级输出缓存 1.2.1.1.2 片段缓存,用户控转载 2011-12-17 09:20:44 · 539 阅读 · 0 评论 -
免费网页抓包工具,火狐插件FireBug的抓包使用教程
作为一个开发人员,我想没人会不用火狐吧?既然是开发人员,又用了火狐,那没人会不用firebug吧?最常用的firebug查看页面中的元素,但恐怕有很多人都没用过它的抓包工具。抓包工具,目的就是用它分析网络数据包的内容,无论是POST数据还是GET数据。想要写个网络蜘蛛,网站登陆辅助程序之类,比如KanTan开发者的《人人网营销助手》,等等是离不开抓包工具的。先介绍一下主流的4种抓包工具:1转载 2011-10-21 23:28:54 · 13380 阅读 · 0 评论 -
用XenoCode 2006 加密dll (.NET混淆 )
一直使用 XenoCode 2005 Enterprise 版来混淆保护我的 .net 程序,虽说不能做到真正意义上的安全(呵呵,我就破解了几个用XenoCode加密的软件,纯粹好玩……),但比起其他几个类似工具还是要好上很多。昨天去XenoCode网站,发现新版2006已经推出,名字也变成 Xenocode PostBuild 2006,除了以往功能加强外,最让我惊奇的是:转载 2011-10-21 23:06:33 · 930 阅读 · 0 评论 -
C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
String.IndexOfString.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。String.IndexOf(value, startIndex, count)参数value:要查找的 Unicode 字符。 startIndex:搜索起始位置。 c转载 2011-10-21 22:56:52 · 613 阅读 · 0 评论 -
C#.NET判断qq在线状态 - 是否在线
//方法using System.Net;using System;public class QQUtility{ public static bool IsOnline(string qq) { //312124752 string url= string.Format("http://wpa.qq.com/pa?p=1:{0}:3",转载 2011-10-21 20:46:46 · 3559 阅读 · 1 评论 -
c#把程序添加到IE工具条栏上
添加控件:1。从VS2003的工具栏里找到"OpenFileDialog",双击它,把它添加到应用程序里去。2。再从工具栏里找到"GroupBox",拖两个到窗体上。3。再拖五个Label控件和四个TextBox控件、五个Button控件到窗体上。填代码:1。在程序的最开头上写入using Microsoft.Win32;只有引入这个名空间才可以访问注册表。转载 2011-10-21 20:43:35 · 1826 阅读 · 0 评论 -
.Net中 webbrowser 和 httpwebrequest 共用 cookie
昨晚做了个当当猜券程序。碰到了个难题:如何模仿浏览器来向服务器发送信息实际上一般来说是很简单的,如下步骤:先声明:HttpWebRequest req =(HttpWebRequest)WebRequest.Create(url);设置相关header然后获取req的流 将要传送的的消息 转化为byte[] 写入流接着 就要GetRespone了 余下的工作应该都会了吧。转载 2011-10-21 20:35:22 · 4168 阅读 · 0 评论 -
C# WinForm开发系列 - WebBrowser
01. vs2005中的WebBrowser控件的简单应用02. WebBrowser控件的简单应用203. WebBrowser控件应用:弹出新窗体和关闭窗口04. WebBrowser控件应用:播放PPT文件05. WebBrowser控件使用技巧分享06. .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧07. WebBr转载 2011-10-21 09:53:15 · 3372 阅读 · 0 评论 -
HttpWatch工具简介及使用技巧
一概述:HttpWatch强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST数据和目录管理功能.报告输出 HttpWatch 是一款能够收集并显示页页深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE转载 2011-10-21 07:52:23 · 785 阅读 · 0 评论 -
c# 使用 HttpWebRequest模拟登陆(附带验证码)
在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等。先说下流程1.使用httpwebrequest先进入你要登录的网站,获取cookie2.使用第一步获取的cookie到验证码的网页将验证码下载下来。3.使用Post数据 发送至网站。如果有cookie则继续保存。4.使用第三步的cookie登陆相转载 2011-10-21 10:05:43 · 1105 阅读 · 0 评论 -
关闭vs2010的托盘提示
关闭vs2010的托盘提示 "Improve Microsoft Visual Studio performance"打开注册表,定位到:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\General修改或新建:"UIAOverride" = dword:00000001转载 2011-10-21 23:33:54 · 1551 阅读 · 0 评论 -
c#向某网址Post信息,并得到Cookies
using System.Net;using System.IO;using System.Text;[STAThread]static void Main(string[] args){string url="http://hi.baidu.com/yimeng3025/test.asp";string indata="aa=zhuye";string outda转载 2011-10-21 20:49:36 · 10358 阅读 · 3 评论 -
正则表达式的一些工具和材料
Javascript 正则表达式在线测试工具 :http://regexpal.com/正则表达式30分钟入门:http://deerchao.net/tutorials/regex/regex.htm正则表达式符号语法: http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=VS.80).aspx.N转载 2011-10-23 20:47:57 · 473 阅读 · 0 评论 -
HttpWebRequest跨域cookie的访问
算算,有一个星期没写blog,自己最近也有些事情忙,而且也没找到很有价值的东西写,所以一直就拉着。最近工作上也没有 特别烦恼的事,所以也就少了些生活感慨。最近的一个小程序中,使用到HttpWebRequest,在对子域名访问的时候,发现HttpWebRequest并不会提交与他域名不同的cookie值,其实这也是正确,毕竟只需要发送本域cookie就是了,不过HttpWebRequest不会判转载 2011-12-17 12:28:01 · 2612 阅读 · 0 评论 -
颜色值转换,比如"#EE22FF"如果转换为Color.FromArgb(0,0,0,0);这四个整数。
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Drawing;namespace HCLoad.Web{转载 2011-12-06 10:01:31 · 3773 阅读 · 0 评论 -
根据汉字获取拼音
网上搜出来的但是找不到原帖在此对XDesigner表示由衷的谢意,真是个有耐心的人= =#造福大众啊/**//// /// 获得一个字符串的汉语拼音码,XDesigner编制 /// /// 字符串 /// 汉语拼音码,该字符串只包含大写的英文字母 public static string ToChineseSpell( string strText)转载 2011-12-03 08:18:37 · 3838 阅读 · 0 评论 -
让random在极短时间内产生的随机数不相同
由于Random r = new Random(); 的种子没有指定,生成的时间间隔太短导致生成结果一样; 及时指定为Random rd = new Random(DateTime.Now.Millisecond)在运行速度快没有费时操作的情况下仍然得倒相同结果.今天偶然想起用Random rd = new Random(Guid.NewGuid().GetHashCode())来转载 2011-12-03 08:12:11 · 1279 阅读 · 0 评论 -
webBrowser1.Document.Cookie取不到HttpOnly的Cookie,取Cookie不完整
在做数据采集时,有些网站需要输入验证码,但各网站验证码都不同,不可能有完美的识别验证码的代码,所以我也没去研究,我所采取的方案是:在winform里通过WebBrowser调用网页先手动登录系统,然后再通过webBrowser1.Document.Cookie获取其Cookie,再将其用到HttpWebRequest里用来访问自己需要的页。一直用的都没有问题,但最近在对一个网站操作时总是不能获转载 2011-11-29 10:16:35 · 11639 阅读 · 1 评论