<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lewen的编程博客]]></title><description><![CDATA[在编程世界里畅游~]]></description><link>https://blog.youkuaiyun.com/LewenSky</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LewenSky]]></copyright><item><title><![CDATA[VC++:如何将程序最小化到托盘]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160879</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160879</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:25:00 +0800</pubDate><description><![CDATA[<br />一、托盘简介 <br /><br />所谓的“托盘”，在Windows系统界面中，指的就是下面任务条右侧，有系统时间等等的标志的那一部分。在程序最小化或挂起时，但有不希望占据任务栏的时候，就可以把程序放到托盘区。其实，托盘区的编程很简单，下面简要阐述一下子喽^_^ <br /><br />二、托盘编程相关函数 <br /><br />其实呢，把程序放到托盘上的本质就是先在托盘区绘制一个图标，然后把程序隐藏不见，再对托盘的图标进行消息处理，就可以了。 <br /><br />绘制图标以及确定图标所]]></description><category></category></item><item><title><![CDATA[Spy++原理初探]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160877</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160877</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:25:00 +0800</pubDate><description><![CDATA[<br />导读： <br />下载源代码<br />摘要：用Visual Studio搞开发的朋友对Spy++这个工具一定不陌生，它可以分析窗体结构、进程和窗口消息，对开发工作有很大辅助作用。我们需要研究某个对象时，只要调出其查找窗口，拖动探测器的指针到指定窗口/控件上释放即可。下面，笔者就和大家一起，用VC打造一个属于自己的Spy++。<br />关键字：句柄 消息 子类化<br />正文：<br />　　打开VC集成开发环境，建立一个基于对话框的工程。我们把这个工程取名为SpyXX。在窗体中画上一个图]]></description><category></category></item><item><title><![CDATA[使用 TWebBrowser 编辑网页]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160871</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160871</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:21:00 +0800</pubDate><description><![CDATA[<br />本例效果图:<br /><br /><br /><br />代码文件: unit Unit1;

interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebB]]></description><category></category></item><item><title><![CDATA[进程通信——使用WM_COPYDATA消息通信]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160865</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160865</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:20:00 +0800</pubDate><description><![CDATA[<br />3.4  使用WM_COPYDATA消息通信<br />对于少量数据可以用WM_COPYDATA方便地实现通信。由于SendMessage()是阻塞的，只有接收方响应了消息，SendMessage()才能返回，否则一直阻塞。所以，对于大量数据来说，用SendMessage()就容易造成窗口假死。3.4.1  通过WM_COPYDATA消息实现进程间通信的方法<br />在Win32中，WM_COPYDATA消息主要目的是允许在进程间传递只读数据。SDK文档推荐用户使用SendMessage()函]]></description><category></category></item><item><title><![CDATA[VC++程序自校验的简单方法 ]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160860</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160860</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:19:00 +0800</pubDate><description><![CDATA[<br />在Project->Settings->Link中去掉Generate debug info和Link incrementlly选项，再选择Category组合框的Customize，去掉Use program database选项，最后在Project Options中加入"/release"，一切OK！<br />#include <imagehlp.h><br />#pragma comment(lib, "imagehlp.lib")<br />bool CheckExeSum()<br]]></description><category></category></item><item><title><![CDATA[选择 SQL Server 排序规则]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160858</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160858</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:18:00 +0800</pubDate><description><![CDATA[<br />本主题介绍用于需要与不使用排序规则的 SQL Server 版本兼容的 SQL Server 实例的 SQL Server 2008 排序规则选项。<br />SQL Server 安装向导的“排序规则设置”页列出了以下 SQL 排序规则。<br />SQL 排序顺序 ID<br />排序顺序名称<br />说明<br />SQL 排序规则<br />31<br />diction.437<br />字典顺序，区分大小写<br />SQL_Latin1_General_Cp437_CS_AS_K]]></description><category></category></item><item><title><![CDATA[实例操作 教你玩转SQL Server存储过程]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160857</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160857</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:17:00 +0800</pubDate><description><![CDATA[<br /><br />　　首先介绍一下什么是存储过程：存储过程就是将常用的或很复杂的工作，预先用SQL语句写好并用一个指定的名称存储起来，并且这样的语句是放在数据库中的，还可以根据条件执行不同SQL语句， 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时，只需调用execute,即可自动完成命令。<br />　　请大家来了解一下存储过程的语法。<br />　　CREATE PROC [ EDURE ] procedure_name [ ; number ]<br />    [ { @para]]></description><category></category></item><item><title><![CDATA[VC中三种常见中文内码的转换方法(GB2312/GBK/BIG5)]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160851</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160851</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:15:00 +0800</pubDate><description><![CDATA[<br /><br />我们平时常见的三种中文内码是：GB2312(简体中文)、GBK、BIG5(繁体中文)。网上有很多中文内码的专用转换工具。我们碰到由于内码不一致而导致的乱麻问题，用这些工具可以进行相互转换。但论坛里经常有人问如何在自己的程序中集成这些功能呢？本文将介绍如何利用 Windows 提供的API 函数来实现。转换涉及到的 API 函数主要有两个：MultiByteToWideChar 和 WideCharToMultiByte。有关这两个函数的详细文档请参考 MSDN，本文不再赘述。 <br]]></description><category></category></item><item><title><![CDATA[在 C++ Builder中利用串行通信控件编程]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160844</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160844</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:14:00 +0800</pubDate><description><![CDATA[<br />　摘要：串口是常用的计算机与外部串行设备之间的数据传输通道，由于串行通信方便易行，所以应用广泛。本文介绍了在C++ Builder中如何利用串行通信控件进行串行通信编程。<br /><br />一、引言 目前，在用计算机进行数据传输时，常用的是串行通信方式。用C＋＋ Builder来编写串行通信程序时，可以调用Windows API函数，也可以利用VB中的MSComm控件。 利用 API函数编写实际应用程序时，往往要考虑多线程的问题，这样编出来的程序不但十分庞大，而且结构比较复杂，继承性差，维护]]></description><category></category></item><item><title><![CDATA[VC++下对匿名管道的编程实现]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160825</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160825</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:10:00 +0800</pubDate><description><![CDATA[1 概述管道（Pipe）实际是用于进程间通信的一段共享内存，创建管道的进程称为管道服务器，连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后，另一进程就可以从管道的另一端将其读取出来。匿名管道（Anonymous Pipes）是在父进程和子进程间单向传输数据的一种未命名的管道，只能在本地计算机中使用，而不可用于网络间的通信。　2 匿名管道实施细则匿名管道由CreatePipe（）函数创建，该函数在创建匿名管道的同时返回两个句柄：管道读句柄和管道写句柄。CreatePipe（）的函数原型为： BOO]]></description><category></category></item><item><title><![CDATA[进程间通信与线程间通信]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160821</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160821</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:08:00 +0800</pubDate><description><![CDATA[<br /><br />         以前一直想找个机会总结一下进程和线程的通信机制，但由于技术和平台的局限性，一直没有找准切入点。由于马上要毕业了，对自己技术的总结和梳理的前提下写了本篇文章，如有错误之处，敬请拍砖和指教。<br />         操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务，也就是程序的并行执行，windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源，支持多任务的并行执行。要并行执行就需要多进程、多线程。]]></description><category></category></item><item><title><![CDATA[STL中用erase()方法遍历删除元素  ]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/6160811</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/6160811</guid><author>LewenSky</author><pubDate>Mon, 24 Jan 2011 11:07:00 +0800</pubDate><description><![CDATA[<br />      STL中的容器按存储方式分为两类，一类是按以数组形式存储的容器（如：vector 
、deque)；另一类是以不连续的节点形式存储的容器（如：list、set、map）。在使用erase方法来删除元素时，需要注意一些问题。<br />      在使用 
list、set 或 map遍历删除某些元素时可以这样使用：<br /><br />正确使用方法1      std::list< int> 
List;<br />      std::list< int>::iterato]]></description><category></category></item><item><title><![CDATA[多媒体定时器]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/5864398</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/5864398</guid><author>LewenSky</author><pubDate>Sun, 05 Sep 2010 11:38:00 +0800</pubDate><description><![CDATA[        虽然Win95下可视化开发工具如VC、Delphi、C＋＋   Builder等都有专用的定时器控件Timer，而且使用很方便，可以实现一定的定时功能，但最小计时精度仅为55ms，且定时器消息在多任务操作系统中的优先级很低，不能得到及时响应，往往不能满足实时控制环境下的应用。不过Microsoft公司在Win32   API函数库中已经为用户提供了一组用于高精度计时的底层函数，假如用户使用得当，计时精度可到1ms。这个计时精度、对于一般的实时系统控制完全可以满足要求。现将由C＋＋   Bui]]></description><category></category></item><item><title><![CDATA[Delphi / C++ Builder 提示“unknown   picture   file   extension(.GIF)   ”的解決方法]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/5332956</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/5332956</guid><author>LewenSky</author><pubDate>Sat, 27 Feb 2010 23:17:00 +0800</pubDate><description><![CDATA[ 之前安装了一个TGIFImage控件，用起来还是挺方便的，让本来不支持Gif图片的Builder也用上了动态的GIF图片。但是今天Builder出了一些问题，于是重装了一下。但是没想到，重装后的Builder不能在代码里加载GIF图片，每次加载时都提示“unknown   picture   file   extension(.GIF)   ”。上网查了一下，没有找到有效的解决方]]></description><category></category></item><item><title><![CDATA[C++ Builder 中使TStringgrid 单元格文字居中代码]]></title><link>https://blog.youkuaiyun.com/LewenSky/article/details/5316975</link><guid>https://blog.youkuaiyun.com/LewenSky/article/details/5316975</guid><author>LewenSky</author><pubDate>Mon, 22 Feb 2010 15:07:00 +0800</pubDate><description><![CDATA[    if(ACol   FixedCols   ||   ARow   FixedRows)    //固定Cell与一般Cell颜色不同          strngrd_Fare->Canvas->Brush->Color   =   clBtnFace;    else          strngrd_Fare->Canvas->Brush->Color   =   c]]></description><category></category></item></channel></rss>