您的位置:首页 > 其它

使用内核对象使程序单实例运行:事件对象

2009-09-16 19:52 633 查看
内核对象是所有Windows进程都可以访问的,因此可以使用其中的互斥信号量和事件对象使程序单实例运行。。

比起原来的IO锁好了很多 = = DEMO如下:

【使用事件对象(事件信号量)实现】

Code:

//////////////////////////////////////////////////////////////////////////

// CopyRight(c) 2009, YOYO, All Rights Reserved.

// Author: LIN YiQian

// Created: 2009/09/16

// Describe: 使用事件对象控制单实例程序 演示

//////////////////////////////////////////////////////////////////////////

#include <Windows.h>

#include <iostream>

using namespace std;



void main(void)

{

HANDLE hInstance = CreateEvent(NULL, FALSE, TRUE, "SingleInstance");



if (hInstance)

{

if (ERROR_ALREADY_EXISTS == GetLastError())

{

printf("程序已经在运行!");



system("pause");

return;

}

}



while (true)

{

printf("程序正在运行中。。运行中。。运行中。。= =/n");

Sleep(100);

}



CloseHandle(hInstance);



return;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐