KEY_NOTIFY 有什么用

原创 2017年01月03日 11:15:46
搜索KEY_NOTIFY的结果是:许可提供更该通知,
msdn上说,但并没有详细解释

Required to request change notifications for a registry key or for subkeys of a registry key.

其实这个值与

Required to request


 change notifications for a registry key or for subkeys of a registry key.


RegNotifyChangeKeyValue 函数有关

代码

Required to request


 change notifications for a registry key or for subkeys of a registry key.


#include <stdio.h>
#include <windows.h>

void main(int argc, char *argv[])
{
   DWORD  dwFilter = REG_NOTIFY_CHANGE_NAME |
                     REG_NOTIFY_CHANGE_ATTRIBUTES |
                     REG_NOTIFY_CHANGE_LAST_SET |
                     REG_NOTIFY_CHANGE_SECURITY; 

   HANDLE hEvent;
   HKEY   hMainKey;
   HKEY   hKey;
   LONG   lErrorCode;

   // Display the usage error message.
   if (argc != 3) 
   {
      printf("Usage: notify [HKLM/HKU/HKCU/HKCR/HCC] [subkey]\n");
      return;
   }

   // Convert parameters to appropriate handles.
   if (strcmp("HKLM", argv[1]) == 0) hMainKey = HKEY_LOCAL_MACHINE;
   else if (strcmp("HKU", argv[1]) == 0) hMainKey = HKEY_USERS;
   else if (strcmp("HKCU", argv[1]) == 0) hMainKey = HKEY_CURRENT_USER;
   else if (strcmp("HKCR", argv[1]) == 0) hMainKey = HKEY_CLASSES_ROOT;
   else if (strcmp("HCC", argv[1]) == 0) hMainKey = HKEY_CURRENT_CONFIG;
   else 
   {
      printf("Usage: notify [HKLM/HKU/HKCU/HKCR/HCC] [subkey]\n");
      return;
   }

   // Open a key.
   lErrorCode = RegOpenKeyEx(hMainKey, argv[2], 0, KEY_NOTIFY, &hKey);
   if (lErrorCode != ERROR_SUCCESS)
   {
      printf("Error in RegOpenKeyEx.\n");
      return;
   }

   // Create an event.
   hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
   if (hEvent == NULL)
   {
      printf("Error in CreateEvent.\n");
      return;
   }

   // Watch the registry key for a change of value.
   lErrorCode = RegNotifyChangeKeyValue(hKey, 
                                        TRUE, 
                                        dwFilter, 
                                        hEvent, 
                                        TRUE);
   if (lErrorCode != ERROR_SUCCESS)
   {
      printf("Error in RegNotifyChangeKeyValue.\n");
      return;
   }

   // Wait for an event to occur.
   if (WaitForSingleObject(hEvent, INFINITE) == WAIT_FAILED)
   {
      printf("Error in WaitForSingleObject.\n");
      return;
   }

   // Close the key.
   lErrorCode = RegCloseKey(hKey);
   if (lErrorCode != ERROR_SUCCESS)
   {
      printf("Error in RegCloseKey.\n");
      return;
   }

   // Close the handle.
   if (!RegCloseKey(hEvent))
   {
      printf("Error in RegCloseKey.\n");
      return;
   }
}






Required to request


 change notifications for a registry key or for subkeys of a registry key.

友情链接有什么用?

今天在群里,有人问友情链接有什么用?我能想到的也就增加网站流量,好的话增加网站排名,无非也就这些。那下面我们详细来说下友情链接的作用。   友情连接的定义:   友情链接是指互相在...
  • x63577811
  • x63577811
  • 2013年09月29日 10:18
  • 293

为什么用Linux

转自:ISM 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质。 我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。 G...
  • binwin20
  • binwin20
  • 2013年06月03日 16:16
  • 645

static有什么用

1、static有什么用 static是java的关键字,用static声明达到静态的目的。所谓静态,就是在程序编译后就能被使用,不需要创建任何实例。static能够修饰类、方法、变量以及类代码...
  • baidu_31657889
  • baidu_31657889
  • 2016年07月19日 14:27
  • 154

单片机有什么用?

二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机...
  • c_arm_java
  • c_arm_java
  • 2013年01月21日 15:10
  • 435

为什么用spring

spring技术可以说是java企业开发里最重要的技术,不过真的理解spring的作用和意义还真是一件麻烦的事情,很多人对spring理解其实都是停留在使用阶段(例如:声明式事务很好用等等),当今的s...
  • wang_lufei
  • wang_lufei
  • 2016年04月04日 19:07
  • 95

数据结构有什么用

数据结构对于从事计算机系统软件和应用软件设计与开发人员非常重要。程序设计语言为数据结构的描述提供了很好的手段,数据结构为程序设计语言类型系统的发展与完善奠定了基础。 以下是在网上摘录的对数据...
  • a997930294
  • a997930294
  • 2013年07月25日 19:10
  • 818

傅里叶变换有什么用?

分离信号这种行为才是最关键,最必要,甚至最常见的行为,以至于我们无时无刻都在进行这种行为比如我们耳朵能听到不同频率的声音,就是高音和低音,声音是由物体振动产生的,靠介质传播,让我们听到,传播的时候这些...
  • newarow
  • newarow
  • 2014年08月22日 11:40
  • 443

一、为什么用CMake

Cmake可以通过让开发者描述build参数在一个简单地可以移植的文本文件里,这个文件能够被cmake用来产生类似于MS Visual Studio和Apple’s Xcode的项目文件,当然也有*N...
  • wdkirchhoff
  • wdkirchhoff
  • 2015年02月04日 15:00
  • 3135

为什么用Linux

我已经半年没有使用 Windows 的方式工作了。Linux 高效的完成了我所有的工作。GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。我不是一...
  • u012334850
  • u012334850
  • 2014年09月24日 17:19
  • 313

LDAP有什么用?

对LDAP最直白的解释: 1 认证的烦恼 小明的公司有很多IT系统, 比如邮箱、SVN、Jenkins , JIRA,VPN, WIFI...... 等等 。 新人入职时需要在每个系统中申请一...
  • plyb602260747
  • plyb602260747
  • 2017年12月12日 10:51
  • 39
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:KEY_NOTIFY 有什么用
举报原因:
原因补充:

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