在编程时经常使用EVENT事件对象,在写代码时使用如下代码
TCHAR guid[] = _TEXT("2507C4EF-CBA1-7156-0BA8-E663034E2FF5");
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, &guid[0]);
创建出来的事件对象名称为\Sessions\1\BaseNamedObjects\2507C4EF-CBA1-7156-0BA8-E663034E2FF5 Sessions后面的1为会话ID,这个事件对象名称是使用Process Explorer看出来的。
但是在服务程序中使用guid打开这个事件对象时,是无法成功的,因为存在会话隔离,所以我们需要创建全局对象,在对象名称前添加global,如下编写代码
TCHAR guid[] = _TEXT("Global\\2507C4EF-CBA1-7156-0BA8-E663034E2FF5");
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, &guid[0]);
使用这个全局的guid创建的对象,在服务的会话或者其它会话中也可以打开,这个叫做全局对象。在Process Explorer中这个事件对象名称为\BaseNamedObjects\2507C4EF-CBA1-7156-0BA8-E663034E2FF5
标签:FALSE,E663034E2FF5,对象,创建,7156,0BA8,全局,guid From: https://www.cnblogs.com/ps12345678/p/16962772.html