
VC++
clearver
这个作者很懒,什么都没留下…
展开
-
【转】如何得到通过GetOpenFileName选择的多个文件的文件名
//下面的代码演示了如何得到GetOpenFileName允许多选的情况下选择的文件名#include int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){OPENFILENAME ofn;TCHAR szOpenFileNames[80*MAX_P转载 2010-01-14 21:05:00 · 1308 阅读 · 0 评论 -
Visual C++制作一个Sniffer实例
Sniffer是网络中一种常见的嗅探技术。对于网络管理员而言,他可以利用Sniffer来获取相关的网络流量情况进而发现一些潜在的网络性能或者安全问题;而对于黑客而言,Sniffer则能够帮助他得到一些重要的数据诸如用户名和密码或者其他的商业机密。Sniffer工作在用户看不见也注意不到的网络底层,隐蔽性极强,如被非法利用将会造成极大的危害,而利益受损的用户可能还浑然不觉。 为了转载 2010-03-04 17:07:00 · 1210 阅读 · 1 评论 -
VS2008 winpcap配置(解决fatal error C1083: Cannot open include file: 'sys/time.h'...
网上大多winpcap配置是关于vc6的,今天花了大半天用来配置在VS2008下的winpcap配置,我用的winpcap是4.0.2:配置过程如下:1.安装WinPcap_4_0_2.exe,即可以抓包的驱动程序2。下载winpcap开发包WpdPack_4_0_2.zip,里面有关开发相关的函数库以及例子3. 打开.net平台,设置环境目录;在菜单:工具->选项;弹出的选项窗体左边点击:项目和转载 2010-02-27 17:10:00 · 7835 阅读 · 0 评论 -
开发VisualStudio工程向导
1、对于C#、VB.net项目,可以创建一个工程,然后用主菜单的【文件】→【导出模板】把工程打包成向导模板。2、C++项目无法用“导出模板”功能,需要新建一个CustomWizard工程(1)新建项目→VisualC++→自定义向导,不要带UI(2)把要创建的模板工程的h、cpp、rc等文件(不包括vcproj文件)拷到工程的Templates/1033文件夹(3)在【模版文件】上点右键,添加现有转载 2010-02-01 23:59:00 · 1134 阅读 · 0 评论 -
listbox消息大全【转】
在看一程序是发现listbox的消息常量不懂,所以就找到了下面的资料。现贴出来和大家分享分享列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示.列表框具有边框,并且一般带有一个垂直滚动条.列表框分单选列表框和多重选择列表框两种.单选列表框一次只能选择一个列表项,而多重选择列表框可以进行多重选择.对于列表项的选择,应用程序用CreateWindowEx创建列表框转载 2010-01-18 21:08:00 · 1006 阅读 · 0 评论 -
虚拟键值表【转】
虚拟键十六进制值十进制值相应键盘或鼠标键VK_LBUTTON011鼠标左键VK_RBUTTON022鼠标右键VK_CANCEL033Ctrl-Break键VK_MBUTTON044鼠标中键VK_BACK088Backspace键转载 2010-01-18 21:07:00 · 1172 阅读 · 0 评论 -
网络编程之同步,阻塞,异步,非阻塞-网络编程【转】
同步:函数没有执行完不返回,线程被挂起阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者非阻塞:函数立即返回,通过select通知调用者这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步 Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念 在进行网络转载 2010-01-18 20:32:00 · 508 阅读 · 0 评论 -
UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching)【转】
参考文章(VC实现):http://www.vckbase.com/document/viewdoc/?id=1773内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的技术,但相关的技术文档却很少,转载 2010-01-18 20:31:00 · 1586 阅读 · 0 评论 -
注册表编程【转】
注册表是windows操作系统中用来存储系统设置的数据库。里面存储一些例如系统语言、已安装软件的配置、系统硬件配置等信息。用户可以通过对注册表的增减、修改等操作使得系统达到自己所需的运行效果。windows提供了一个注册表编辑器工具用来查看和修改注册表。除此之外,还提供了.reg为后缀的注册表文件对注册表写入数据。但是在我们编写应用程序相应修改注册表时,这些方法都比较麻烦,最直接的方法就是采用wi转载 2010-01-18 21:10:00 · 811 阅读 · 0 评论 -
Vista下普通权限进程动态提升权限 【转】
一、前提 在Vista/Win7下,加强了对安全的管理,对注册表修改,系统目录的文件操作,都需要管理员权限才能完成(当然虚拟存储机制,表面上也相当于能操作)。所以,对于程序中有相关操作的,这时候,就要求我们的程序必须拥有管理员权限。通过mainfest文件,我们可以让程序总是需要管理员权限执行,但是,这将导致程序每次运行时,都需要弹出UAC框老骚扰用户,另外,有时候我们的程序只是在某一些转载 2010-01-18 20:57:00 · 914 阅读 · 0 评论 -
【转】直接用socket实现HTTP下载
从HTTP服务器上下载一个文件有很多方法,"热心"的微软提供了WinInet类,用起来也很方便.当然,我们也可以自己实现这些功能,通过格式化请求头很容易就能实现断点续传和检查更新等等功能.本文附带的工程中有一个支持HTTP1.1协议,直接用Socket实现下载功能的DLL,实现了以下功能:1.连接主机2.格式化请求头3.设置接收,发送超时4.接收并分析回应头连接,发送,设置超时,接收数据等我就不细转载 2010-01-18 20:11:00 · 1190 阅读 · 0 评论 -
Vista下 VC编程申请UAC及XP风格的双重实现
最近一直在整U盘监控的程序 期间学到了不少 一是安装程序的制作 用的是GPBuilder 感觉还不错二是U盘插拔的响应 目前用后台持续遍历磁盘和响应U盘插拔消息两种方法来实现 三就是在UAC方面的研究 由于Vista UAC机制 自己的程序 在进行某些注册表操作时 没法实现 我就开始想 怎样申请UAC原创 2010-01-18 21:19:00 · 1628 阅读 · 0 评论 -
VoIP穿越NAT和防火墙的方法【转】
一、NAT/ALG 方式普通NAT是通过修改UDP或TCP报文头部地址信息实现地址的转换,但对于VOIP应用,在TCP/UDP净载中也需带地址信息,ALG方式是指在私网中的VOIP终端在净载中填写的是其私网地址,此地址信息在通过NAT时被修改为NAT上对外的地址。此时当然要求ALG功能驻留在NAT/Firewall设备中,要求这些设备本身具备应用识别的智能。支持IP 语音和视频协议(H转载 2010-01-18 20:34:00 · 818 阅读 · 0 评论 -
API注册表函数【转】
所谓 API(Application Programing Interface) 是 Windows 提供的一个32位环境下的应用程序编程接口,其中包括了众多的函数,提供了相当丰富的功能。我们在编制应用程序时,可以调用其中的注册表函数来对注册表进行操作以实现我们需要的功能。Windows API 中可用于注册表的函数一共有二十多个,根据其功能不同可以分为如下几类: 键管理类转载 2010-01-18 20:14:00 · 2879 阅读 · 0 评论 -
【转】托盘编程全接触
一、托盘简介 所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。其实,托盘区的编程很简单,下面简要阐述一下子喽^_^ 二、托盘编程相关函数 其实呢,把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了。转载 2010-01-14 21:18:00 · 749 阅读 · 0 评论 -
UDP穿透NAT的原理与实现之P2P篇【转】
首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。 最开始NAT是运行在路由器上的一个功能模块。 最先提出的是基本的NAT,它的产生基于如下事实转载 2010-01-14 21:49:00 · 853 阅读 · 0 评论 -
MSVCRTD.DLL的问题【转】
一般在编程序时,都是生成了调试版的程序,就是在那个Debug目录下的可执行文件。运行这调试版的exe文件,都会动态连接MFC42D.DLL和MSVCRTD.DLL这两个文件,所以你如果将这个文件在其它机器上运行而这台机器没有这两个文件或者缺少一个,系统则会出现:“找不到所需.dll文件-某某.dll”这样的提示。而一般系统都不带有这两个文件,除非是装了vc等转载 2010-01-14 21:27:00 · 1352 阅读 · 0 评论 -
【转】玩转key_event
模拟键盘平时不是很常用, 但是当调用某些快捷键执行某项功能时, 它真的是那么的方便呀. 你不信? 看看下面的实现, 你就会大呼: 为什么不早点告诉我? 1) 显示桌面: 很多软件有显示桌面的功能, 并且大家的方法都是遍历窗口, 然后让它们最小化, 其实 win系统给咱们了一个非常方便的WIN键(就是键盘上在CTRL键和ALT键之间的那个带win标志的按键)转载 2010-01-14 22:23:00 · 566 阅读 · 0 评论