社区
进程/线程/DLL
帖子详情
请问 CreateEvent 后在另一个用户用 OpenEvent 为什么会打开失败?
fromgx
2010-02-03 05:40:44
先是在用户A 的 AA 进程中创建事件:
CreateEvent(NULL, True, False, "MyEvent");
接着用CreateProcessWithLogonW 创建一个B用户的进程BB,BB中这样打开事件时失败呀
OpenEvent(EVENT_ALL_ACCESS ,False, "MyEvent");
为什么呢?相同用户时就可以打开
...全文
253
8
打赏
收藏
请问 CreateEvent 后在另一个用户用 OpenEvent 为什么会打开失败?
先是在用户A 的 AA 进程中创建事件: CreateEvent(NULL, True, False, "MyEvent"); 接着用CreateProcessWithLogonW 创建一个B用户的进程BB,BB中这样打开事件时失败呀 OpenEvent(EVENT_ALL_ACCESS ,False, "MyEvent"); 为什么呢?相同用户时就可以打开
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fromgx
2010-02-03
打赏
举报
回复
不同用户事件可以打开了,感谢2楼提示,感谢1楼说的没错,顺便感谢3楼,描述符号问题
这是根据你们的提示搜索到的帖子,上面说的很清楚
http://hi.baidu.com/isafesoft/blog/item/5576b7ffff4b1c1c09244d83.html
根绝帖子上说 Global 在Vista下需要加,XP下不需要加,但我在XP下测试加不加都成功,所以加最安全。
主要是创建时的需要增加描述符来创建,并且打开时最好设置为EVENT_ALL_ACCESS,否则别的用户真的不能可靠的打开这些事件。
sjdev
2010-02-03
打赏
举报
回复
GetLastError(),然后使用ErrorLookup查查看错误描述。
robinwjb
2010-02-03
打赏
举报
回复
返回的错误是什么?
2个用户都是Administrator组里的用户吗?
fromgx
2010-02-03
打赏
举报
回复
1楼按你的意思如何搞
fromgx
2010-02-03
打赏
举报
回复
2楼,加了Global\ ,AA创建事件正常,但BB中还是打开事件失败,创建事件也失败
WizardK
2010-02-03
打赏
举报
回复
加不加Global要看系统环境
robinwjb
2010-02-03
打赏
举报
回复
CreateEvent的第4个参数改为:Global\\MyEvent
这样产生的Event才可以在用户会话之间共享。
Conry
2010-02-03
打赏
举报
回复
估计是不同用户安全描述符不同造成的
Open
Event
失败
的问题
在同
一个
用户
下,
一个
进程创建了某个
线程中
Create
Event
和Set
Event
及WaitForSingleObject的用法
首先介绍
Create
Event
是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.
Create
Event
函功能描述:创建或
打开
一个
命名的或无名的事件对象.
EVENT
有两种状态:发信号,不发信号。 Set
Event
/Reset
Event
分别将
EVENT
置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJ...
Create
Event
的使用方法
Create
Event
的使用方法收藏 新一篇:Pre
Create
Window的作用和用法|旧一篇:VC中_T()的作用 事件对象就像
一个
开关:它仅仅有两种状态---开和关。当
一个
事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。能够在
一个
线程的运行函数中创建
一个
事件对象,然后观察它的状态,假设是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比...
Create
Event
函数功能描述:创建或
打开
一个
命名的或无名的事件对象 函数原型: HANDLE
Create
Event
( LPSECURITY_ATTRIBUTES lp
Event
Attributes, // 安全属性 BOOL bManualReset, // 复位方式 BOOL bInitialState, // 初始状态 LPCTSTR lpName // 对象名称
Create
Event
的用法
Create
Event
的用法收藏 新一篇: Pre
Create
Window的作用和使用方法 | 旧一篇: VC中_T()的作用 事件对象就像
一个
开关:它只有两种状态---开和关。当
一个
事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在
一个
线程的执行函数中创建
一个
事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。 产生事件对
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章