- 浏览: 459546 次
- 性别:
- 来自: 杭州
最新评论
-
hz_qiuyuanxin:
楼主,那如何实时监控打印机的状态呢?
C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性 -
CoderDream:
不知道如何美化SQL
Sql Server Management Studio 辅助工具(SSMS代码格式化) -
ifox:
没了?????????、·············
Sql Server Management Studio 辅助工具(SSMS代码格式化) -
lovebeaners:
Windows Live Writer 表情插件------酷表情(CoolEmotion)发布 -
tvjody:
C#做这个很方便啊
C#、VB.NET 使用System.Media.SoundPlayer播放音乐
文章列表
最近,我发布了几篇关于 .NET 和 EML 文件的邮件相关 的博文,引来了一些网友的关注与讨论。尤其是对于“如何解析EML文件的内容”和 “发送现有的EML文件”。
目前,比较主流的解析EML文件的方式,基本是对MIME格式的分析,基于对 RFC822及其后续扩展的标准 的理解。但是,此种方法工作量太大,且过于繁琐。
我是个懒人,喜欢找捷径
大家都知道,微软的 outlook express 是可以保存和打开并发送EML文件的。那么很明显,outlook express 肯定是可以解析EML文件的。
问题就来了:我们可不可以利用微软现有的成果呢?
针对这个问题,我们再回到.NET中发送邮件的功 ...
- 2009-05-21 11:56
- 浏览 1470
- 评论(0)
昨天,有个网友发消息来咨询关于 “TreeView节点的拖放” 相关的实现,于是写下了此篇博文。
一、 拖动前
二、拖动后
注: 将 TreeView 的 AllowDrop 设为 true
具体的实现,参见 http://www.zu14.cn/2009/05/19/csharp-drag-drop-treeview-node-sample/
- 2009-05-19 09:15
- 浏览 1967
- 评论(0)
在上一篇 MailMessage保存为eml文件(C#+SmtpClient) 中,我们使用了反射(Reflection)的方式,调用System.Net.Mail的内部对象 MailWriter 实现了将 MailMessage 的内容保存为 eml 文件。
通过上次的实现,主要是学习反射Reflection的使用思路,起到个抛砖引玉的作用吧,算是
今天,偶尔看到了上次的代码,又重新发现了一个新大陆,使得保存eml文件的工作,变得异常简单了 ,先回到上次解析的地方:
上次的时候,我们对于上面的这张图片,过分强调了 MailWriter 这里,而忽略了其他的部分,下面我把上面这幅图, ...
- 2009-05-17 22:31
- 浏览 2008
- 评论(0)
一直使用 Windows Live Writer 写博客,偶尔出现点小问题,自己都解决了。这一周,基本没怎么写博客,实在太忙了。今天周末,打算补充几篇呢,确发现windows live writer 2009 出了点怪问题。
问题症状:
所有使用都正常,发布也OK,就是在点击 “插入链接” 和 “工具-->选项” 的时候,windows live writer 2009 崩溃了。每次都一样,只要不点上面的2个,就不会有问题。
根据症状,我觉得的问题出在 windows live writer 2009 对链接的管理上,而对于链接的管理,唯一一个就是 “关键词自动链接”,考虑到这里,思路 ...
- 2009-05-16 12:04
- 浏览 649
- 评论(0)
Windows的硬件信息保存的机制,也是利用类数据库的方式,采用WMI的查询方式,基本可以获取所有的硬件信息,就像前面我提到的 C#遍历系统所安装的打印机.
今天,有个网友,问及 MAC 地址的事,我就给出了下面的代码:
static string GetMAC()
{using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{ManagementObjectCollection moc = mc.GetInstances();foreach (Manageme ...
- 2009-05-16 10:47
- 浏览 1500
- 评论(0)
为了便于在家里开发,今天特意搞了台旧本本带回来做测试数据库服务器,为了尽量的提升性能和节约磁盘空间,安装SQL SERVER 2000 + SP4 的时候,特意选择了 “最小化安装”。
在安装完成之后,因为是最小化,所以所有的图形工具全部没给装,当然也包括企业管理器 和 查询分析器了。
为了搭建环境,只好祭出俺的杀手锏了 ,用命令行工具 isql 来完成基本的操作吧,说实话,isql 其实是个非常好的东西,尤其在做一些自动处理等的脚本的时候使用。
话不多说,开始了:
>isql -Usa -P***
1> create database [test]
2> g ...
- 2009-05-15 19:19
- 浏览 916
- 评论(0)
.NET 自从2.0开始,大大提升了 Mail.SmtpClient 的功能,对于发邮件,可谓游刃有余了。但是,美中不足的是没有提供保存邮件内容为eml文件的功能
实际上,SmtpClient 和 MailMessage 已经实现了这个功能,只是这个功能是 NonPublic 的,对于空间外,不可见而已。
利用 Reflector 反编译一下 System.Net.Mail.SmtpClient 可以看到:
在 Send(MailMessage) 方法中,在MAIL被发送之前,是调用了一个 MailWriter fileMailWriter = this.GetFileMailWriter ...
- 2009-05-08 13:36
- 浏览 1149
- 评论(0)
EXCEL里面,默认的情况下,对于字段内容长度超过15位的数字,后面的内容会全部被搞成0,真是自作多情啊! 例如:常见的,我们输入18位的身份证号码:111111111111111111,就会变成 111111111111111000 而且,显示也用科学计数方式显示,真是太恶心了 最近有个需求,导出一些人的个人资料到 CSV 或者 EXCEL,在导出身份证时,就遇到了这个垃圾问题。 经过一番查找资料,找到了解决方法:
对于导出 CSV 文件,在禁止转义的内容前,加上一个TAB符号,C# 里面是 \t 对于EXCEL文件, 在禁止转义的内容前,加上一个半角单引号,' 符号 ...
- 2009-05-07 10:48
- 浏览 1940
- 评论(0)
在某些时候,我们有一些如下需要,例如:不能移动程序的窗体;不能点击关闭程序的窗体;不能最大化/最小化窗体等。
上面的一些需求,通过对窗体属性的一些设置,基本都可以实现,但是,确并不总是能满足我们的需要。
例如:我们需要让关闭按钮显示,但是变灰(不能点击),同时正常的显示最大化和最小化按钮
API中,对于菜单的操作,可谓丰富,常用的有:
我这里,就举2个例子, EnableMenuItem 和 DeleteMenu
<script type="text/javascript"><!--
google_ad_client = "pub-58 ...
- 2009-05-05 14:52
- 浏览 983
- 评论(0)
Cross-Site Scripting是一种较为普遍的HACK攻击方式,曾经遭受Cross-Site Scripting攻击的知名网站众多.现今Ajax技术大兴,应用日趋广泛,Client 端Script 扮演的角色越来越重要,也就不可避免的提升了 Cross-Site Scripting 攻击方式的几率。 Microsoft Anti-Cross Site Scripting Library 是 Microsoft 提供的一个免费的网站防骇类库, 其主要的功能是将所有认为不合法的提交内容进行编码转义, 从而提升网站的安全等级, 降低网站受到Cross Site Scripting 式的攻击 ...
- 2009-05-05 13:16
- 浏览 868
- 评论(0)
今天,一个同事的电脑出了怪问题,双击打开“我的电脑”,总是显示一片空白,左下角提示“正在查找”,屏幕中间一把手电筒扫来扫去的,就是不显示内容。
直接 explorer c: 等各个驱动器都是OK的,唯独从我的电脑进去,要几分钟才出来,每次都这样,郁闷了。
在确认没有病毒的情况下, 查了下资料, 找到了解决方法, 留此备查:
打开注册表编辑器,regedit,定位到 HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\MYCOMPUTER
将此键值导出备份一下,然后,将它的子键全部删除,关闭注册表编辑器。
问 ...
- 2009-04-30 16:08
- 浏览 1150
- 评论(0)
应用程序配置文件,对于asp.net是 web.config,对于WINFORM程序是 App.Config(ExeName.exe.config)。
配置文件,对于程序本身来说,就是基础和依据,其本质是一个xml文件,对于配置文件的操作,从.NET 2.0 开始,就非常方便了,提供了 System [.Web] .Configuration 这个管理功能的NameSpace,要使用它,需要添加对 System.configuration.dll的引用。
对于WINFORM程序,使用 System.Configuration.ConfigurationManager;
对于ASP.NET 程序, ...
- 2009-04-30 13:59
- 浏览 913
- 评论(0)
我自己更偏向于使用C#, 但是VB 和 VB.NET的丰富的函数,也是非常可取的。充分运用这些函数,可以起到事半功倍的效果。 VB中的原来的函数库,部分进入了 Microsoft.VisualBasic.Interaction 中,例如: InputBox, MsgBox 就是了。 在C#使用 InputBox,当然可以自己实现, 其实就是一个 Form 而已,我更推荐使用VB.NET里面的,嘿嘿,使用方法: 1. 添加 Microsoft.VisualBasic 的引用 2. string str = Microsoft.VisualBasic.Interaction.InputBox ...
- 2009-04-28 16:24
- 浏览 908
- 评论(0)
最近,遇到一件怪事,一个同事的WORD,总是出现莫名其妙的问题,不是经常无响应,就是出现不能粘贴和复制的情况,搞的晕晕的。 为了尽量降低他的出错损失,开启了WORD的自动保存和自动备份机制,写下来以备后查: “工具” 菜单下的 “选项”, 打开后,切换到 “保存” 卡
将 “自动保存时间间隔” 设置为 1 分钟(或自定义) 将 “开启备份” 的勾选中
- 2009-04-28 15:39
- 浏览 875
- 评论(0)
今天,有个网友询问:
C#中,如何随意拖动PictureBox?
看到这个问题,我自然而然就联想到了以前的拖动无边框窗体的实现上,其实,不只是PictureBox,基本上所有的控件都可以被拖动。
实现,就是利用Windows的API函数:SendMessage 和 ReleaseCapture 即可了,代码很简单。
核心代码如下:
const uint WM_SYSCOMMAND = 0x0112;
const uint SC_MOVE = 0xF010;
const uint HTCAPTION = 0x0002;
[DllImport("user3 ...
- 2009-04-18 21:09
- 浏览 1277
- 评论(0)