关于互斥函数的问题,请高手指点.CreateMutex(NULL,TRUE, "m_appname") m_hMutex=CreateMutex(NULL,TRUE, "m_appname");我用上面的函数创建.但是用ReleaseMutex(m_hMutex);释放不了.是怎么回事呢?谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ReleaseMutex 不是用来删除互斥的. CloseHandle 可以删除. 当你用WaitForSingleObject 等待一个互斥对象, 并成功返回后, 线程将拥有这个互斥对象, 这时调用 ReleaseMutex 将使线程不再拥有互斥对象. ......msdn. 呵呵,学到了。thanks a lot 对不起, 看错了!如果你那样调用CreateMutex 而又没有返回NULL,并且 ReleaseMutex 调用未成功, 很有可能是另一进程中的线程占有了这个名为 "m_appname" 的互斥对象! to:realdreamer(楼主英明,贫僧久仰大名,特来拜见)那应该怎么样才能Close那个互斥对象呢? 我知道了。:)请各位看看下面。原因就出在这里。大家分享。因为:进程用一个句柄表来保存每个打开的句柄,每一个句柄值都是句柄表中的一个索引值。当你每一次调用CreateMutex时,打开一个mutex的句柄,设为1。当你第二调用CreateMutex时又打开了一个句柄,设为2。注意,此时m_hMutex的值已变为2,无论你调用多少CloseHandle,关闭的总是句柄2,而句柄1总是打开的。所以你再调用CreateMutex,返回的是ERROR_ALREADY_EXISTS 单文档结构把我弄晕了!!!!! 请前辈帮忙扫一眼:vc++6.0中的CString咋没人恢复呢,欺负新人吗?嘿嘿 怎么保存为BMP 关于回调函数的小问题 求一个极其简单的sql语句 本人使用IE6,再使用时,浏览器会莫名其妙的自动关闭,不知道如何解决! 请教如下的代码为什么不可以发送电子邮件 Lippman出任VC首席设计师? 请问pdg是什么文件? 高手出招啊~~~~~~~~~~~~ Com被编译后可代码与C++被编译后的代码有什么区别?? 两个问题:1。如何把double形数输出到*.txt文件中
那应该怎么样才能Close那个互斥对象呢?
因为:进程用一个句柄表来保存每个打开的句柄,每一个句柄值都是句柄表中的一个索引值。当你每一次调用CreateMutex时,打开一个mutex的句柄,设为1。当你第二调用CreateMutex时又打开了一个句柄,设为2。注意,此时m_hMutex的值已变为2,无论你调用多少CloseHandle,关闭的总是句柄2,而句柄1总是打开的。所以你再调用CreateMutex,返回的是ERROR_ALREADY_EXISTS