WIndows API
文章平均质量分 59
Andy-Action-Now
这个作者很懒,什么都没留下…
展开
-
Windows Event 的各个相关函数解释 及 简单例子一个
SetEvent 是设置信号为 有信号状态ReSetEvent 是设置信号为 无信号状态CreateEvent的第二个参数如果是TRUE,意思是你必须用SetEvent和ResetEvent来设置信号,如果为FALSE,则用WaitForSingleObject自动进入无信号状态。结束后用SetEvent重置为信号状态。OpenEvent可以打开一个先前已经创建好的Event,只要转载 2013-08-05 22:19:00 · 1492 阅读 · 0 评论 -
windows 下进程 线程四中控制方法
1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻转载 2013-10-08 14:26:53 · 737 阅读 · 0 评论 -
vs2010 vc6 编译体积优化
VC写的程序体积是挺大的,网上也有很多优化的文章,都是针对VC6.0来说的。我把我的总结下。#include #pragma comment(lib,"kernel32.lib") #pragma comment(lib,"user32.lib")写Win32程序的话,windows.h 是必须的,使用动态连接必要的系统库,可以把link下的链接库全部删除,需要就练级。转载 2013-09-14 12:12:47 · 1322 阅读 · 0 评论 -
获取GPT 分区 信息
IOCTL_DISK_GET_PARTITION_INFO_EX control codeRetrieves extended information about the type, size, and nature of a disk partition.To perform this operation, call the DeviceIoControl function with the原创 2013-09-12 14:41:31 · 3339 阅读 · 0 评论 -
windows file operation
这几天在研究怎么才能加快windows文件读写速度,搜了很多文章,MSDN也看了不少。稍微给大家分享一下。 限制windows文件读写速度的瓶颈其实最终还是来源于我们硬盘的固有特性,磁盘本身的转速和硬盘的串行化工作机制。我们所能做的只是改善软件实现方法去逼近硬盘的极限读写速度。平时我们在拷贝粘贴文件的时候,其实是用的windows本身的实现,其中有一个很大的影响速度的地方就是它转载 2013-09-05 15:30:00 · 867 阅读 · 0 评论 -
磁盘驱动器 教程
有非常多的固有设备控制功能码要处理。这些请求都有参数,从输入空间得到参数后,把返回结果写到输出空间。无论什么请求,其输入和输出空间都是Irp->AssociatedIrp.SystemBuffer,但是每种请求的参数和返回都有自己的格式,需要一一阅读文档才行。 举例说明,下面的一些功能号检查磁盘的有效性。现在一律返回有效,这个请求简单,不带参数。 case IOCTL_DIS转载 2013-09-12 14:16:33 · 1550 阅读 · 0 评论 -
DeviceIoControl
硬盘序列号: 英文名 Hard Disk Serial Number, 该号是出厂时生产厂家为区别产品而设置的, 是唯一的, 是只读的, 利用硬盘序列号的加密往往是利用其唯一和只读的特性, 大多是针对有序列号的 IDE HDD而言, 对于没有序列号或SCSI HDD硬盘则无能为力, 这也是利用它进行加密的局限性. 卷的序列号: 英文名 Volume Serial Number, 该转载 2013-09-12 14:04:08 · 1254 阅读 · 0 评论 -
重温 孙鑫 VC++ 笔记
#include #define WINDOWNAME "ryan2013"LRESULT CALLBACK WndRyanProc( HWND, UINT, WPARAM, LPARAM );ATOM MyRegisterClass( HINSTANCE hInstance ){ WNDCLASS wndcls; wndcls.cbClsExtra=0; wndcls.cb翻译 2013-09-07 09:55:18 · 828 阅读 · 0 评论 -
error C2731: 'WinMain' : function cannot be overloaded
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd ){ 这里的“LPWSTR lpCmdLine”,改为“LPSTR lpCmdLine”,去掉一个W,编译成功~错误原因: 可以参考 windows.h 中 winmain 原型 定原创 2013-09-07 08:33:05 · 2943 阅读 · 0 评论 -
PreTranslateMessage作用和使用方法
PreTranslateMessage作用和使用方法 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数转载 2013-08-26 21:30:38 · 836 阅读 · 0 评论 -
WMI 例子
#define _WIN32_DCOM#include using namespace std;#include #include #pragma comment(lib,"wbemuuid.lib")int main(){ HRESULT hr; // initialize com library hr = CoInitializeEx(0, COINIT_MULTI原创 2013-05-14 17:13:52 · 1107 阅读 · 0 评论 -
STDMETHOD
STDMETHOD_是一个宏,用于定义指定返回类型的接口方法,包含virtual关键字。可用于定义方法声明。#define STDMETHOD_(type,menthod) virtual type STDMETHODCALLTYPE menthod 例如: STDMETHOD_ (ULONG, release)()展开后就是 virtual ULONG STDMETHODCALLTYPE rel转载 2013-06-04 22:53:32 · 882 阅读 · 0 评论 -
windows paint circle
// chap7_5.cpp : Defines the entry point for the application.//#include "stdafx.h"#include "chap7_5.h"#include #define PI 3.1415926#define MAX_LOADSTRING 100// Global Variabl原创 2013-08-08 22:42:11 · 713 阅读 · 0 评论 -
VC多屏幕显示
由于工程需要在多个显示器上显示不同类容,故查找了一些资料来满足这个功能。在VC中分为三步来操作:检测显示器个数;读取屏幕分辨率和其他参数;设置程序的显示坐标。第一步:检测屏幕个数 网上查找到的通用方法有两个:EnumDisplayDevicess和GetSystemMetrics,下面分别介绍一下: A。EnumDisplayDevices(百度百科连接:htt转载 2013-08-17 22:36:56 · 1262 阅读 · 0 评论 -
I/O 异步访问
#include #include #include using namespace std;HANDLE g_readEvent, g_writeEvent;int main(){ g_readEvent = CreateEvent( NULL, FALSE, FALSE, NULL ); g_writeEvent = CreateEvent( NULL, FALSE, FA原创 2013-09-26 11:48:18 · 809 阅读 · 0 评论