随笔- 48
文章- 351
评论- 16
阅读-
25万
文章分类 - VC
VC对密码加密和解密函数
摘要:// Crypt.cpp: implementation of the CCrypt class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "Crypt.h" #ifdef _DEBUG #undef THIS_FILE static...
阅读全文
四种程序启动画面的制作方法(VC)
摘要:使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。 1.利用组件库中的Splash Screen组件实现 (1)用Photoshop等制作启动画面图像,保存为bmp格式。 (2)用A...
阅读全文
P2P之UDP穿透NAT的原理与实现(转)
摘要:论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Networ...
阅读全文
VC常见入门问题总结
摘要:1:fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解决 如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Header...
阅读全文
socket超时设置
摘要://连接超时 //-------------------------------------------------------------------------- //设置为非阻塞方式连接 unsigned long ul = 1; int ret = ioctlsocket(m_sSocket, FIONBIO, (unsigned long*)&ul); ...
阅读全文
__declspec(dllimport) 到底有什么用?
摘要:我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN...
阅读全文
对话框、窗口回调函数的差别
摘要:窗口消息处理程序传回一个LRESULT。对话框传回一个BOOL,它在Windows表头文件中定义为int型态。 如果窗口消息处理程序不处理某个特定的消息,那么它将呼叫DefWindowProc。如果对话框程序处理一个消息,那么它传回TRUE(非0),如果不处理,则传回FALSE(0)。 对话框程序不需要处理WM_PAINT或WM_DE...
阅读全文
收集VC错误
摘要:1. nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc nafxcwd.lib(timecore.obj) : error LNK2001: ...
阅读全文
网络经典命令行
摘要:1.最基本,最常用的,测试物理网络的 ping 192.168.10.88 -t ,参数-t是等待用户去中断测试 2.查看DNS、IP、Mac等 A.Win98:winipcfg B.Win2000以上:Ipconfig/all C.NSLOOKUP:如查看河北的DNS C:\>nslookup Default Server: ns.hesjptt.net.cn Address...
阅读全文
sizeof的用法
摘要:一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如siz...
阅读全文
端口截听实现端口隐藏,嗅叹与攻击(端口复用)
摘要:在WINDOWS的SOCKET服务器应用的编程中,如下的语句或许比比都是: s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); saddr.sin_family = AF_INET; saddr.sin_addr.s_addr = htonl(INADDR_ANY); bind(s,(SOCKADDR *)&saddr,sizeof(saddr)); 其实这当中存...
阅读全文
VC使用技巧2
摘要:1:使用vc开发项目时,常会遇到这种情况: 即明明只改动了一个文件,却要把整个项目全部重新编译连接一次。刚刚连接好,一运行,又提示重新编译连接一次,非常讨厌。这是因为出现了未来文件的缘故。 解决方法: 找出对应文件夹下的debug目录,将未来文件全部delete, 再rebuild all一次。(未来 文件即其创建和修改时间都比系统时间靠后) 2:有时,workspace中的cla...
阅读全文
VC++加速键的加入方法
摘要:一种是直接与菜单项关联的加速键 另一种就是自定义的加速键. 第一种: 首先在资源文件Accelerator中添加快捷键资源 ID选择你要关联菜单项的名称 然后再设置你的快捷键.什么?下一步?在.h文件中加入一个 HACCEL hAccel;变量 然后在OnInitDialog或初始化中加入hAccel=::LoadAccelerators(AfxGetInstan...
阅读全文
托盘CTrayNotify类
摘要:NIM_ADD 添加图标到任务栏通知区; NIM_DELETE 删除任务栏通知区的图标; NIM_MODIFY 更改任务栏通知区的图标、回调消息标志、回调窗口句柄或提示字串; 回调信息的获得及处理 通过这种方式,系统通知应用程序用户对图标的操作。如果一个应用程序生成了两个以上的图标,那么你可以根据wParam来判断是哪个图标返回的鼠标操作。通常,标准的...
阅读全文
Pragma的用法
摘要:pragma指令简介 在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作. 下面介绍了一下该指令的一些常用参数,希望对大家有所帮助! 一. message #pragma message(messagestring) 它能够在编译信息输出窗 口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #prag...
阅读全文
VC使用技巧1
摘要:1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”或Ctlr+E。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12 ...
阅读全文