用命名内核对象防止windows同时运行两个程序

原创 2008年10月09日 11:19:00
利用创建命名内核对象的方法可以防止同时运行程序,由于可能其他人写的程序用的命名会与自己的重复,
所以建议采用唯一的GUID。
以下代码根据《winows核心编程》整理。
  1. #include <windows.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5.     HANDLE h = CreateMutexW(NULL, FALSE, L"{FA531CC1-0497-11d3-A180-00105A276C3E}");
  6.     if ( GetLastError() == ERROR_ALREADY_EXISTS )
  7.     {
  8.         printf("The application exists!/n");
  9.     }
  10.     else
  11.     {
  12.         printf("Run./n");
  13.     }
  14.     system("pause");
  15.     CloseHandle(h);   
  16.     return 0;
  17. }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Windows内核对象 - 通过异步程序调用(APC)实现的定时功能

Windows内核对象 - 通过异步程序调用(APC)实现的定时功能

Windows程序进程中内核对象句柄表

转自:点击打开链接 一个进程在初始化时,系统将为它分配一个句柄表。这个句柄表仅供内核对象使用,不适用于用户对象或GDI对象。 创建 一个进程首次初始化的时候,其句...
  • CTO_51
  • CTO_51
  • 2013-06-27 20:16
  • 1324

WINDOWS核心编程第三章内核对象的一点细节

久仰此书大名已久,可惜以前没看懂。。。现在感觉有点基础了回头再看,感觉多少有点死皮赖脸的嫌疑。。。。关于啥是内核对象请看第三章就对了,看的时候发现书上说GetCurrentProcess返回的是伪句柄...

Windows核心编程(三)内核对象

1、内核对象: 通过API来创建,每个内核对象是一个数据结构,对应一块内存,由操作系统内核分配,并且只能由操作系统内核访问。在此数据结构中少数成员(如安全描述符和使用计数)是所有对象都有的,但其他大...

windows核心编程<读书笔记三>内核对象

【文起】蟹儿的爱一直伴随着,奋斗! 内核对象 1、  定义: 内核对象可以供系统和应用程序使用来管理各种各样的资源,比如线程、进程、文件等。 内核对象就是内核分配的一个内存块,且只能由该内核来...

windows核心编程--内核对象和句柄泄漏

1. 什么是内核对象?        内核对象是操作系统分配的一个内存块,该内存块是一个数据结构,用于管理对象的各种信息。 当应用程序要与系统设备进行交互的时候,将使用到内核对象,出于安全...

《windows核心编程系列》三谈谈内核对象及句柄的本质

http://blog.csdn.net/ithzhang/article/details/7920204                           ...

windows 内核对象

以前老是分不清内核对象,用户对象。最近研究了一下这2个对象的使用,特别是内核对象的使用。 在系统中,对象分两类:内核对象和用户对象。  内核对象:访问令牌对象,文件对象,文件映射对象,I/0完成端口对...

Windows核心编程:内核对象

作者:shenzi 链接:http://hi.csdn.net/shenzi Windows核心编程:内核对象  1.对象和句柄     对象是静态定义的对象类型的单个运行时实...

windows内核对象

Index 内核对象进程的内核对象句柄表跨越进程边界共享内核对象 内核对象 1.什么是内核对象? 内核对象是windows内核分配的一个内存块,该内存块是一种数据结...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)