自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浪的专栏

让我们每天进步!

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 SYSTEMTIME变量进行比较差值得到天数

CTime t1(sys_time1); CTime t2(sys_time2); CTimeSpan ts = t2 - t1; UINT nTotalDays = ts.GetTotalHours() / 24; ———————————————————————————————————————— win32下不支持CTime,win32下代码:——————————————————————————

2009-07-31 14:54:00 3312

转载 使窗口透明

#define LWA_COLORKEY 0x00000001  // Use color as the transparency color.#define WS_EX_LAYERED 0x00080000#define LWA_ALPHA 2   // Use bAlpha to determine the opacity of the layertypedef BOOL (WINAP

2009-07-29 11:12:00 476

原创 禁止程序多开,并将原程序带到前台

禁止程序多开,并将原程序带到前台 CString strMutexName = "MySingleInstance"; HANDLE hMutex = CreateMutex(NULL,FALSE,strMutexName);   if (  hMutex ) {  if ( ERROR_ALREADY_EXISTS == ::GetLastError() )  {//如果已有先前的实

2009-07-29 11:10:00 622

转载 打开文件对话框与目录选择对话框

 打开文件对话框与目录选择对话框 打开文件对话框const char pszFilter[] = _T("EXE File (*.txt)|*.txt|All Files (*.*)|*.*||");CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,  pszFilter, this);

2009-07-29 10:36:00 527

转载 设置revc()的等待超时时间

#include #include #define TCP#pragma comment(lib,"ws2_32.lib")int main( int argc ,char* argv[]){ WSAData wsaData; WSAStartup(WINSOCK_VERSION,&wsaData); DWORD begin,finish; struct timeval tv;

2009-07-29 10:30:00 690

转载 windows消息大全

windows消息大全  消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做T

2009-07-29 10:28:00 310

转载 windows消息机制

windows消息机制 一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。 二 Windows为当前执行的每个Windows程序维护一个「消息队列」。在发生输

2009-07-29 10:24:00 347

转载 无痛苦的软件维护——被遗忘的需求(软件工程方面)

 先说一个小笑话。有一个生产队队长,他对专家说:“现在我们生产队的地越来越多,牛越来越忙不过来了。我想要这么一种牛,他吃的草和普通牛一样多,但是干的活是普通牛的十倍。”专家说:“这种牛是可以造出来的,现在有基因工程。”队长说:“好吧,你给这造几头这样的牛。”于是专家找到了生物实验室,让生物实验室的人搞一个基因工程,把牛造出来。于是工程浩大,投资无法保证,合作多半是不愉快的收场。 现实世界里很多人分

2009-07-29 10:21:00 338

原创 重载(overload),覆盖(override),隐藏(hide)的区别

重载(overload),覆盖(override),隐藏(hide)的区别 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错!  我们先来看一些代码及其

2009-07-29 10:20:00 540

原创 使用MFC提供的Http类下载和上传文件

bool Download(const CString& strFileURLInServer, //待下载文件的URL const CString & strFileLocalFullPath)//存放到本地的路径 { ASSERT(strFileURLInServer != ""); ASSERT(strFileLocalFullPath != ""); CInternetSession se

2009-07-29 10:17:00 1137

原创 让List Control有Check Box 和 让List Box有Check Box

1.让List Control有Check Box 用SetExtendedStyle方法可以设置,看代码:(CListCtrl m_ListCtrl;)DWORD dwStyle = m_ListCtrl.GetStyle();dwStyle |= LVS_EX_CHECKBOXES;m_ListCtrl.SetExtendedStyle(dwStyle);2.让List Box

2009-07-29 10:15:00 1664

原创 CString::GetBuffer与ReleaseBuffer的用法

这是一个非常容易被用错的函数,主要可能是由于大家对它的功能不太了解。其实点破的话,也不是那么深奥。    GetBuffer(int size)是用来返回一个你所指定大小可写内存的成员方法。它和被重载的操作符LPCTSTR还是有点本质区别的,LPCTSTR是直接返回一个只读内存的指针,而GetBuffer则是返回一个可以供调用者写入的内存,并且,你可以给定大小。下面是个简单的,但也

2009-07-23 10:55:00 829

原创 利用自定义消息处理函数的WPARAM或LPARAM参数传递指针

有自定义消息:#define WM_TEST WM_USER+121 消息处理函数:afx_msg void OnTest(WPARAM wParam,LPARAM lParam); 该消息是一个主线程向辅助线程发送数据的消息。主线程中发送消息的代码:       m_param.pDoc=pDoc;    m_param.pSpecAnlyz=m_pSpecAnlyz;    // 

2009-07-23 10:11:00 7290

原创 VC中CString和WPARAM之间的相互转换(结构体变量和WPARAM之间的转换)

1 CString作为WPARAM进行传递    这种情况经常出现在自定义消息的发送语句中,将CString类型的变量作为WPARAM进行传递.直接将CString强制转化成WPARAM是不行的,正确的方法是这样的(将红色字体部分用你的消息和变量进行替换):   SendMessage(WM_SELCHANGE,   (WPARAM)lBoxSelText.GetBuf

2009-07-22 17:15:00 7744

转载 复制数组(

 复制数组(图)  5.4.3  复制数组因为数组是引用类型,所以将一个数组变量赋予另一个数组变量,就会得到两个指向同一数组的变量。而复制数组,会使数组实现ICloneable接口。这个接口定义的Clone()方法会创建数组

2009-07-20 11:32:00 960

原创 c++选取目录

C/C++ code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CString GetDirPath(){ CString strPath = ""; BROWSEINFO bIn

2009-07-15 16:29:00 545

转载 INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString

在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:  一.将信息写入.INI文件中.  1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTS

2009-07-14 13:29:00 566

原创 一段痛苦与煎熬的过程

近两个月了,心情无法得到平静,该面对的还将面对,在对与错的面前,也许只有等以后去评判了,今年却实有许多的不顺,经历了那么多事情,反而使自已变得优柔寡断起来了,今天,终于不得面对了.其实在机会来临,又去放弃机会的同时,这是个非常用痛苦的事情.希望这一次作出的决定是正确的吧.这么多年来.在职业的定位上总是交错不定,为了生存而放弃了好多的原则,背弃了自已心中长远的目标和那份坚持.也许跟朋友同学他们聊起这

2009-07-13 09:26:00 783

原创 多线程编程

多线程编程之一——问题提出一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDlg::OnSleepSixSecond() {

2009-07-10 11:55:00 600

转载 消息与消息队列

About Messages and Message Queues 基于windows的应用程序是事件驱动的。它们不进行明确的函数调用(比如调用C运行库)来获得输入。取而代之的是他们等待操作系统将输入传递给他们。 操作系统传递所有的输入给各种应用程序。每个window有一个函数叫做窗口过程,只要有输入操作系统就调用他们。窗口过程处理输入后,将控制返回给操作系统。详细资料请看窗口过程

2009-07-10 11:50:00 415

转载 线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点

 线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点 使用多线程技术可以显著地提高程序性能,本文就讲讲在程序中如何使用工作线程,以及工作线程与主线程通讯的问题。 一 创建线程        使用MFC提供的全局函数AfxBeginThread()即可创建一个工作线程。线程函数的标准形式为 UINT  MyFunProc(LPVOID );

2009-07-09 16:50:00 604

原创 VC中CList用法及其成员的使用

VC中CList用法及其成员的使用收藏    初学mfc者,往往对CList等mfc的Collect类的使用感到迷惑,在使用中经常会遇到许多问题,导致对vc中的Collect类的使用产生了惧怕。以下,就个人经历而言,告诉大家如何使用CList。CList是一个双向链表类。    1、头文件名不可少Clist类定义在Afxtempl.h 头文件中,因此在使用该类时,需要加这个头文件名。

2009-07-09 15:56:00 676

原创 CreateEvent和SetEvent函数

Windows API一日一练(45)CreateEvent和SetEvent函数当你创建一个线程时,其实那个线程是一个循环,不像上面那样只运行一次的。这样就带来了一个问题,在那个死循环里要找到合适的条件退出那个死循环,那么是怎么样实现它的呢?在Windows里往往是采用事件的方式,当然还可以采用其它的方式。在这里先介绍采用事件的方式来通知从线程运行函数退出来,它的实现原理是这样,在那个死

2009-07-09 15:35:00 588

转载 WaitForSingleObject

WaitForSingleObject  WaitForSingleObject的用法   WaitForSingleObject的用法  DWORD WaitForSingleObject(   HANDLE hHandle,   DWORD dwMilliseconds   );   参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有

2009-07-09 11:28:00 546

原创 C++内存泄漏

    C++没有垃圾回收机制,所以内存泄漏应该是程序员很关心的问题。所谓的内存泄漏就是用动态变量机制new了一段内存空间,以后不再需要这个变量的时候没有delete它,或者在没有delete之前,指针又指向了另外一个地址,这样先前的空间就丢失了。内存泄漏最典型的情况就是在函数中申请了一段动态空间,在函数返回前就没有delete它,造成内存泄漏。    此外对new操作的失败检查也是一个良

2009-07-07 18:01:00 396

原创 多线程编程实例----服务器客户端简单通信

    这是一个非常简单的通信程序,不需要什么前奏来说明这个问题,可以直接来看程序的实现,首先是服务器端的程序:int main(int argc, char **argv){ WSADATA wsd; SOCKET sListen, sClient; int iAddrSize; HANDLE hThread; DWORD dwThread; struct sockaddr_

2009-07-07 17:54:00 716

转载 期待已久的UI多线程编程

终于到了期待已久的UI多线程编程了,这个例子的效果很好,从中也学到了一些东西,我曾经就没有想到过将一个窗口分成几个部分,然后分别用不同的线程去控制这些部分的显示,看了这个例子以后就知道了,是不是在重绘窗口的时候也是采用了这个办法呢?也许吧。先来看看这个例子的主界面:                 值得一提的是,这是一个win32 application的例子,不过也许在这样的框架下实现这

2009-07-07 17:52:00 800

转载 多线程编程实例----多线程同时排序

 这是有趣的程序,是采用多线程使用多种排序算法同时进行排序,下面是主界面的截图:                想一想,这个程序的思路是非常简单的,无非就是开5个线程,然后每个线程的入口函数分别对应一个排序算法就可以了,然后如果用户选择的是单线程的话,那么就让这几种排序算法串行执行就可以了。但是应该注意一个问题,怎么去计时?单线程的好说,那么多线程的呢?答案在于WaitForMultipl

2009-07-07 17:48:00 4926 3

转载 多线程编程实例----线程同步之互斥量

互斥量和临界区差不多的,但是比临界区好理解,而且互斥量可以用于进程间的同步,所以我个人还是觉得相比于临界区而言,互斥量更加易用些。    其实这个演示程序的代码和前面使用临界区的代码差不多了,还是来简单的看一下吧:int APIENTRY WinMain(HINSTANCE hInstance,                     HINSTANCE hPrevInstance,   

2009-07-07 17:46:00 686

转载 多线程编程实例----线程同步之事件

    事件的使用也是非常简单的,事件与互斥变量的区别可以理解为:互斥变量是用来对控制队数据的访问的,但是事件是用来发出一个信号表示某个操作已经完成了。当然可以有这样的理解区别,不过在这个演示程序中,看不出使用上的差别,不过没关系,这里只是教我们怎么去使用事件机制同步线程。    //thread1DWORD WINAPI WriteProc(LPVOID pParm){ DWORD dw

2009-07-07 17:44:00 422

转载 如何从DC中取出Bitmap以完成图象抖动

这两天一直被如何从一个图象抖动的问题所困扰, 想了两天, 调试了两天终于搞明白了.      问题是这样的,我已知图象每个点的数据, 并且已经有在dc上绘制成图象的代码, 开始我的想法是从DC上得到Bitmap以完成图象抖动. 后来发现这种思路不对. 因为当前只有1个打印机dc, 我无法创建一个24位的dc从而创建内存位图, 选到内存dc中, 然后在内存dc中绘图. 可能你会说为什么不用打印机

2009-07-07 17:26:00 1866

转载 网管和黑客都必须知道的命令

网管和黑客都必须知道的命令  常用的几条NET命令: (与远程主机建立空管连接) net use //IP地址/ipc$ "" /use:"" (以管理员身份登录远程主机) net use //IP地址/ipc$ "密码" /use:"Administrator" (传送文件到远程主机WINNT目录下)copy 本机目录路径/程序 //I

2009-07-06 11:01:00 391

转载 C/C++ PING code

把SendARP部分换成ping功能函数就可以  其实不换也可以C/C++ code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdio.h>#include windows.h>

2009-07-03 15:40:00 772

转载 CImageList使用指南

CImageList使用指南 1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储,该控件是不可见的。通常与其它如CListBox,CComboBox,CComboBoxEx以及CTabCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以

2009-07-01 11:03:00 478

AES加密演示软件,可以方便的加密文件

AES加密演示软件,可以方便的加密文件,可以加密任何类型的文件

2009-11-16

snmp trap receiver

可用于接收SNMP TRAP,还可发送SNMP TRAP消息

2009-09-11

网卡流量采集.波形图输出

网卡流量采集.波形图输出,VC6.0,能做到实时采集,有兴趣的可以自已修改

2009-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除