摘要:
众所周知,计算机之间通信是通过端口进行的,例如你访问一个网站时,Windows就会在本机开一个端口(例如1025端口),然后去连接远方网站服务器的一个端口,别人访问你时也是如此。默认状态下,Windows会在你的电脑上打开许多服务端口,黑客常常利用这些端口来实施入侵,因此掌握端口方面的知识,是安全上网必备的技能。一、常用端口及其分类电脑在Internet上相互通信需要使用TCP/IP协议,根据TCP/IP协议规定,电脑有256×256(65536)个端口,这些端口可分为TCP端口和UDP端口两种。如果按照端口号划分,它们又可以分为以下两大类:1.系统保留端口(从0到1023)这些端口 阅读全文
摘要:
IIS Web服务器安全加固步骤: 步骤 安装和配置 Windows Server 2003。 注意: 1.将\System32\cmd.exe转移到其他目录或更名; 2.系统帐号尽量少,更改默认帐户名(如Administrator)和描述,密码尽量复杂; 3.拒绝通过网络访问该计算机(匿名登录;内置管理员帐户;Support_388945a0;Guest;所有非操作系统服务帐户) 4.建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这时需要对这些文件所在的文件夹权... 阅读全文
摘要:
前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细分析DLL的最后一种类型――MFC扩展DLL。6.1概论MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。从前文可知,MFC规则DLL被MFC向导自动添加了一个CWinApp的对象,而MFC扩展D 阅读全文
摘要:
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库.. 阅读全文
摘要:
本文参考了老外的文章:http://www.overclockers.com/tips1212/一般从网上下到的VS.net 2003 都是CD镜像文件,安装的时候要经常换盘,很麻烦。又很难做成绿色软件(光注册表项就有几十万项)。VS2005有DVD版的,但是感觉比VS2003占资源,我的机子运行有点吃力。要是将几张CD镜像制作成一张DVD就方便多了。我的方法如下:现有CD盘如下:一张预安装的盘PRE1,两张安装盘SETUP1、SETUP2,三张MSDN盘。1、在D盘建立目录D:\VS20032、依次拷贝SETUP2和SETUP1里面的内容到VS2003目录下,如果提示需要覆盖的话,选择是。这 阅读全文
摘要:
从事网游行业的工作人员,如果一款游戏上线,必须上大量服务器。用品牌机引导盘装系统,再打个补丁,速度真让人不敢恭维。为了提高效率,就尝试制作一张集成系统补丁/RAID及硬件驱动自动安windows 2003系统盘。下面以品牌机DELL 1950和2950为例,算是比较经典两款型号!已经停产了.对于其他品牌机器,可以参考本文制作自动安装盘!制作自动启动盘,也可以利用nLite,但是我们为了服务器操作系统纯净并且稳定些,选择修改系统母盘一些参数,全过程不借助其它第三方软件来解决这个问题. 目录1. 准备dell(1950和2950)Raid及硬件驱动2. 编辑txtsetup.sif 文件3. 修改 阅读全文
摘要:
stdafx.h、stdafx.cpp的作用这两个文件用于建立一个预编译的头文件.PCH和一个预定义的类型文件STDAFX.OBJ。由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时。因此,我们把常用的MFC头文件都放在stdafx.h中,如afxwin.h、afxext.h、afxdisp.h、afxcmn.h等,然后让stdafx.cpp包含这个stdafx.h文件。这样,由于编译器可以识别哪些文件已经编译过,所以stdafx.cpp就只编译一次,并生成所谓的预编译头文件(因为它存放的是头文件编译后的信息,故名)。如果读者以后在编程时不想让有些MFC头文件每次都被编译,也 阅读全文
摘要:
void CRegisterDialog::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CRegisterDialog)DDX_Control(pDX, IDC_INCOME, m_ctrlIncome);DDX_LBString(pDX, IDC_INCOME, m_strIncome);DDX_CBString(pDX, IDC_KIND, m_strKind);DDX_Check(pDX, IDC_MARRIED, m_bMarried);DDX_Text(pDX, ID 阅读全文
摘要:
SetTimer SetTimer函数的用法 1 )用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函数 ); 例如 SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器 在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了 阅读全文
摘要:
编程序最重要的是什么?除非你是天才,否则的话,我认为最重要的是学会调试、找出问题所在并解决问题,而不是一开始就写出一些成功的代码,甚至一般人看不懂的代码(这些人一般都是天才,当然,也有可能是写了无数次的熟练工)。看过n多的人学了几年编程都不会调试,也罗嗦了n次,现在正好copy一个别人的代码,其中解决一个小错误的过程希望拿来让初学者学习。既然是给初学者学习的,当中不会有太复杂的东西,不会有复杂的调试过程,甚至可以说没有逻辑错误。好,开始!环境为vc6.0,现象就是编译没有错误,运行出错(初学者最经常这么说了),具体来说就是运行程序(对话框工程),点击一个按钮,然后弹出一个错误对话框:”0x00 阅读全文