﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-千里之行，始于足下</title><link>http://www.cnblogs.com/sunwaywei/</link><description>酌贪泉而觉爽，处涸辙而犹欢</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 07:44:36 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 07:44:36 GMT</pubDate><ttl>60</ttl><item><title>被MM当成电脑白痴了</title><link>http://www.cnblogs.com/sunwaywei/archive/2007/11/19/964591.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Mon, 19 Nov 2007 09:59:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2007/11/19/964591.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/964591.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2007/11/19/964591.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/964591.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/964591.html</trackback:ping><description><![CDATA[话说今日，单位内部召开大型电视电话会议，从技术部请来一位MM负责保证通信畅通。该MM一看就是极为好学，带着自己的本本过来报到，会议开始以后，就躲到休息室内自行学习去了。<br />
<br />
会议间隙，走进休息室，MM正在电脑屏幕上大展神来之笔，一幅抽象主义水彩画正在她的笔下逐渐成型，当下心生赞叹，没想到技术部还有这样的人才，不由得景仰之情有如滔滔江水连绵不绝。突然想起自家的厨房正好缺一幅画，于是乎上前搭讪：<br />
<br />
我：&#8220;这是什么？&#8221;<br />
<br />
MM：&#8220;这是PhotoShop。&#8221;<br />
<br />
我汗：&#8220;你在做什么？&#8221;<br />
<br />
MM：&#8220;PhotoShop，是一个做图软件&#8221;<br />
<br />
我巨汗之下，半响无语。叹息一声，转身走出了休息室。<br />
<br />
虽然昨天喝多了，有些辞不达意，可是，可是我看上去真的那么象电脑白痴吗？
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/964591.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>用Delphi编写的一个上网助手</title><link>http://www.cnblogs.com/sunwaywei/archive/2007/06/29/800814.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Fri, 29 Jun 2007 14:50:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2007/06/29/800814.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/800814.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2007/06/29/800814.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/800814.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/800814.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">自从家里的电信宽带由包年换成所谓的套餐之后，每月的上网时间就必须要控制在150小时以内，于是乎被迫将无线路由器由自动上网改成手动上网。每次上网必须要先打开路由器控制页面，再用Excel计时，对于我这样出类拔萃的懒人来说，不免有些嫌烦。好容易乘工作之闲，再次写了一个上网助手，直接控制无线路由器的连接和断线，同时自动进行计时，用起来果然方便许多。<br><br>
<div align=center src_cetemp="/images/cnblogs_com/sunwaywei/online.JPG"><img height=328 alt="" src="http://www.cnblogs.com/images/cnblogs_com/sunwaywei/online.JPG" width=450 border=0></div>
<p><br><br>上面是程序运行时的界面，图中可以看到每天的上网总时间，以及每次连接和断线的时间；还能一并看到余下每天可用的平均上网时间。程序可以最小化到托盘，允许直接在TrayIcon的弹出菜单上进行连接和断线操作。<br><br>以下从代码说明此程序的核心功能部分：<br><br>const BasicUrl = 'http://192.168.1.1/';<br>const ConnectUrl = 'http://192.168.1.1/userRpm/StatusRpm.htm?Connect=连%20接&amp;wan=1';<br>const DisconnectUrl = 'http://192.168.1.1/userRpm/StatusRpm.htm?Disconnect=断%20线&amp;wan=1';<br><br>这三行是TP-LINK无线路由器的基本设定URL。<br><br>procedure TMainForm.InitializeRouter;<br>begin<br>&nbsp;IdHttp1.Request.Accept := 'image/gif, image/x-xbitmap, image/jpeg, ' +<br>&nbsp;&nbsp;'image/pjpeg, application/x-shockwave-flash, ' +<br>&nbsp;&nbsp;'application/vnd.ms-powerpoint, application/vnd.ms-excel, ' +<br>&nbsp;&nbsp;'application/msword, */*';<br>&nbsp;IdHttp1.Request.Referer := 'http://192.168.1.1/';<br>&nbsp;IdHttp1.Request.Host := '192.168.1.1';<br>&nbsp;IdHttp1.Request.AcceptLanguage := 'zh-cn';<br>&nbsp;IdHttp1.Request.AcceptEncoding := 'gzip,deflate';<br>&nbsp;IdHttp1.Request.UserAgent := 'Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.2;)';<br>&nbsp;IdHttp1.Request.Connection := 'Keep-Alive';<br>&nbsp;IdHttp1.Request.Password := '******';<br>&nbsp;IdHttp1.Request.Username := 'sunwaywei';<br>end;<br><br>这个函数是初始化路由器连接。程序使用IdHTTP组件来向路由器发送HTTP请求，函数中对请求的参数配置进行了基本设定。<br><br>procedure TMainForm.DoConnect;<br>begin<br>&nbsp;IdHttp1.Get(BasicUrl);<br>&nbsp;IdHttp1.Get(ConnectUrl);<br>&nbsp;FOnline := True;<br>&nbsp;FOnlineFrom := Now;<br>end;</p>
<p>procedure TMainForm.DoDisconnect;<br>begin<br>&nbsp;IdHttp1.Get(BasicUrl);<br>&nbsp;IdHttp1.Get(DisconnectUrl);<br>&nbsp;FOnline := False;<br>&nbsp;DBModule.InsertNewTimeRec(FOnlineFrom, Now);<br>&nbsp;FillDateList;<br>&nbsp;GetStatistics;<br>&nbsp;UpdateStatistics;<br>end;<br><br>以上两个函数控制路由器进行连接或是断线。在开发这里的时候，我发现很奇怪的现象，即在访问ConnectUrl或是DisconnectUrl之前，必须先访问一次BasicUrl，这样操作才能够成功。很奇怪，我也不理解为何会如此。总之是这样一做之后，就OK了。<br><br>上网计时部分对于有一些编程经验的人来说，应当是不太难的。从DoDisconnect函数中可以看到，当断线的时候，把本次上网时间插入数据库即可。至于按日期分类显示什么的功能，只要理清数据关系，也没什么难度。以下给出我所使用的几个SQL语句，供有兴趣的人参考或是批评指正。</p>
<p>const sqlGetDateList =<br>&nbsp;'SELECT DateValue(FromTime) as [Date],' +<br>&nbsp;'Sum(DateDiff("n", FromTime, ToTime)+1) as TotalTime ' +<br>&nbsp;'FROM TimeRec ' +<br>&nbsp;'where FromTime &gt;= DateSerial(Year(Now),Month(Now),1) ' +<br>&nbsp;'group by DateValue(FromTime) ' +<br>&nbsp;'order by DateValue(FromTime) desc';</p>
<p>const sqlTotalMinutes =<br>&nbsp;'select Sum(DateDiff("n", FromTime, ToTime)+1) as TotalTime ' +<br>&nbsp;' from TimeRec where FromTime &gt;= DateSerial(Year(Now),Month(Now),1)';</p>
<p>const sqlTodayMinutes =<br>&nbsp;'select Sum(DateDiff("n", FromTime, ToTime)+1) as TotalTime ' +<br>&nbsp;' from TimeRec where FromTime &gt;= DateSerial(Year(Now),Month(Now),Day(Now))';<br><br>说明一下，我使用的是Access数据库，所以SQL语句中使用的Access函数。使用Sql Server的话还是需要修改的。<br><br></span></p>
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/800814.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Excel 2007的日期格式设置</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/12/30/607969.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Sat, 30 Dec 2006 08:03:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/12/30/607969.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/607969.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/12/30/607969.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/607969.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/607969.html</trackback:ping><description><![CDATA[<p>用Excel 2007做了个简单的上网时间计算程序，之前一直挺好，到了本月的倒数第二天，却发现了一个奇怪的现象，开始认为是Excel 2007的Bug，后来才发现是日期格式设置有误，呵呵。</p>
<p><a href="http://www.cnblogs.com/images/cnblogs_com/sunwaywei/WindowsLiveWriter/Excel2007_E1A9/excel%5B6%5D.jpg" atomicselection="true">
<div style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" align=center src_cetemp="http://www.cnblogs.com/images/cnblogs_com/sunwaywei/WindowsLiveWriter/Excel2007_E1A9/excel_thumb%5B4%5D.jpg"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=165 src="http://www.cnblogs.com/images/cnblogs_com/sunwaywei/WindowsLiveWriter/Excel2007_E1A9/excel_thumb%5B4%5D.jpg" width=240 border=0></div>
</a>
<p>&#160;</p>
<p>请看上图，I15单元格是I13单元格除以I14单元格的结果，在剩余天数大于1的时候，剩余平均值计算一直是正确的，但到了今天，只剩下1天的时候，显示结果却不正确了。</p>
<p>后来仔细看了一下，才发现单元格的日期格式设置不正确，改为[h]:mm:ss之后，显示就正确了。</p>
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/607969.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>使用C++绘制算法弥补.net图形绘制缺陷</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/12/27/605284.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Wed, 27 Dec 2006 10:11:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/12/27/605284.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/605284.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/12/27/605284.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/605284.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/605284.html</trackback:ping><description><![CDATA[摘要: 在.net framework中，绘制图形一般是使用Graphics.DrawImage方法，但是这个方法在许多时候有明显的缺陷。&nbsp;&nbsp;<a href='http://www.cnblogs.com/sunwaywei/archive/2006/12/27/605284.html'>阅读全文</a><img src ="http://www.cnblogs.com/sunwaywei/aggbug/605284.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>使用UpdatePanel控件要注意的一个问题</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/11/02/547386.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Wed, 01 Nov 2006 16:13:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/11/02/547386.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/547386.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/11/02/547386.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/547386.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/547386.html</trackback:ping><description><![CDATA[摘要: 刚刚在开发中发现，在使用 ASP.NET AJAX 的 UpdatePanel 控件时，其内部不能使用 JavaScript 语言来写页面，否则的话，当 UpdatePanel 更新其内容时，使用 JavaScript 所写的页面部分将不会重新写入。&nbsp;&nbsp;<a href='http://www.cnblogs.com/sunwaywei/archive/2006/11/02/547386.html'>阅读全文</a><img src ="http://www.cnblogs.com/sunwaywei/aggbug/547386.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Chuck Jazdzewski 对新手程序员的建议</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/09/22/511765.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Fri, 22 Sep 2006 05:20:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/09/22/511765.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/511765.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/09/22/511765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/511765.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/511765.html</trackback:ping><description><![CDATA[　　Chuck Jazdzewski 是我比较崇拜的人物之一，昔年Delphi VCL的主要设计者，如今在微软据说主要做WPF，他在他的博客里写了一篇文字，个人认为很值得一读，不管是新手还是老手。<br><br>　　地址：<a href="http://www.removingalldoubt.com/PermaLink.aspx/a32977e2-cb7d-42ea-9d25-5e539423affd">http://www.removingalldoubt.com/PermaLink.aspx/a32977e2-cb7d-42ea-9d25-5e539423affd</a>
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/511765.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>打赢了一场效率仗</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/09/13/503606.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Wed, 13 Sep 2006 14:04:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/09/13/503606.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/503606.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/09/13/503606.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/503606.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/503606.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt">近段时间实在是比较忙。最开心的事莫过于期待以久的房子终于确定下来了，估计月底左右可以拿到钥匙，这阵子每逢俺那口子休息，总是要一起去看装潢材料什么的，用来构思论文和从事开发的时间明显地没有以前多了。<br><br>半年以前参与的那个CGI的项目这段时间客户反馈说有相当严重的性能问题，当用户的数据记录达到500条左右时，执行某些操作用时居然要达到惊人的65秒，恐怕没有几个客户愿意使用这样慢吞吞的系统。两周以来一直在从事系统的改进工作。分析了一下，这个系统的性能瓶颈主要集中在以下几个地方：<br><br>1、数据库的二次查询。这个系统原先在设计的时候支持Access和SQL Server数据库，使用ODBC来连接数据库。由于原先设计方式的限制，基本上系统只能使用单表查询的办法，在系统加入一些比较复杂的新功能之后，进行一些数据操作就需要多次地进行单表查询，甚至每两次单表查询中间还需要分配内存来转换数据。最恐怖的是二次查询，举个例子，第一次查询返回了500个结果，每个结果在进行数据转换的时候又要进行3次数据查询，一下子就是1500次，于是乎时间就达到了恐怖的数量级。最终修改的办法是使用多表连接查询，付出的代价是，系统不再支持Access数据库，因为发现Access数据库做多表查询总是有一些莫名其妙的问题，反正客户不用Access，也懒得去研究了。<br><br>2、海量数据的POST。这里说海量可能有些不合适，因为其实在数据只有500条的情况下，做POST的时候，初始化页面数据需要约9秒，解析数据需要27秒，加起来还是半分多钟，仍然是个令人无法忍受的结果。经分析代码发现，在页面上列出500条记录时，每条记录有两个checkbox用于设定状态，当点击页面最下方的按钮时，一共1000个checkbox的状态全部向服务端提交，总大小约为47K，十分惊人，而实际上服务端真正需要的数据一般只有极少的几条。由于页面的生成机制不值得进行大的修改，也无法改为使用多form单独提交的方式，我能想到的惟一的好办法就是舍弃POST机制，转而采用GET的方法，当点击按钮时执行一段javascript代码，它负责检测这1000个checkbox的状态，取出需要提交到服务端的数据，再直接进行页面重定向。这样一来，系统无需再进行页面数据的初始化和解析的工作，所需的时间也转移到javascript代码的执行时间上。最后改好的效果是：1000条记录下，页面javascript执行需要2~3秒，服务端执行时间1秒以内。这个速度，客户已经没什么可挑剔的了。<br><br>完成工作的感觉一直都是比较美好的哈。<br><br>PS：最近我的本本出现一个奇怪的现象，那就是在explorer中文件的右键菜单中最顶上一块菜单项似乎全部消失了，其它程序比如winrar在这一块区域注册的菜单项虽然还在但点击之后毫无反应，但是在最近使用文档或是桌面工具栏中从菜单项显示的文件的右键菜单却是正常的，Total Commander中的文件右键菜单也是正常的，奇怪之至，尚未发现原因，有高人知晓的，还望告诉一下，先谢谢了。</p>
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/503606.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>一个极有可能引发ExecutionEngineException的情况</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/08/21/482674.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Mon, 21 Aug 2006 12:33:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/08/21/482674.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/482674.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/08/21/482674.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/482674.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/482674.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt">关于ExecuteEngineException，在.net framework SDK中有这样的描述：</p>
<p style="FONT-SIZE: 10pt">&#8220;执行引擎错误是致命错误，决不应该发生。此类错误主要是在执行引擎被破坏或丢失数据时发生的。系统会随时引发此异常。在可能的情况下，系统将引发比 ExecutionEngineException 异常能提供更多信息的异常。</p>
<p style="FONT-SIZE: 10pt">应用程序不应引发 ExecutionEngineException。&#8221;</p>
<p style="FONT-SIZE: 10pt">从这个描述可以看出，ExecutionEngineException这个异常在正常的程序中应当是不可能发生的，致命错误嘛。然而我今天却就与这个异常来了个多次碰头。</p>
<p style="FONT-SIZE: 10pt">具体情况大致是这样的：一个具有查看器（Viewer）功能的COM控件，在.net中使用。这个Viewer有一个特性，在当前可视区域发生某些变化时，将会触发两个事件，而在更特定的情况下，这两个事件触发的时间差可能非常之小，几乎是同时发生。此时外层的.net程序引发ExecutionEngineException异常的可能性就变得非常之大，基本上每次操作都至少遇上一次，当然也只能遇上一次，因为一遇上就差不多Crash了。</p>
<p style="FONT-SIZE: 10pt">应该还是在.net与COM交互时发生的问题，虽然不清楚具体过程，也可以大概猜想一下：当第一个事件发生的时候，.net开始对它进行处理，没等处理完毕，第二个事件又发生了，异常也就诞生了。</p>
<p style="FONT-SIZE: 10pt">知道原因就好办。加入一个事件挂起机制，使得任意两个事件的触发时间间隔不会太小，避免两个事件几乎同时触发的情况再次发生。果然，一试之下再也没有出现这个异常了。如果有遇上类似现象的，不妨用这个思路试一下。</p>
<p style="FONT-SIZE: 10pt">PS，这里我使用的环境是.net framework 1.1，目前尚不知在.net framework 2.0下是否有同样的现象。<br></p>
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/482674.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>竟然是灰鸽子？</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/08/11/474038.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Fri, 11 Aug 2006 02:44:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/08/11/474038.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/474038.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/08/11/474038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/474038.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/474038.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">　　8月4日中了那个所谓病毒的时候，我发现explorer.exe每次启动的时候都会带一个IEXPLORER.EXE，后来用IceSword似乎是解决了，当时也就放松了警惕，现在想起来，真是惭愧啊惭愧。今天早晨开机的时候发现explorer.exe启动时总会出错，弹出一个错误报告窗口，然后界面基本就卡死了。此时似乎只能按Win+L切换到另一个管理员帐号，将被卡住的explorer.exe终止，再切换到原先的帐号，重启一个explorer.exe，才基本恢复到可操作状态。<br><br>　　是什么程序在作怪呢？用IceSword查了查进程启动记录，发现explorer.exe启动的时候会同时启动一个syste.exe，再一查之下在windows目录下发现了一个syste文件，不带扩展名，打开一看倒吸一口冷气，里面详细地记录了诸如我打开过哪些网页、popo和msn的聊天记录等等，甚至包括击键记录！！！<br><br>　　实在是后悔当时没有详细地查一查，否则应该当时就能发觉这个东西的存在。真是一世英名毁于一旦哪。仔细地分析了一下，好在并没丢失什么重要数据，可是想一想，如果在此期间我去过网上银行，输过帐号和密码的话~~~~~~~~汗！各位同仁们，小心了，写病毒和木马的人忘我之心不死，他们一直在想方设法地窃取我们的信息呀~~~~~~~~~~~~~</span> 
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/474038.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>They're Back!!!  Turbo系列产品的回归！</title><link>http://www.cnblogs.com/sunwaywei/archive/2006/08/08/471474.html</link><dc:creator>sunwaywei</dc:creator><author>sunwaywei</author><pubDate>Tue, 08 Aug 2006 11:28:00 GMT</pubDate><guid>http://www.cnblogs.com/sunwaywei/archive/2006/08/08/471474.html</guid><wfw:comment>http://www.cnblogs.com/sunwaywei/comments/471474.html</wfw:comment><comments>http://www.cnblogs.com/sunwaywei/archive/2006/08/08/471474.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/sunwaywei/comments/commentRss/471474.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/sunwaywei/services/trackbacks/471474.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 10pt">　　昔年令Borland扬名天下的Turbo系列开发工具即将回归！对于象我这样从Turbo Pascal、Turbo C、Borland C++而走上编程之路的人来说，确实是一件令人兴奋的事。<br><br>　　相关链接：<a title=http://www.turboexplorer.com/ href="http://www.turboexplorer.com/" target=_blank>http://www.turboexplorer.com/</a><br><br>　　此次Turbo系列将首推四种产品：Turbo C++、Turbo Delphi、Turbo Delphi .net、Turbo C#。&nbsp;每款产品都将带有Explorer和Professional版。其中Explorer版将是免费的并且拥有基本上能够完整支持普通开发的全部功能。<br><br>　　最令我关注的，恨不得先睹为快的当属Turbo C++了。想当年我还在学生时代的时候，就一直对Borland C++痴迷不已，从IDE到Compiler、BIDS、TurboVision、OWL、OCF等等技术都令我崇拜不已，仍然清晰地记得当时自己没有机器，为了学习TurboVision，就在学校的机房里疯狂地打印它的源码好带回去研究，为此一直被机房的老太和众多同学视为仇人。此外与许多Borlander一样也一直对VC和MFC兴趣一般，以至于后来工作的时候回头要补学MFC了。虽然最终还是转向了VC，也仍然一直关注Borland C++Builder、关注C++BuilderX，关注现在的Turbo C++。此次也是非常的期待能够在Turbo C++里找回一些当年的感觉。当然，同样的也期望Turbo Delphi能够继续延续Turbo Pascal和Delphi光荣的传统，即使到现在，我还不时地需要用一下Delphi的。<br><br>　　自从DevCo接手Borland的开发工具以来，似乎总能经常听到或是看到一些好的发展苗头。或许是因为前多年被Borland折腾的太过失望了，一直对DevCo是否能重振大旗持观望态度，但这次DevCo的决定却令我赞赏不已，其中隐隐可以看出DevCo经营开发工具的决心，以及对产品定位和发展方向的准确评估。我相信也必定会有许多昔年Borland的拥护者将对此持肯定态度。<br><br>　　历时近十年，心情依然澎湃。拥抱DevCo！拥抱Turbo!</span> 
<img src ="http://www.cnblogs.com/sunwaywei/aggbug/471474.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47988/" target="_blank">Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>