Windows开发
文章平均质量分 65
猿小帅
带着追梦的心,行在路上
展开
-
windows编程学习——句柄
Windows编程学习之句柄1 介绍: 句柄,是整个Windows编程的基础,一个句柄是指使用一个唯一的整数值(32位OS中四字节长/64位OS中8字节长),来标识应用程序中不同对象和同类中的不同实例。应用程序能通过句柄访问相应对象的信息。1.1 定义:句柄是OS内标志程序建立的唯一整数1.2 由来:源于内存管理机制-虚拟...原创 2016-03-15 20:21:00 · 1046 阅读 · 0 评论 -
windows编程学习——关键代码段
多线程学习篇(一)关键代码段一、基本概念关键代码段:关键代码段也称之为临界区,工作在用户模式下。它是一小段代码,在执行前需要独占对一些共享资源的访问权。 优点:关键代码段工作在用户模式下,因此它简单,执行速度快。 缺点:不能在多个进程之间对线程进行同步(原因:它不是内核对象)二、API1、关键段相关APICRITICAL_SECTION结构体:这是一个未公开内...原创 2016-09-12 19:09:37 · 3234 阅读 · 0 评论 -
windows编程学习——GDI学习基础篇(1)
GDI学习旅途基础篇之一VOID GdiProc(HDC hdc){HPEN hpen,hpenOld;HBRUSH hbrush,hbrushOld;BYTE bRed = 0;BYTE bGreen = 0;BYTE bBlue = 0;//设置画笔颜色COLORREF cPen = RGB(bRed,bGreen,bBlue);//设置画刷颜色COLORREF cBr...原创 2016-12-18 21:24:52 · 626 阅读 · 0 评论 -
windows编程学习——共享内存(一)
#include <stdio.h>#include <Windows.h>#define SHAREMEMNAME "ZSShareMem"int main(){ DWORD err; HANDLE hShareMem = INVALID_HANDLE_VALUE; /*创建一个名字为ZSShareMem的共享内存*/ hShareMem = C...原创 2016-12-01 21:50:58 · 867 阅读 · 0 评论 -
windows编程学习——共享内存(二)
#include <stdio.h>#include <Windows.h>#define SHAREMEMNAME "ZSShareMem"int main(){ char *szShareMem = NULL; HANDLE hShareMem = INVALID_HANDLE_VALUE; hShareMem = OpenFileMappin...原创 2016-12-01 21:58:52 · 489 阅读 · 0 评论 -
windows编程学习——共享内存(三)
#include <stdio.h>#include <Windows.h>#define SHAREMEMNAME "ZSShareMem"int main(){ DWORD err; HANDLE hShareMem = INVALID_HANDLE_VALUE; char *address; int *p; hShareMem = Cre...原创 2016-12-02 16:06:37 · 381 阅读 · 0 评论 -
windows编程学习——互斥对象
对于互斥对象的操作包括:(1)创建互斥对象(CreateMutex)CreateMutex函数功能: 创建互斥量来确保一个线程独占对一个资源的访问。互斥量对象包含一个使用计数、线程ID以及一个递归计数。线程ID用来标识当前占用这个互斥量的是系统中的那个线程,递归计数表示这个线程占用该互斥量的次数。互斥量可以确保正在访问内存块中的任何线程会独占对内存块的访问权,这样就维护了数据的完整性。...原创 2016-12-07 20:33:34 · 633 阅读 · 0 评论 -
windows编程学习——获取系统信息
(1) GetSystemInfo函数功能:返回关于当前系统的信息。函数原型:void WINAPI GetSystemInfo(_Out_ LPSYSTEM_INFO lpSystemInfo//LPSYSTEM_INFO结构体指针); SYSTEM_INFO结构体功能:包括当前计算机的信息。这个信息包括计算机的体系结构、中央处理器的类型、系统中中央处理器的数量、页面的大小...原创 2016-12-07 20:43:43 · 556 阅读 · 0 评论 -
windows编程学习——多媒体时钟
以下是使用多媒体计数器时涉及的函数(1)DWORD timeGetTime(void) 返回从Windows启动开始经过的毫秒数(2)timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD dwUser, UINT f...原创 2016-12-07 20:47:00 · 2331 阅读 · 1 评论 -
windows编程学习——事件
基本概念事件内核对象:事件对象包含一个使用计数,一个用来表示事件是手动还是自动重置事件的布尔值和一个表示事件是否被触发的布尔值。事件对象类型:手动重置和自动重置。当一个手动重置事件被触发的时候,正在等待该事件的所有线程都将变成可调度状态。而当一个自动重置事件被触发时,只有一个正在等待该事件的线程变成可调度状态。事件的用途:通常我们使用事件,让一个线...原创 2016-09-16 22:11:43 · 859 阅读 · 0 评论 -
windows编程学习——等待函数
基本概念 等待函数:等待函数会让一个线程自动进入等待状态,直到指定的内核对象被触发。 APIDWORD WaitForSingleObiect( HANDLE hObject, DWORD dwMilliseconds);作用:使一个线程自动进去等待状态。...原创 2016-09-16 20:53:50 · 1198 阅读 · 0 评论 -
windows编程学习——CreateThread()函数
CreateThread()函数介绍:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, //指向SECURITY_ATTRIBUTES的指针,NULL默认为安全,不可被子线程继承 DWORD dwStackSize, ...原创 2016-04-21 17:12:44 · 1909 阅读 · 0 评论 -
windows编程学习——命名通道
命名管道数据传输过程:在服务器端调用CreateNamedpipe创建命名管道之后,调用ConnectNamedpipe函数让服务器端进程等待客户端进程连接到该命名管道的实例上。在客户端首先调用WaiteNamedpipe函数判断当前是否有可以利用的命名管道实例,如果有,就调用CreateFile函数打开该命名管道的实例,并且建立一个连接。下面是一些函数,以及一个具体实例服务器端程序:...原创 2016-12-07 20:19:13 · 990 阅读 · 0 评论