C ++ 11的标准库包含允许线程创build的<thread>
。 不过,Windows API需要一些ID(即PostThreadMessage )。 我怎么才能得到它?
备注: std::thread::get_id()
似乎不工作:
PostThreadMessage(m_thread->get_id(), WM_QUIT, 0, 0); e:\documents\khook\khooker\hook_runner.cpp(129): error C2664: 'PostThreadMessageW' : cannot convert parameter 1 from 'std::thread::id' to 'DWORD'
使用成员函数native_handle()
。 它提供了本地线程句柄。 然后你可以调用GetThreadId()
。
thread::id
类只允许比较id
和输出。 它不提供访问实际的底层id
。 你可以尝试输出它到一个stringstream
,然后解析它,我想。