
C++ 编程故事
文章平均质量分 55
雨夜听花
从事专业软件开发有近10年经验, IT行业相关从业有12年经历,主要从事系统软件开发/系统实施/
集成等工作。 在Windows NT/2000/2003),Linux,Unix,WindowsCE平台上均有成功项目开发经验!精通.net开发体系,对于Oracle, SQLServer数据库系统有大型项目的实做(数据库设计/性能优化)经验。
展开
-
C++远程关机API的学习经历
记得刚学C++的时候,喜欢研究API,当时同事有一个高手,写了段代码,我在写程序的时候,莫明妙的,机器突然关掉了!我正在纳闷的时候,我听到了他的奸笑! 原来是他干的,后来我研究了好久InitiateSystemShutdown这个API函数,了解被作弄的原理了,因为我的机器加入了Windows的域,而且域的超级用户我也设置成对我本机有Administrator权限原创 2005-03-16 01:40:00 · 1923 阅读 · 1 评论 -
VC++ Socket控件编程Debug出Release正常的问题解决日记
最近在写一个Socket程序,是个文件传输的ActiveX放到网页里用的!我从原先一个成熟的Socket Client程序移植代码到ActiveX工程!原来的工程无论是Debug还是Release都没有任何异常!但是放到ActiveX项目里,出现问题了! Release状态编译以后,程序没问题,但是用Debug状态编译后,在执行sockClient.Create()语句时,出原创 2008-11-11 23:26:00 · 2357 阅读 · 0 评论 -
VC++ Dialog程序启动时自动隐藏最简办法
最近做了个CDialog程序,要黑人的,自然要隐藏窗体,但是网上一堆你抄我,我抄你的文章!写了一堆,有把窗体移动出屏幕隐藏的,有用ShowWindow(SW_HIDE) ,最恶心的还有用定时器的,都不好用! ShowWindow(SW_HIDE) 本来是最简单的,但是都没说清楚在放到哪里 ,在OnInitDialog里写,是一点效果都没有!我自己试了一下,在 OnPaint ()函数里原创 2008-05-04 11:31:00 · 1968 阅读 · 2 评论 -
VC++中进程间相互通信的十一种方法
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏转载 2008-04-18 08:37:00 · 1228 阅读 · 1 评论 -
VC++下剖析黑客软件隐蔽程序的手段
1、程序在任务栏中的隐藏原理 程序在任务栏的隐藏比较简单,首先要保证程序主界面的隐藏,一般是通过修改应用程序类的初始化实例函数InitInstance()的ShowWindow()语句的SW_SHOW参数为SW_HIDE来实现的。主界面隐藏的同时任务栏虽然也会消失,但在程序启动时会闪一下,因此需要修改程序的扩展属性。一种方法是SDK的写法,即直接利用GetWindowLong()获取到当前的扩展属转载 2008-04-16 16:36:00 · 984 阅读 · 1 评论 -
VC++6.0 无法设置断点的解决方法
恶心的VC6 ,没办法的是只要写Socket程序,我基本上都用VC6,其他的总觉得不习惯! 今天一开项目,发现没办法设置断点了,提示one or more breakpoint......... ,后来发现|只要先关闭程序,然后删除目录下的.opt和.ncb文件,重新打开项目,就OK!涛声依旧了!原创 2008-04-11 08:45:00 · 6586 阅读 · 3 评论 -
Windows Mobile开发资源介绍(转)
目前Windows Mobile的开发资源已经非常多了,我们在这里试着对这些资源进行一个归纳,使第一次进入Windows Mobile领域的开发者能够更容易得找到有用的开发资源。Windows Mobile是什么Windows Mobile是微软为智能手机和PDA提供的操作系统,在Windows Mobile 5.0之前分为Pocket PC和Smartphone两种版本,Pocket P转载 2008-01-09 08:22:00 · 1707 阅读 · 0 评论 -
VC++中使用Socket网络文件传输结构(转)
1.SOCKET_STREAM_FILE_INFO格式:typedef struct _SOCKET_STREAM_FILE_INFO { TCHAR szFileTitle[128]; //文件的标题名 DWORD dwFileAttributes; //文件的属性 FILETIME ftCreationTime; //文件的创建时间 FILETIME ftLastA转载 2007-10-06 22:41:00 · 7057 阅读 · 4 评论 -
C++ socket编程基础(理论篇)
对于SOCKET在这里我不想究其历史,我只想说其时它是一种进程通讯的方式,简言之就是调用这个网络库的一些API函数就能实现分布在不同主机的相关进程之间的数据交换. SOCKET中首先我们要理解如下几个定义概念:一是IP地址:IP Address我想很容易理解,就是依照TCP/IP协议分配给本地主机的网络地址,就向两个进程要通讯,任一进程要知道通讯对方的位置,位置如何来确定,就用对方的IP原创 2007-10-06 22:54:00 · 30022 阅读 · 18 评论 -
VC++ 输入.或者->无法显示对象成员列表解决备忘
有些时候由于对VC++有一些非常处理,导致打开一个VC++项目后,输入一个对象,再输入“ . ”或者“->”IDE没有任何反应,无法列出对象的成员列表!真是太恶心了!VC++那么多方法,IDE没有这个显示对象列表的功能,那可就麻烦了! 最常用有效的处理办法,就是删除项目所在目录下的.ncb文件!然后重新打开VC++项目,列表又可以显示了!正常,OK!原创 2007-10-20 22:06:00 · 1175 阅读 · 1 评论 -
vc++使用Create出现WSAEADDRINUSE错误的解决办法
程序原码:DWORD WINAPI CServerSocket:: ListenThread(LPVOID lparam){ try { //加以下语句可消除Debug时出现的afxwin1.inl的报错 //该错误在Release时是不出现的 //AFX_MANAGE_STATE(AfxGetStaticModuleState()); CServerSocket *pSe原创 2008-12-24 11:15:00 · 1892 阅读 · 0 评论