Как назвать темы TWebBrowser - PullRequest
2 голосов
/ 22 ноября 2011

Когда вы вызываете Navigate или Navigate2 в TWebBrowser, он создает как минимум 2 новых потока, которые не освобождаются до тех пор, пока вы не уничтожите браузер.

Каков наилучший способ (если есть) получить идентификаторы потоков, порожденные экземпляром TWebBrowser, чтобы присвоить им имена с помощью TThread.NameThreadForDebugging?

1 Ответ

5 голосов
/ 22 ноября 2011

Нет прямого доступа к темам.Но вы могли бы перечислить запущенные потоки вызывающего процесса с CreateToolhelp32Snapshot(), Thread32First() и Thread32Next(), отслеживая любые новые потоки, которые вы обнаружите.Другой вариант - переместить логику именования потоков в DLL, чтобы вы могли использовать ее уведомление DLL_THREAD_ATTACH через DllProc/Ex() обратные вызовы Delphi.

...