<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[乱弹]]></title><description><![CDATA[程序博客]]></description><link>https://blog.youkuaiyun.com/cwpoint</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cwpoint]]></copyright><item><title><![CDATA[SPI网络数据过滤程序]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6526653</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6526653</guid><author>cwpoint</author><pubDate>Sun, 05 Jun 2011 09:44:00 +0800</pubDate><description><![CDATA[网络信息异常丰富，过滤一些数据对家里的小朋友还是很有必要的。下面我就把C语言写的部分贴出来给有需要的朋友做个参考，我不是玩C语言的，写过的代码包括下面的也不超过2000行，下面的代码也很乱，写的时候急于求成，想到什么就写什么，过程内的代码一堆堆的，呵呵，好了不废话了，代码都有注释。效果： InstallYunerInfo安装 RemoveYunerInfo移除 必须在公共文档下面建立关键词文件，每]]></description><category></category></item><item><title><![CDATA[Delphi 有关日期时间的函数，以及StrToDateTime函数在不同系统出现错误的解决方案]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6525213</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6525213</guid><author>cwpoint</author><pubDate>Fri, 03 Jun 2011 17:27:00 +0800</pubDate><description><![CDATA[Delphi提供了很多关于时间和日期的函数，非常方便。引用uses DateUtils 但是有时候一个疏忽导致你不知道错在哪里。类似Java的Date().getTime()函数，它返回1970年1月1日8点(UTC+8)到当前时间之间的毫秒数。在Delphi中用MinutesBetween函数就可以得到2个时间相差的毫秒数了。首先必须将1970年1月1日8点转换为TDat]]></description><category></category></item><item><title><![CDATA[Delphi 获取系统相关路径 -- SHGetSpecialFolderLocation]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6451781</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6451781</guid><author>cwpoint</author><pubDate>Sat, 28 May 2011 14:21:00 +0800</pubDate><description><![CDATA[参数参见Msdn：http://msdn.microsoft.com/en-us/library/bb762494(v=vs.85).aspx引用uses ShlObj 传递相关参数即可，如传递CSIDL_WINDOWS可获取Windows目录路径：ShowM]]></description><category></category></item><item><title><![CDATA[程序员是这么疯狂]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6439649</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6439649</guid><author>cwpoint</author><pubDate>Mon, 23 May 2011 14:31:00 +0800</pubDate><description><![CDATA[  现实？我还是喜欢做梦，白天主动做梦，晚上自动做梦。  整个宇宙就是上帝的一场梦，所以人类永远也无法理解宇宙，包括爱因斯坦，因为它是上帝的梦，人怎么可能理解。  你可以把人类看做是上帝梦中的主角，你可以想象上帝是何物，一个梦就是我们如今的一切。  至于人类研究的时空穿越，这是可能的，但不是人类理解的这样，实际上这是改变了上帝的整个梦，因此你去到的不是你的过去也不是你的未来。并且这和运动速度无关，运动速度与时间和空间没有任何关系，换句话说就是运动速度与上帝的梦没有关系，人类必须找到改变梦的方法，并且是改变上]]></description><category></category></item><item><title><![CDATA[Delphi 获取Internet缓存文件 -- FindFirstUrlCacheEntry FindNextUrlCacheEntry]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6438668</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6438668</guid><author>cwpoint</author><pubDate>Sun, 22 May 2011 23:43:00 +0800</pubDate><description><![CDATA[<br />下面是我写的一个函数，把所有的缓存文件路径添加到一个字符串列表中，直接看代码，带了注释。另外还有删除缓存等等大家自己到msdn找找。<br /> <br /> <br />需要引用WinInet<br /> // 获取Internet缓存文件
function GetCacheFilePath(): TStringList;
var
  pEntryInfo: PInternetCacheEntryInfo;
  lCacheDir, lEntrySize, lLastError: Ca]]></description><category></category></item><item><title><![CDATA[Delphi WebBrowser 使滚动条滚动到底部]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6409519</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6409519</guid><author>cwpoint</author><pubDate>Tue, 10 May 2011 16:23:00 +0800</pubDate><description><![CDATA[<br />网上的代码不好使，下面是经过改正的：<br />(webbrowser1.Document as IHTMLDocument2).parentWindow.scrollTo(0,((webbrowser1.Document as IHTMLDocument2).body as HTMLBody).scrollHeight);]]></description><category></category></item><item><title><![CDATA[Delphi WebBrowser 去除滚动条和边框]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6406983</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6406983</guid><author>cwpoint</author><pubDate>Mon, 09 May 2011 16:56:00 +0800</pubDate><description><![CDATA[<br />去掉滚动条只对某些网页起作用，比如百度的页面就不知道为什么去不掉。<br />下面是用Webbrowser显示图片时去掉边框和滚动条的方法，也适用于部分网页，实际上就是设置网页CSS。<br />在DocumentComplete事件中加入下列代码即可。<br />  ((WebBrowser1.Document as IHTMLDocument2).body as HTMLBody).scroll := 'no';
  (WebBrowser1.Document as IHTMLDocume]]></description><category></category></item><item><title><![CDATA[再谈Delphi关机消息拦截 -- 之控制台程序 SetConsoleCtrlHandler]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6373025</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6373025</guid><author>cwpoint</author><pubDate>Fri, 29 Apr 2011 22:37:00 +0800</pubDate><description><![CDATA[<br />这里补充一下第一篇文章中提到的拦截关机消息<br />Delphi消息拦截：http://blog.youkuaiyun.com/cwpoint/archive/2011/04/05/6302314.aspx<br /> <br />下面我再介绍一种在控制台程序中拦截关机消息的方法。<br />使用SetConsoleCtrlHandler函数。经过测试这个函数不能取消操作。<br /> program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,]]></description><category></category></item><item><title><![CDATA[Delphi 获取当前目录]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6370985</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6370985</guid><author>cwpoint</author><pubDate>Fri, 29 Apr 2011 02:07:00 +0800</pubDate><description><![CDATA[<br />用delphi自带的几个函数<br /> <br />ExtractFilePath  //路径后面带有 "/"  (不管是在磁盘根目录还是哪里)
ExtractFileName  //文件名
ExtractFileExt   //扩展名<br />例子：<br /> <br />ExtractFilePath(ParamStr(0));  // C:/
ExtractFileName(ParamStr(0));  // Project.exe
ExtractFileExt(ParamS]]></description><category></category></item><item><title><![CDATA[命令查询进程信息 wmic]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6368042</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6368042</guid><author>cwpoint</author><pubDate>Wed, 27 Apr 2011 22:08:00 +0800</pubDate><description><![CDATA[<br />我需要获取进程的命令行，也懒得用那些工具了，搜索一下突然找到了一个很强大的命令：wmic<br /> <br />msdn：http://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx<br /> <br />下面的例子就是查看进程的命令行以及进程id和父进程id<br />wmic process where caption="explorer.exe" get ParentProcessId,ProcessId,CommandL]]></description><category></category></item><item><title><![CDATA[Delphi 获取CPUID和制造商]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6314254</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6314254</guid><author>cwpoint</author><pubDate>Sun, 10 Apr 2011 22:34:00 +0800</pubDate><description><![CDATA[<br />网上C++代码转的<br />能正确获取<br /> <br /> <br />//获取CPUID
function GetCpuId(): UINT;
var
  bException: BOOL;
  szCpu: array [0 .. 15] of BYTE;
  uCpuID: UINT;
begin
  Result := 0;
  ZeroMemory(@szCpu, sizeof(szCpu));
  uCpuID := 0;
  bException := ]]></description><category></category></item><item><title><![CDATA[Delphi 消息拦截篇 -- 之拦截系统关机、重启、注销]]></title><link>https://blog.youkuaiyun.com/cwpoint/article/details/6302314</link><guid>https://blog.youkuaiyun.com/cwpoint/article/details/6302314</guid><author>cwpoint</author><pubDate>Tue, 05 Apr 2011 00:47:00 +0800</pubDate><description><![CDATA[<br />最近做的项目中需要拦截系统关机，因为我在FormCloseQuery中总是把CanClose设为False，不拦截关机的话直接导致系统中的关机、重启、注销都失效了！导致用户不能关机！(提示用户说要关机的话直接按电源^^)这样肯定是不行的！<br /> <br /> <br />要完成这个功能只需要拦截到WM_QUERYENDSESSION消息就万事Ok!<br />关键在于怎么在Delphi下拦截WM_QUERYENDSESSION消息呢？Delphi也是很强悍的，当然不用直接去SetWindo]]></description><category></category></item></channel></rss>