- 博客(67)
- 资源 (7)
- 收藏
- 关注
原创 MFC界面包装类(多线程时成员函数调用的断言失败)
MFC界面包装类 ——多线程时成员函数调用的断言失败 经常在论坛上看到如下的问题:DWORD WINAPI ThreadProc( void *pData ) // 线程函数(比如用于从COM口获取数据){ // 数据获取循环 // 数据获得后放在变量i中 CAbcDialog *pDialog = reinterpret_cast( pData );
2005-02-28 17:52:00 1940 5
原创 用dos命令扫描一个网段的全部端口,不需要任何工具
在win2000下开一个dos窗口,然后执行 for /l %a in (1,1,254) do start /min /low telnet 192.168.0.%a 3389 这样192.168.0.x这个段的所有开放3389端口得主机都会暴露 这条命令执行后 会在任务栏开254个小窗口 然后telnet链接失败的窗口会在大约5秒后自动退出 剩下的窗口就是相对应开放端口的主机了 看一下小窗口的
2005-02-28 17:45:00 1630
原创 用Visual C++打造IE浏览器(1)
前言 IE浏览器作为微软Windows系统捆绑销售的一个浏览工具,用来浏览千姿百态的网页,目前它已经占据了浏览器市场的半壁江山,成为Windows用户不可或缺的工具。首先,它的界面设计的很漂亮,如扁平按纽(按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起,这种状态称为手柄,并且其上的图像变得鲜艳醒目)、按钮上的文字说明以及按钮边上的小黑三角形状的下拉箭头(单击时显示下拉菜单)、工具条上的地
2005-02-26 21:25:00 1756 1
原创 用Visual C++打造IE浏览器(2)
(2)工具条上的下拉菜单 当用户点击按钮上的下拉箭头时,将出现相应的菜单,为了实现这个功能,手下需要在CMainFrame.cpp文件的消息映射中添加消息映射:ON_NOTIFY(TBN_DROPDOWN, AFX_IDW_TOOLBAR, OnDropDown);在CmainFrame.h文件中添加消息映射函数声明:afx_msg void OnDropDown(NMHDR* pNotifyS
2005-02-26 21:24:00 1589 1
原创 用Visual C++打造IE浏览器(3)
二、实现收藏菜单 一般IE的用户都有个习惯,那就是将自己喜欢的网址保存起来,以方便今后快速的登陆,为了使我们的浏览器能够显示IE收藏过的网址,程序中设置了一个"Favorites"菜单,通过RegOpenKey()、RegQueryValueEx()等函数操作Windows的注册表中的HKEY_CURRENT_USER//Software//Microsoft//Windows//Curr
2005-02-26 21:23:00 1324 1
原创 拨号上网程序
大家知道,在Netants、DownLoad Expert等软件中都带有定时拨号上网下载软件的功能。而一般用户的拨号上网,利用的是Windows的Remote Access Service(RAS,远程访问服务)。下面介绍一下其在Visual C++下的实现。 Visual C++为我们提供了包含RAS API声明的“ras.h″头文件。要在程序中实现拨号上网功能,其大致过程如下: 1.
2005-02-26 14:13:00 1590 1
原创 让C/C++图形程序独立运行
C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数: void far initgraph(int far *GD,int far *GM,char *P); 其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。 图形驱动程序由Borland公司(对于Turbo C
2005-02-26 14:11:00 1607 1
原创 一个ActiveX控件安全注册的例子
#include #include #include .../////////////////////////////////////////////////////////////////////////////// DllRegisterServer - Adds entries to the system registry/* 原来的代码(被注释)STDAPI DllRegisterServ
2005-02-26 14:10:00 1551 1
原创 非法探取密码的原理及其防范
一、非法获取Password的原理: Edit控件是Windows的一个标准控件,当把其Password属性设为True时,就会将输入的内容屏蔽为星号,从而达到保护的目的。虽然我们看来都是星号,但程序中的Edit控件实际仍是用户输入的密码,应用程序可以获取该控件中的密码,其他应用程序也可以通过向其发送WM_GETTEXT或EM_GETLINE消息来获取Edit控件中的内容。黑客程序正是利用E
2005-02-26 14:08:00 1068 1
原创 怎样在VC++中访问、修改注册表
Windows95/98/Me的注册表包含了Windows95/98/Me的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。在实际编程工作中,我们遇到了如何在Visual C++中对Windows95/98/Me注册表整个树状结构信息进行访问
2005-02-26 14:07:00 992 1
原创 CStringArray排序
CStringArray是MS VC++的一个容器类, 我们为它写一个排序函数.函数声明:void Sort(CStringArray &ca, //排序对象 BOOL ascending, //TRUE=升序, FALSE=降序; BOOL caseSensitive); //TRUE=区别大小写, FALSE=忽略大小写我们分别用
2005-02-25 08:34:00 2524 1
原创 温故而知新,学习MFC框架如何创建的过程
很久没有使用MFC了,以至于都忘记MFC框架复杂的窗口、文档、视的创建过程了。下面我们跟踪一个MFC MDI的应用程序,来温习或学习一下。 使用AppWizard创建一个MDI应用程序,我创建的应用程序叫MDITest,这样MFC生成了如下的类:类名作用CMDITestApp派生于CWinApp的应用程序类。CMainFr
2005-02-24 16:50:00 1424 1
原创 C++字符串完全指南(2)
MFC类 CStringMFC的CString含有TCHAR,它的实际字符类型取决于预处理标记的设置。通常,CString象STL字符串一样是不透明对象,只能用CString的方法来修改。CString比STL字符串更优越的是它的构造函数接受MBCS和Unicode字符串。并且可以转换为LPCTSTR,因此可以向接受LPCTSTR的函数直接传递CString对象,不必调用c_str()方法
2005-02-24 15:41:00 1549 1
原创 Visual C++.NET中 字符串转换方法[1]
Visual C++.NET涉及到ATL/ATL Server、MFC和托管C++等多种编程方式,不仅功能强大而且应用广泛。在编程中,我们常常会遇到ANSI、Unicode以及BSTR不同编码类型的字符串转换操作。本文先介绍基本字符串类型,然后说明相关的类,如CComBSTR、_bstr_t、CStringT等,最后讨论它们的转换方法,其中还包括使用最新ATL7.0的转换类和宏,如CA2CT、
2005-02-24 15:39:00 1620 1
原创 Visual C++.NET中 字符串转换方法[2]
五、BSTR、char*和CString转换 (1) char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行。例如:char chArray[] = "This is a test";char * p = "This is a test"; 或LPSTR p = "This is a test";
2005-02-24 15:38:00 1689 1
原创 用AppWizard创建并使用ToolBar StatusBar Dialog Bar
运行时程序界面如界面图,该程序拥有一个工具条用于显示两个命令按钮,一个用于演示如何使按钮处于检查状态,另一个根据第一个按钮的状态来禁止/允许自身。(设置检查状态和允许状态都通过OnUpdateCommand实现)此外Dialog Bar上有一个输入框和按钮,这两个子窗口的禁止/允许同样是根据工具条上的按钮状态来确定,当按下Dialog Bar上的按钮时将显示输入框中的文字内容。状态条的第一部
2005-02-24 10:10:00 1208 1
原创 CDialogBar
Dialog Bar类似一个静态的附在框架窗口上的对话框,由于Dialog Bar可以使用资源编辑器进行编辑所以使用起来就很方便,在设计时就可以对Dialog Bar上的子窗口进行定位。用于显示一些提示字符。MFC中使用CDialogBar类来Dialog Bar控件的各种操作。通过调用BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT
2005-02-24 10:09:00 1609 1
原创 MFC窗口位置管理详细分析及实例
在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且其宽度总能和主框架客户区宽度一致。工具栏窗口总能停靠在主框架的某一边不变,其宽度或高度总能
2005-02-24 10:08:00 1349 1
原创 多工具条编程秘技
对于一个应用程序来说,用户界面始终是至关重要的问题之一,因为它不仅决定了用户使用的方便程度,而且还能增加用户对软件的信赖程度。下面就如何利用VC++ 6.0编写带有多个工具条的应用程序的问题,谈一点自己的体会。一、实现多个工具栏通常在每个新建的工程项目中,AppWizard已经创建了一个默认的工具栏,其资源标识符ID为IDR_MAINFRAME,并且在主窗口类(如CMainFrame)内添加了一个
2005-02-24 10:04:00 1491 1
原创 一对夫妻程序员的故事
我刚结的婚,老公是大学同学,都是计算机专业的,毕业之后双双来到深圳,热情洋溢的工作,期望着靠两个人的努力建立一个温暖的小窝,希望永远相爱过幸福的日子,毕业一年以后还是男朋友的老公突然被查出来患上了乙肝,很快老公被原来公司解雇了,而且他们也没有给我老公办理任何医疗保险,同时,我也因为化验单上出现了三个加号而被公司辞退了,医生说,我刚刚被感染,可能会产生抗体,也可能会抵抗不了病毒而患病,和我本
2005-02-24 08:31:00 9798 110
原创 深度:中国RSS现状调查
编者按:对于中国广大中国网民来说,RSS还相对比较陌生,但它很可能成为2005年中国互联网上最热门的关键词之一。2004年开始,RSS在美国开始呈现爆炸式增长,计世网也紧跟潮流于去年年底推出了RSS --> 服务,成为国内最主要的RSS IT新闻源,并与看天下/周博通等领先的RSS阅读器建立了战略合作关系
2005-02-24 08:17:00 1403 1
原创 与WWW发展顺序一样的RSS
计世网消息 这段日子,只要在硅谷转悠,就不会听不到RSS这个词汇,即使是没有搞明白这一词汇意义的人也希望 --> 在这种技术上投资,成立与RSS有关的企业,或在它们的产品中集成RSS技术。AskJeeves约在二周前刚刚收购了Bloglines,也使得人们对RSS的兴趣更浓厚了。 R
2005-02-24 08:16:00 1009 1
原创 命名管道的使用
我在工作中碰到了一个这样的问题,有两个程序,第一个程序会fork一个进程exec调用第二个程序,这样调用后,第一个程序还是继续执行父进程的。我要求第一个程序的父进程停止运行,直到第二个程序退出或运行到某个时候才继续运行。下面是两个例子程序的代码先运行gui程序,再运行player程序./gui&在后台运行./player/*gui.c*/#include #include #inc
2005-02-23 08:56:00 968
原创 UNICODE 编程入门
UNICODE 编程入门简介 如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用
2005-02-23 08:53:00 1186
原创 关于自加运算符与二元运算符
1、自加运算符 ++ 运算规则:++在变量前,先运算,后取值;反之毅然。 如:int a = 2,b; b= ++a; //相当于:{a=a+1;b=a;} b = a++; //相当于:{b=a;a=a+a;}2、二元运算符 + 运算规则:先求得 + 号两边的表达式的值,再返后两端值相加后的结果。 如:int a = 2, b = 3,c; c = a
2005-02-23 08:50:00 974
原创 特化的是什么?
特化的是什么? #include templateclass c{ T m[size];public: void print_size() { std::cout }};template{ char m[100];public: void print_size() { std::cout }};int main(){ c().print_size();
2005-02-23 08:48:00 882
原创 C++普通重载,虚函数重载,纯虚函数重载
前一些时间里对这三类的重载不太了解.概念上有一些混.今天做了一个这样的例子来测试了一下到底这个几种函数的不同.基类:class A {public: A(); void f1(); virtual void f2(); virtual void f3()=0; virtual ~A();};子类:class B : public A {public: B();
2005-02-23 08:32:00 1385
原创 简单封装的一个彩色进度条【原创】
简单封装的一个彩色进度条【原创】 //=========================================================//// Copyright (c) 2000-2004 iWise Technologies,Co. Ltd.// All Rights Reserved.//// Product: iW988// File: GradientProgress
2005-02-23 08:25:00 1495 2
原创 一个透明的CStatic控件【原创】
一个透明的CStatic控件【原创】 如果我们自画了一个有背景的对话框,static控件在上面不透明是很不爽的。改进方法很简单,从MFC的CStatic派生一个类,下面是相应的代码:(使用的时候修改控件ID为其他值,不要是IDC_STATIC,否则不能添加用于ddx的变量) //========================================================
2005-02-23 08:24:00 1666 1
原创 VC环境下对函数调用的汇编分析【原创】
VC环境下对函数调用的汇编分析【原创】 前沿:对于我们平常编程中常出现一些细节,如__stdcall和__cdecl编译器如何为我们处理,函数中变量以及new出来的变量到底存放于哪些地方,等等一些列问题。本文将和大家一起分析程序执行的汇编语言,通过对此过程掌握使自己在开发中熟悉并优化自己的代码。作者:天衣有缝,联系邮件:waterpub@mail.csdn.net,MSN:waterpub_cn@
2005-02-23 08:22:00 830 1
原创 The Slider Control
OverviewA slider is a Windows control equipped with a small bar, also called a thumb, that slides along a visible line. There are two types of sliders: horizontal and verti
2005-02-21 17:28:00 2126 1
原创 CProgressCtrl类提供了少量的成员函数用来设置进度条
CProgressCtrl类提供了少量的成员函数用来设置进度条:void SetRange( int nLower, int nUpper );该函数用来设置进度条的范围.参数nLow和nUpper分别指定了最小和最大值,缺省时进度条的范围是0-100.int SetPos( int nPos );用来设置进度条的当前进度.函数返回的是进度条的前一个进度.int StepIt(
2005-02-21 17:27:00 1616 2
原创 CSliderCtrl类的成员函数
CSliderCtrl类的成员函数,可以对轨道条进行查询和设置:用GetRange和SetRange来查询和设置轨道条的范围,缺省的范围是0-100.函数的声明为void GetRange( int& nMin, int& nMax ) const;void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE );参数nMin和nMax
2005-02-21 17:26:00 1500 1
原创 The Color Changer
IntroductionIn this exercise, we will use track bars to change the color of a static control.Prerequisites:Dialog Boxes Colors Static Text Control Sli
2005-02-21 17:24:00 1137 1
原创 热键控件使用示例 CHotKeyCtrl
记得以前刚学VC时候不知道怎么使用控件面斑上的 HOTKEY控件, 那时看不懂MSDN英文帮助,在网上找了好久都无该控件的使用帮助,今天整理硬件看到我写的这个代码,看看是这么的简单啊,:) ==================================================================================BOOL CMyHotKeyDlg::
2005-02-21 16:34:00 1400 1
原创 VC++中进程与多进程管理的实现方法
进程 进程是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈、堆分配空间等动态分配的空间。进程仅仅是一个存在,是不能独自完成任何操作的,必须拥有至少一个在其环境下运行的线程,并由其负责执行在进程地址空间内的代码
2005-02-21 14:41:00 920 1
原创 Visual C++ ADO数据库编程入门(上)
ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO。现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要
2005-02-21 11:57:00 1915 2
原创 Visual C++ ADO数据库编程入门(下)
10、邦定数据 定义一个绑定类,将其成员变量绑定到一个指定的记录集,以方便于访问记录集的字段值。 (1). 从CADORecordBinding派生出一个类:class CCustomRs : public CADORecordBinding{BEGIN_ADO_BINDING(CCustomRs)ADO_VARIABLE_LENGTH_ENTRY2(3, adVarChar,
2005-02-21 11:56:00 1582 2
原创 关于ODBC数据源连接文本
关于ODBC数据源连接文本 在《外部数据库的连接原理》一讲中我们说过,ODBC提供对多种数据库的支持,如dBase、Access、MS SQL Server及Oracle,也就是说运用ODBC数据源中所提供的连接代码,我们可以实现对多种数据库的连接。以连接Access数据库为例,ODBC数据源连接文本的格式是: “Driver={数据库驱动程序};Dbq=数据库文件;” 在以上连接
2005-02-21 08:37:00 2928
原创 学会使用SafeArray
学会使用SafeArray也是很重要的,因为在ADO编程中经常要用。它的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去
2005-02-21 08:34:00 1136
小狗AI自动写作2.6密码118899.zip
2021-08-01
XEIM 文件传输模块代码
2010-10-12
XEIM|XEIM C/S 版飞鸽传书,2010-8-30 更新
2010-08-30
FreeEIM 企业即时通讯软件源代码2010年8月份最新版
2010-08-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人