互斥量问题,一个服务创建了一个互斥量,另一个普通exe再创建和他同名的互斥量总是返回"拒绝访问"错误, 人人有份!谢谢!

poweruser 2003-10-19 04:08:16
两个进程间创建互斥量的问题

一个进程为服务,创建了一个互斥量,在另一个exe里面也创建同名的互斥量,但在另一个exe里面创建互斥量的时候总是返回"拒绝访问"的错误

我把作为服务的这个进程不注册为服务而直接运行,这两个程序就能运行的很正常

我在普通exe里面CreateMutex之前也提升了权限,但还是返回同样的错误

请高手指教!!!
多谢!!!
...全文
130 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2003-10-22
  • 打赏
  • 举报
回复
msdn.microsoft.com/library/en-us/ dnaskdr/html/drgui49.asp

Command what is yours
Conquer what is not

http://www.csdn.net/develop/author/netauthor/jiangsheng/
双杯献酒 2003-10-22
  • 打赏
  • 举报
回复
GZ
Ah 2003-10-22
  • 打赏
  • 举报
回复
关注
leon_z 2003-10-22
  • 打赏
  • 举报
回复

把你的互斥变量用这样声明试试
(内存共享)
#pragma data_seg("MYSEC")
....
#pragma data_seg()


scatzr 2003-10-21
  • 打赏
  • 举报
回复
up
接分
poweruser 2003-10-19
  • 打赏
  • 举报
回复
我试过提升进程的权限了,可是还不行:(
zming 2003-10-19
  • 打赏
  • 举报
回复
我没有类似的经验,但考虑应该是权限问题。

一个为服务,它运行在核心层,
另一个为普通EXE,它运行在用户层,用户层不能读写核心层的东西。

两个都是服务,共享同一个互斥量应该没有问题。

以上为猜测。
poweruser 2003-10-19
  • 打赏
  • 举报
回复
试了n种可能,还是没解决:(

更郁闷!!!

谢谢楼上两位了!
jiajie828 2003-10-19
  • 打赏
  • 举报
回复
不懂.帮你顶.
Frank123 2003-10-19
  • 打赏
  • 举报
回复
怎样将一个程序注册为服务?不懂
顺便帮你顶
poweruser 2003-10-19
  • 打赏
  • 举报
回复
先谢谢各位啦!

其中只有一个是服务,当我没有将其注册为服务的时候运行是正常的,但我把他注册为服务后,另一个应用程序就打不开这个互斥量了,并且其他的操作如打开共享内存的也都打不开了

我在第二个应用程序打开互斥量之前提升了本进程的权限,结果仍然不行!!!

郁闷中!!!
xjb2001 2003-10-19
  • 打赏
  • 举报
回复
把他做成后台服务程序好了

WINDOWS不会让你装2个一样的服务的
zhouqingyuan 2003-10-19
  • 打赏
  • 举报
回复
同名的互斥量是可以在不同的进程中创建的,只不过只有第一个调用创建函数的进程是真正的创建互斥量,而其他的是打开创建了的互斥量。出现问题估计是和访问权限或者作为服务的特殊要求有关吧。
不懂,帮你顶!!
poweruser 2003-10-19
  • 打赏
  • 举报
回复
如果已经有一个同名的互斥量了,那么第二个创建的互斥量就相当于打开前一个互斥量
所以并不是同时存在两个同名的互斥量.

现在解决不了的问题是以exe运行就可以,但其中一个以服务的形式就不行了:(
孤必有邻 2003-10-19
  • 打赏
  • 举报
回复
没写过服务程序,但还是觉得不应该——两个exe不可能成功创建同一个互斥量,应该有问题
poweruser 2003-10-19
  • 打赏
  • 举报
回复
我是想在这两个程序中间用CreateFileMapping来进行共享数据的,但在服务中创建了文件映射,在另一个exe就就打不开了

和创建互斥量返回的同样的错误:(
poweruser 2003-10-19
  • 打赏
  • 举报
回复
这两个都以普通应用程序的方式运行是可以的!
但其中一个注册为服务先运行创建互斥量,另一个exe再运行并创建此互斥量就失败!
为什么呢?
akiko 2003-10-19
  • 打赏
  • 举报
回复
互斥量是内核对象,创建了一个之后,在其消失前,不能再创建同名的.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧