
windownAPI
文章平均质量分 56
Nancy_m
挨踢人员 文艺程序员高级软件攻城诗个人铭言无淡泊以明志无宁静以致远
展开
-
generate和generate_n算法
generate和generate_n算法分类: 数据结构与算法 C++ & API算法目的用发生器对容器进行填充templatetypename ForwardIterator, typename Generator>void generate(ForwardIterator first, ForwardIterator last, Generator转载 2012-10-24 20:04:55 · 1889 阅读 · 0 评论 -
使用DLL在进程间共享数据
DLL入门浅析(5)——使用DLL在进程间共享数据 在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的,因为所有的进程用的都收同一块地址空间;而在Win32环境中,情况却发生了变化,每个进程都有了它自己的地址空间,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的进程所有。当进程在载入DLL时,操作系统自动把DLL地址映射到该进程的私有空间,也就是转载 2013-01-26 20:02:45 · 1392 阅读 · 0 评论 -
线程通信-PostThreadMessage
#include #include #include #include #define UM_MSG1 WM_USER+1 #define UM_MSG2 WM_USER+2 DWORD WINAPI Thread1(LPVOID para) { DWORD dwThreadId = *(DWORD *)para;转载 2013-01-26 21:01:22 · 1481 阅读 · 0 评论 -
Windows消息机制概述
Windows消息机制概述消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,转载 2013-01-26 20:06:23 · 822 阅读 · 0 评论 -
c++ 启动exe(外部程序)
关于三个SDK函数: WinExec, ShellExecute,CreateProcess 的其他注意事项:【1】定义头文件必须定义以下两个头文件:#include // 可替换为 windows.h#include 如果定义了头文件 #include 的话就不必定义 #include 了。【2】定义路径C++中所表示的路径要用 " // "而不是平原创 2013-03-06 20:47:49 · 47828 阅读 · 3 评论 -
C++获取计算机主机信息(计算机名称、IP)
#include #include #include #include #include "winsock2.h"#pragma comment(lib,"ws2_32.lib")using namespace std;int main(int argc, char* argv[]){ CString m_IP;//IP地址临时变量 CString m_LocalIP; //原创 2013-04-08 16:08:17 · 9725 阅读 · 0 评论 -
C++ _countf
Windows宏,用来计算一个静态分配的数组中的元素的个数,而sizeof是用来计算字节数。_countof(array);参数array数组的名字返回值array数组中的元素个数备注确保array是一个静态分配的数组,而不是一个指针。如果array是一个指针,在c语言中,_countof 会产生错误的结果;在C++中,_countof 会产生编译错误。所在头文件:原创 2013-04-09 16:12:01 · 1040 阅读 · 0 评论 -
《Windows核心编程》---Interlocked原子访问系列函数
转自:http://blog.youkuaiyun.com/ace1985/article/details/5729912所谓原子访问,指的是一个线程在访问某个资源的同时能够保证没有其他线程会在同一时刻访问同一资源。Interlocked系列函数提供了这样的操作。所有这些函数会以原子方式来操控一个值。Interlocked函数的工作原理取决于代码运行的CPU平台,如果是x86系列CPU,那么Int转载 2013-05-07 16:17:01 · 954 阅读 · 0 评论 -
Windows API获取系统配置文件的配置参数
在Windows平台下获取系统配置文件(如:System.ini)的配置参数。系统配置文件内容如下:[SYSTEM]ServiceIP = 10.128.11.99:60000CommuType = ShareMemory代码如下:包含头文件 Winbase.h (include Windows.h)//GetCurrentPath()函数获取可执行模块原创 2013-07-19 14:27:58 · 2941 阅读 · 0 评论 -
GetMessage和PeekMessage
深入GetMessage和PeekMessage Bob GundersonMSDN技术组作于:1992年11月11日 Creamdog译于:2002年3月13日 译者的话该文重点讲述了Windows处理事件、消息的具体过程和步骤。尤其是在系系处理鼠标键盘事件的过程上做了详解。通过这篇文章,你将对Windows的消息处理机制有一个较全面的了解。概念转载 2013-01-25 15:47:43 · 997 阅读 · 0 评论 -
PeekMessage与GetMessage 原型篇
BOOL PeekMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg);当消息队列中存在消息时, PeekMessage就返回TRUE, 最后一个参数可以为:PM_R转载 2013-01-25 15:51:35 · 988 阅读 · 0 评论 -
VC中进程与进程之间共享内存
VC中进程与进程之间共享内存进程A写数据,进程B读数据;进程A: #include "stdafx.h"#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ HANDLE lhShareMemory; char* lpBuffer = NULL; l转载 2012-12-23 17:03:30 · 1232 阅读 · 0 评论 -
Windows API——CreateEvent和SetEvent函数
Windows API——CreateEvent和SetEvent函数(1)CreateEvent函数原型:HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性 BOOL bManualReset, // 复位方式 BOOL bInitialS转载 2012-09-30 10:18:02 · 4094 阅读 · 0 评论 -
WaitForSingleObject 和 WaitForMultipleObjects
WaitForSingleObject 和 WaitForMultipleObjects:1.WaitForSingleObject 等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止。这些等待函数中最常用的是WaitForSingleObject: DWORD WaitForSingleObject(HANDLE hObject, DWORD转载 2012-10-27 15:12:27 · 1135 阅读 · 0 评论 -
Windows下API中CreateThread的用法
HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to security attributes DWORD dwStackSize, // initial thread stack size LPTHREAD_START_ROUTIN转载 2012-11-07 17:47:24 · 4016 阅读 · 0 评论 -
setsockopt()用法(参数详细说明)
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接转载 2012-11-10 08:46:05 · 955 阅读 · 0 评论 -
HGLOBAL句柄
HGLOBAL 这个是windows 定义的数据类型。这是个句柄,标示一个内存区,不是指针。在对内存区的操作中,一般用指针,从这个handle可以得到指针,然后就可以对内存区进行操作了。 -------------------------------------------------- eg: 开一个200byte的内存区,在里面赋值 HGLO转载 2012-11-10 08:56:55 · 1232 阅读 · 0 评论 -
VC中关于GlobalAlloc,GlobalLock,GlobalUnLock
调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。Gl转载 2012-11-10 09:15:44 · 658 阅读 · 0 评论 -
内存管理 - Windows内存管理
内存管理 - Windows内存管理 内存管理对于编写出高效率的Windows程序是非常重要的,这是因为Windows是多任务系统,它的内存管理和单任务的DOS相比有很大的差异。DOS是单任务操作系统,应用程序分配到内存后,如果它不主动释放,系统是不会对它作任何改变的;但Windows却不然,它在同一时刻可能有多个应用程序共享内存,有时为了使某个任务更好地执行,Windows转载 2012-11-10 09:45:42 · 917 阅读 · 0 评论 -
内存管理函数HeapAlloc,LocalAlloc,VirtualAlloc,malloc,new的异同
1. HeapAlloc:HeapALloc是从堆上分配一块内存,且分配的内存是不可移动的(即如果没有连续的空间能满足分配的大小,程序不能将其他零散的空间利用起来,从而导致分配失败)。该分配方法是从一指定地址开始分配,而不像GloabalAlloc是从全局堆上分配,这个有可能是全局,也有可能是局部。函数原型:LPVOIDHeapAlloc( HANDLE hHeap,转载 2012-11-10 09:47:43 · 1412 阅读 · 0 评论 -
C++精确计算代码执行时间精度微秒级
转自:博客园,作者:薛定谔的猫 http://www.cnblogs.com/liuhao2638/archive/2012/11/13/2768785.html精确计算代码执行时间精确测量一段代码的执行时间1.LARGE_INTERGER类型LARGE_INTERGER是union类型,用于表示一8个字节的有符号整数,定义如下:typedef unio转载 2013-07-29 19:48:47 · 11148 阅读 · 1 评论