用命名内核对象防止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
  • 1403

FW:《windows核心编程》学习笔记(一)内核对象

Link:http://www.winu.cn/space-14160-do-blog-id-28428.html 1.内核对象:     1).符号对象     2).事件对象  ...

Windows进程内核对象句柄表

一个进程在初始化时,系统将为它分配一个句柄表。这个句柄表仅供内核对象使用,不适用于用户对象或GDI对象。 创建 一个进程首次初始化的时候,其句柄表为空。当进程内的一个线程调用一个会...

Windows核心编程学习八:事件内核对象

注:源码为学习《Windows核心编程》的一些尝试,非原创。若能有助于一二访客,幸甚。 1.程序框架 /* * 文件:Handshake.cpp * 时间:2013-07-10 * 描述:学...

Windows核心编程——》第三章 内核对象

1.什么是内核对象 内核对象是由内核分配的一块内存,它只能被内核访问。 这块内存存储着一个保存着内核对象信息的数据结构。 2.如何访问内核对象 应用程序不能直接访问内核对象,只能通...

《Windows via C/C++》学习笔记(五) 内核对象的“线程同步”

《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“等待函数” 用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。 ...

WINDOWS内核对象

WINDOWS内核对象   一.前言   Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象。内核对象是系统地址空间中的一个内存块,由系统创建...
  • a199228
  • a199228
  • 2011年09月15日 20:37
  • 471

windows核心编程系列学习记录3——内核对象

内核对象

Windows编程知识要点总结2-内核对象

二 内核对象1 Windows的内核对象指的是由内核分配的一个内存空间,该空间仅可由内核访问。是一种数据结构,用于管理对象的各种信息。2 内核对象由系统创建,用户程序仅仅是维护(拥有)一个对其的引用。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用命名内核对象防止windows同时运行两个程序
举报原因:
原因补充:

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