<?xml version="1.0" encoding="gb2312"?>

<rss version="2.0">
    <channel>
    <title>Apaqi’Program Design Blog</title>
    <link>http://apaqi2003.blog.tianya.cn/</link>
    <description>程序设计的开始
    </description>

    <item>
      <title><![CDATA[健康小护士 V2.1]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2005-2-16星期三(Wednesday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1183847&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>2.1的改进之处。<BR><BR>1、在2.0版增加的两种提示信息方式上，扩展了功能，单击提示窗口中的“锁定计算机”即可锁定计算机。<BR><BR>2、锁定计算机或者运行屏幕保护的时候，会暂停鼠标、键盘、时间的计数。<BR><BR>3、增加了系统栏的打开或隐藏主窗口菜单项。<BR><BR><BR>2.1版可执行文件的MD5码：c6941096b1cb6cdeb8978339c5024cc9]]></description>
	  <comments>2005-3-28 14:53:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1183847&amp;idWriter=0&amp;Key=0" target="_blank">(1)</a></comments>
    </item>

    <item>
      <title><![CDATA[健康小护士 V2.00]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2005-2-2星期三(Wednesday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1139890&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>这个版本要感谢我的好友——刘向辉<BR><BR>原本想短期内不升级的，在他的支持和鼓励下，才有了这个版本。<BR><BR>新版本增加了界面换皮肤的功能，有六种皮肤可更换；<BR><BR>支持三种提醒方式，新增的两种有美女哦  ^_^ <BR><BR>扩大了鼠标、键盘活动的取值范围。<BR><BR><a href="http://www.skycn.com/soft/21508.html">天空软件下载页面</a><BR><BR>2.0版可执行文件的MD5码：1b0b93a0d8d650d90de937e882c986da]]></description>
	  <comments>2005-2-2 12:03:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1139890&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[一个EXE文件,两个窗体,窗体的最小化互不影响]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2005-1-28星期五(Friday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1118293&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>在<a href="http://community.csdn.net/Expert/topic/3755/3755666.xml?temp=.9294397">CSDN</a>上面发帖子，没想到自己提问，自己解决了。<BR><BR>原来的本意是扩展这个软件的提示信息的功能，变成一个弹出提示窗口，但是操作起来才发现，Delphi中的主Form和其他Form之间有控制关系。<BR><BR>一旦主窗体最小化，其他所有的窗体都被最小化了。<BR><BR>于是便有了这个提问，后来自己找啊找，自己找到了答案。<BR><BR><a href="http://www.howtodothings.com/ViewArticle.aspx?id=32285b1e9b764692929ec4f1203d2f40">国外网站原文地址</a><BR><BR>帖子的解答：<BR><BR>This article demonstrates how to stop all forms in a Delphi app from minimizing when the main form minimizes.<BR><BR>For each child form that you wish to remain visible do this<BR><BR>type<BR>  TSomeForm = class(TForm)<BR>  protected<BR>    procedure CreateParams(var Params: TCreateParams); override;<BR>  end;<BR><BR>implementation<BR><BR>procedure TSomeForm.CreateParams(var Params : TCreateParams);<BR>begin<BR>  inherited CreateParams(Params);<BR>  Params.WndParent := GetDesktopWindow;<BR>end;<BR>]]></description>
	  <comments>2005-1-28 11:36:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=1118293&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[“健康小护士”上网了！]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-29星期三(Wednesday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=985468&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>早上一来，收到了“天空软件站”的来信，告诉我昨天提交的软件已经上站了。<BR><BR>呵呵，去看了看。<BR><BR><a href="http://www.skycn.com/soft/21508.html">天空软件站</a><BR><BR>关于注释，他们为了版面的美观，精简了不少。<BR><BR>补充一些：<BR><BR>--------------------------<BR>由于是系统级别的监视键盘和鼠标的活动，所以，不排除一些别有用心的人篡改程序。为防止这样的情况，请仔细核对文件指纹验证。<BR><BR>“健康小护士”可直接执行文件比较校验码：fb3162f24179bd330eba92bc4df9c266<BR><BR><BR>指纹校验程序WinMD5Sum说明：   <BR><BR>  一、 为什么要进行文件指纹验证   <BR>    文件从网上被下载回来运行，但这个文件有没有被人修改过，不得而知。如果这个文件被人修改过了，添加了木马或者病毒在里面，如何发现这种问题？下载一个文件，下了半天，又是断点续传，但文件到底有没有被破坏？   <BR><BR>  二、 文件指纹验证的基本思路   <BR>    通过某种算法，对具体的文件进行校验，生成一传值（校验和）。如果再次校验以后所得到的值和原来的值不同，就可以认为，文件有问题。   <BR><BR>  三、 使用指纹验证软件   <BR>    WinMd5Sum是一个普遍使用的指纹验证软件。如果您已经有了该软件，可直接运行使用，非常简单。如果没有，请到 http://winmd5sum.solidblue.biz <a href="http://winmd5sum.solidblue.biz/winMd5Sum-install.exe">下载安装</a>，它是完全免费的软件。<BR><BR>   <BR>  1、 单击“…”按钮，找到“健康小护士”程序文件；或者拖动文件到窗口；或者在FileName文件名栏输入所要校验的文件位置，如：c:\downloads\health_mini_nurse.exe   <BR>  2、 再在Compare比较栏粘贴上面所给的比较校验码，如 fb3162f24179bd330eba92bc4df9c266   <BR>  3、 然后点击Compare比较，该程序就弹出小窗口说：<BR><BR>MD5 Check Sums are the same，即MD5检查总和值一致，即告成功。<BR><BR>如果说：MD5 Check Sums are the different，即MD5检查总和值不同，即验证结果失败，所下载的软件可能被篡改过，可能含有病毒或者木马，不能用。 <BR>]]></description>
	  <comments>2004-12-29 9:28:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=985468&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[系统钩子心得]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-22星期三(Wednesday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=959835&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>好几天没有更新东西了，其实是一直在研究系统钩子。<BR><BR>关于钩子函数，<a href="http://bbs.2ccc.com/topic.asp?topicid=42758">这里有一强帖</a>，推荐跟我一样的初学者不妨看看，作为扫盲+进阶。<BR><BR><BR>由于跟系统相关，钩子的问题比较多，今天总算小有收获，特来记录点滴。<BR><BR>最初使用系统钩子，使用的是老外做的钩子组件，一套两份，分别针对鼠标和键盘，用起来也简单方便，老外的文档、范例写的齐全。<BR><BR>唯一的问题就是要收费！<BR><BR>还好这个东西出来的年代久远，破解早已问世，考虑到技术的日新月异，在下心安理得的用了破解。<BR><BR>问题接着出现，调试的过程，系统及其不稳定，常常死锁。系统2000下Ctrl+Alt+Del倒是可以呼出来窗口，但是，任务管理器根本呼不出来，自然不能杀掉进程。<BR><BR>没办法，只好老老实实学习API，看来看去，无非就是SetwindowsHookEx和UnHookWindowsHookEx，动手做做，又来了问题，跟踪的动作只能在窗体区域有效，出了窗体就不能捕捉了。<BR><BR>没办法，只好老老实实学习，发现大量的文章都重点提到，系统钩子只能有两种方式，进程或全局，要想获得全局hook,必须动用Dll，越看越觉得复杂，进而产生疑问——我的确看到过一些没有调用Dll的系统钩子程序啊。<BR><BR>终于的终于，发现了“日志钩子”一说，这可是个好东西，自动全局钩子，哈哈，鼠标、键盘一把抓。强！]]></description>
	  <comments>2004-12-22 16:47:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=959835&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[Dephi快捷健]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-17星期五(Friday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=939675&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>选择自<a href="http://dev.csdn.net/user/qixiao">qixiao</a>的Blog<BR><BR><BR>(1)块选代码:<BR>【ALT+鼠标左键】(或者【Shift+Alt+方向键】)<BR><BR>(2)代码模板:<BR>【CTRL+J】<BR><BR>(3)代码整块移动:<BR>【CTRL+SHIFT+I】（右移）<BR>【CTRL+SHIFT+U】（左移）<BR><BR>(4)源码定位:<BR>【CTRL+鼠标左键】将鼠标指向变量名、单元名、类名，再用该热键可定位到相应的说明<BR><BR>(5)定义与实现切换:<BR>SHIFT+CTRL+向上(或向下)】的方向键可和相应的过程、函数、事件的定义切换光标位置<BR><BR>(6)补上申明或函数:<BR>【CTRL+SHIFT+C】<BR><BR>(7)书签:<BR>【crtl+shift+n(n=1,2,3,4......)】定义书签<BR>【crtl+n(n=1,2,3,4......)】跳到书签n<BR><BR>(8)删除:<BR>【Ctrl+T】删除光标右边的一个单词。<BR>【Ctrl+Y】删除光标所在行。<BR>【Ctrl+Backspace】后退删除一个词<BR>【Ctrl+Shift+Y】删除光标之后至本行末尾之间的文本。<BR><BR>(9)大小写转换:【Ctrl+K+O,Ctrl+K+N】将选中的整块代码都转为小写或大写<BR>【Ctrl+O+U】切换选择块的大小写<BR><BR>(10)列出所有方法:<BR>【Ctrl+Space】需要关闭输入法的该快捷键<BR><BR>(11)组件调整<BR>【Ctrl+UP】向上移动当前组件(精确);<BR>【Ctrl+Left】向左移动当前组件(精确);<BR>【Ctrl+Down】向下移动当前组件(精确);<BR>【Ctrl+Right】向右移动当前组件(精确);<BR>【Shift+UP】减小当前组件的高度;<BR>【Shift+Left】减小当前组件的宽度;<BR>【Shift+Down】增加当前组件的高度;<BR>【Shift+Right】增加当前组件的宽度;<BR>【ESC】一层一层的往后选,直到窗体被选为当前组件为止<BR><BR>(12)快速选择<BR>【Ctrl+E】快速选择<BR><BR>(13)插入GUID<BR>【Ctrl+Shift+G】<BR><BR>(14)回车换行<BR>【Ctrl+M】同Enter键。<BR>【Ctrl+N】同Enter键，但光标位置保持不变]]></description>
	  <comments>2004-12-17 11:46:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=939675&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[优化Delphi的启动]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-15星期三(Wednesday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=931414&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>机器嘛，比较差，启动Delphi比较慢，找了一下优化启动速度的解决办法，感觉明显快多了，分享一下。<BR><BR>一：经常看到很多人说Delphi启动很慢，实际上，Delphi启动可以和VC差不多快的，只不过大家都没有注意到而已。  <BR>启动Delphi，然后Close  All，Close  All之后，然后到Project  Options中，选择Package，把不需要的Package去掉即可，只留下常用的即可，这样可以大大提高Delphi的启动速度！一般的，只要很短的时间就够了。而每一个工程可以单独配置Package的，你的工程可以配置独立的Package，而不会影响别的工程。<BR><BR>二：delphi启动确实有点慢，既要显示快闪屏幕，又要读注册表设置，对于配置低的机器简直是一种折磨，实际上我们完全可以通过启动参数来控制它：<BR>建立一个快捷方式，目标为：d:\delphi5\delphi5\bin\delphi32.exe /ns /np<BR>（我的delphi装在d:\delphi5目录下，你要做相应改变。）<BR>ns:no splash 不显示快闪屏幕<BR>np:no project不加载项目]]></description>
	  <comments>2004-12-15 9:53:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=931414&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[鼠标钩子组件TCPMouseHook]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-14星期二(Tuesday)多云</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=928468&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>想在程序中加入监测鼠标活动的代码，毫无疑问，需要用到WinAPI的钩子技术。但是，需求并不要求过多的功能，简单的功能套用复杂的代码实在不划算。<BR><BR>于是找到了一个控件——TCPMouseHook<BR><BR>利用搜索引擎可以找到它的下载，版本1.0，支持Delphi 4/5/6/7，开发年份2001年。注册费用$19.95 US Dollars或￡11.95 UK Pounds，价格算是不菲。时过境迁，注册机也能找到。<BR><BR>用起来非常简单，方法，事件和属性如下：<BR><BR>方法：<BR>Start_MouseHook Function:Boolean 启动鼠标钩子<BR>Stop_MouseHook Function:Boolean 结束鼠标钩子<BR><BR>事件：<BR>OnMouse<BR>鼠标状态的各种事件捕捉<BR>TMouseStates变量标识当前鼠标指针和按钮的各种状态 <BR><BR>属性：<BR><BR>Enabled: MouseHook功能开启 <BR>WindowHandle: 组件用来接收消息的句柄<BR>UserHookMsg: 为与DLL通信定制 WM_USER 消息<BR>DisableMouse: 使来自 Windows 之内的所有鼠标输入失去能力<BR>Name: 组件的名称]]></description>
	  <comments>2004-12-14 15:07:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=928468&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

    <item>
      <title><![CDATA[如何让应用程序只运行一次（Delphi7）]]></title>
	  <author>apaqi2003</author>
	  <category><![CDATA[健康小护士          ]]></category> <pubDate>2004-12-10星期五(Friday)晴</pubDate> 
      <link>http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=914126&amp;idWriter=0&amp;Key=0</link>
      <description><![CDATA[<br/>找了很多资料，方法也特别多，先是“<a href="http://article.taibangla.com/article/675.htm">利用Windows 的全局原子表信息来实现此功能</a>”，然后又是“<a href="http://www.7880.com/Info/Article-215ddec0.html">使用互斥对象让程序只运行一次</a>”，最后在“<a href="http://www.588188.com/netbook/tech/delphi/html/Delphi.Ohchina.509594.htm">Oh China</a>”找到了最强的一个文章，提供了Delphi下五种实现方法之多！最后还附带给了一个VB的实现方法。]]></description>
	  <comments>2004-12-10 16:04:00<a href="http://blog.tianya.cn/blogger/post_show.asp?BlogID=87996&amp;PostID=914126&amp;idWriter=0&amp;Key=0" target="_blank">(0)</a></comments>
    </item>

  </channel>
</rss>
