随笔- 48
文章- 351
评论- 16
阅读-
25万
文章分类 - VC
VC++中进程间相互通信的十一种方法
摘要:进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的...
阅读全文
一点小结
摘要:GlobalAlloc 及其它 从用户的角度来看,WIN32的内存管理是非常简单和明了的。每一个应用程序都有自己独立的4G地址空间,这种内存模式叫做“平坦”型地址模式,所有的段寄存器或描述...
阅读全文
VC中GlobalAlloc,GlobalLock,GlobalUnlock的使用及其说明
摘要:调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。 GlobalA...
阅读全文
软件看门狗程序
摘要:一.概述 一些重要的程序,必须让它一直跑着;而且还要时时关心它的状态——不能让它出现死锁现象。当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误。我们首要做的事是,把这个Bug揪出来。但如果时间紧迫,这个Bug又“飘忽不定”,那么,我们还是先写一个软件“看门狗”,暂时应一下急吧。 “看门狗”的需求描述:“看门狗”的运行不出现界面窗口,具有一定的隐蔽性;定时判断目标进程是否运行在当前系统中...
阅读全文
最常见的20种VC++编译错误信息集合
摘要:1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h") 2、fatal error C1083: Cannot open include file: '...
阅读全文
虚拟内存技术原理和使用方法
摘要:引言 Windows的内存结构是深入理解Windows操作系统如何运作的最关键之所在,通过对内存结构的认识可清楚地了解诸如进程间数据的共享、对内存进行有效的管理等问题,从而能够在程序设计时使程序以更加有效的方式运行。Windows操作系统对内存的管理可采取多种不同的方式,其中虚拟内存的管理方式可用来管理大型的对象和结构数组。 在Windows系统中,任何一个进程都被赋予其自己的虚...
阅读全文
char*和CString转换
摘要:CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于 CString 地址之下的一个隐藏区域)以及一个缓冲区长度。 有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。 (1) char*转换成CString 若将cha...
阅读全文
ODBC API编程总结
摘要:过去用过JDBC,但一直没有用ODBC API写过程序。记得有一次用过ODBC还是在MFC环境下,另外无论Java,MFC还是delphi都对ODBC的API进行了封装,所以并没有真正意义上地与ODBC进行过亲密接触。所以今天就趁中午时间写了一个在C/CPP中直接调用ODBC API访问数据库的程序。完全没有借助MFC,所以看到的ODBC就更真切一些…… 百度空间不能上传文件,所以源代码也没法上...
阅读全文
在C++中的ODBC API数据库编程
摘要:一、动态加载数据源: 1、通过修改注册表加载数据源: ·用户数据源:HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI ·系统数据源:HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI 对于不同类型的数据源,注册表的修改也不同,但基本上要修改两个地方,一个是在ODBC.INI子键下建立一个与数据源描述名同名的子键,并在该...
阅读全文
VC Studio 使用技巧大全
摘要:1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 ...
阅读全文
功能强大的vc6调试器
摘要:要成为一位优秀的软件工程师,调试能力必不可缺。本文将较详细介绍VC6调试器的主要用法。 windows平台的调试器主要分为两大类: 1 用户模式(user-mode)调试器:它们都基于win32 Debugging API,有使用方便的界面,主要用于调试用户模式下的应用程序。这类调试器包括Visual C++调试器、WinDBG、BoundChecker、Borland C++ Bui...
阅读全文
学习VC中所得的点点技术心得6(转)
摘要:251 改变编辑框控件中光标的图形: ---------------------------------------------------------- CBitmap* pBitmap = new CBitmap; pBitmap->LoadBitmap(IDB_HAPPY_BITMAP); //IDB_HAPPY_BITMAP为工程中.bmp资源,大小任意,但颜色超过16色的话色...
阅读全文
学习VC中所得的点点技术心得5(转)
摘要:191 用SetVolumeLabel函数修改U盘卷标时据说windows会刷新里面的内容。 GetSafeHwnd(), WM_COMMAND, ID_FILE_PRINT_PREVIEW, 0); --------------------------------------------------------------------------------- 20...
阅读全文
学习VC中所得的点点技术心得4 (转)
摘要:151 改变CStatic控件的前景、背景色:http://community.csdn.net/Expert/topic/4507/4507710.xml?temp=.1524164 处理WM_CTLCOLOR消息: --------------------------------------------------------------------- HBRUSH CQQDlg::...
阅读全文
学习VC中所得的点点技术心得3 (转)
摘要:101 怎样取得程序自己占用的内存和CPU占用率:GetProcessMemoryInfo和GetPerformanceInfo 102 如何让你的程序运行在release模式下:build->set active configuration 103 监视文件夹是否被更新:FindFirstChangeNotification、FindNextChangeNotification、FindClos...
阅读全文
学习VC中所得的点点技术心得2 (转)
摘要:51 得到CListCtrl控件点击事件时点击的位置: ----------------------------------------------- void CTest6Dlg::onClickList1(NMHDR* pNMHDR, LRESULT* pResult) {NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNML...
阅读全文
学习VC中所得的点点技术心得1 (转)
摘要:1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改。 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息。 3 Java学习书推荐:《java编程思想》 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", S...
阅读全文
VC用法汇总
摘要:(1)如何通过代码获得应用程序主窗口的指针? 主窗口的指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化. (2)确定应用程序的路径 Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Example: T...
阅读全文
虚拟按键总结
摘要:在编程当中,我们会经常用到虚拟按键,然而具体的对应关系我们经常需要现查,下面将一些常用的虚拟按键总结如下: 符号常量 十六进制值 指定的鼠标或键盘按键 VK_LBUTTON 01 鼠标左键 VK_RBUTTON 02 鼠标右键 VK_CANCEL 03 Control-break 过程 VK_MBUTTON 04 鼠标中键 VK_BACK 08 BACKSPACE 键 VK_TAB...
阅读全文