1

我有一个非常基本的问题:EnumWindows线程安全吗?

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633497(v=vs.85).aspx

谢谢

4

2 回答 2

2

您可以EnumWindows从任何线程安全地调用。作为一般规则,Windows API 函数是线程安全的。此一般规则的例外情况将在函数文档中张贴标志。

于 2013-09-15T14:10:29.427 回答
2

不在主线程中。那是我的问题

user32.dll 中的一些函数是线程敏感的,如果你调用 SendMessage() 来获取工作线程上的自定义消息,你可以给自己挖一个很深的洞。但是不,EnumWindows() 没有这样的问题,它不关心线程是否在泵送消息循环并且不依赖线程状态。您当然需要考虑到您在回调中获得的窗口句柄可能是一个在几分之一秒前被销毁的窗口的可能性,EnumWindows() 不会冻结创建窗口的每个进程的每个线程.

于 2013-09-15T15:40:46.037 回答