我正在阅读http://support.microsoft.com/kb/243953他们在其中解释了如何将应用程序限制为单个实例。互斥锁在构建和销毁时创建,它们调用CloseHandle。这让我开始思考,即使应用程序将关闭,是否也严格要求调用CloseHandle?在许多freebsdc程序中,经常使用不释放malloced内存的做法,因为操作系统会在销毁时更快地清理它。即使进程已关闭,也无法调用CloseHandle占用操作系统中的资源? 最佳答案 CouldnotcallingCloseHandletieupresources
我绞尽脑汁想弄清楚串行端口何时完成关闭,以便我可以重新打开它。事实证明,CloseHandle()在端口实际解锁之前返回。我正在使用CreateFile(FILE_FLAG_OVERLAPPED)打开一个串行端口,使用CreateIoCompletionPort()将其与CompletionPort相关联,使用ReadFile()、WriteFile()并使用CloseHandle()关闭它。我注意到,如果我足够快地关闭并重新打开串行端口,我会从CreateFile()返回一个ERROR_ACCESS_DENIED。尽管我正在等待CloseHandle()返回,然后等待与该句柄关联的所
我已经通过“CreateThread”函数创建了一个线程。在此线程中,我有一个“while(true)”循环(读取输入)。现在,当我想关闭线程时,我使用“CloseHandle”函数。这是正确的做法吗?或者我应该退出“while(true)”循环然后使用“CloseHandle”函数?谢谢 最佳答案 CloseHandle()不会销毁、终止或暂停线程,它只会销毁句柄本身(因此您没有句柄来终止线程或等待它)。线程继续正常工作(我在很多情况下都使用过它),停止它的唯一方法是退出线程函数(ThreadProc()),或者终止它。
我需要从上下文菜单启动一个单独的进程/应用程序;我正在使用函数launch_program来执行此操作。一旦创建的进程终止,我不关心退出代码,我只希望能够启动它。我的问题是:如果变量startup_info和proc_info通过引用传递给CreateProcess我可以使用CloseHandle如果我只是要从函数返回到我的主线程,就可以使用它们吗?voidlaunch_program(){STARTUPINFOstartup_info;PROCESS_INFORMATIONproc_info;LPCSTRlocation="C:\\ProgramFiles(x86)\\Interne