江湖救急啊!!关于vista下CreateMutex互斥体判断失败的问题

cjy7788 2008-12-26 06:57:55
各位大哥大姐.这里有个问题请教一下..
我这里有个A.DLL,是放在windows目录下.由我的虚拟打印机驱动调用,调用A.DLL时,A.DLL里面需要判断我的另外一个程序B.EXE,是否已经启动了,如果没有启动则显示提示信息.因此在A.DLL里我就选用CreateMutex创建互斥体的方式来判断b.exe是否已经启动.但问题就在于.在xp下,A.DLL调用CreateMutex能够正确判断出B.EXE的打开与否.而在VISTA下则不行,同时,同样的代码,我另外做一个Dialog程序在vista下判断b.exe却是可以的.为什么呢?
同时,还有个现象是这样的,一开始设计的时候,本来是A.DLL判断B.EXE是否打开,没打开的话,是用shell啊.等之类的函数把程序打开的.但同样的代码,A.DLL调用后没有任何反应.另外做一个Dialog程序是可以打开的.这是为什么呢?跟用户有关?进程管理器里,A.DLL进程里用户显示的是system,而我的测试程序用户名就是用户名.是不是因为这个而无法调用?因为这个原因,就放弃这么做了..但检测B.EXE程序是否已经打开,这个却一定要做的,这个在XP下是能够实现的.可为什么vista下,怎么又不能实现了..
求求各位大哥大姐们啦,帮帮忙,看看是什么原因导致在vista下不能识别??
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2009-01-01
  • 打赏
  • 举报
回复
你代码是什么、出错时错误号是什么都不说,谁能猜测出来呢?
toadzw 2009-01-01
  • 打赏
  • 举报
回复
up
redfox1985 2009-01-01
  • 打赏
  • 举报
回复
uac的问题吧?在windows目录下需要管理员权限,你放到programdata目录下试试呢?
mujiok2003 2008-12-26
  • 打赏
  • 举报
回复
not so clear about your situation.
太乙 2008-12-26
  • 打赏
  • 举报
回复
友情up~~

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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