8

C ++ 11の標準ライブラリには<thread>、スレッドの作成を可能にするが含まれています。ただし、Windows APIには、一部の関数(つまり、 PostThreadMessage)のIDが必要です。どうすれば入手できますか?

備考: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'
4

2 に答える 2

12

メンバー関数を使用しますnative_handle()。ネイティブ スレッド ハンドルを提供します。その後、それを呼び出すことができますGetThreadId()

于 2012-06-04T17:10:59.783 に答える
-1

このクラスは、 s と出力のthread::id比較のみを許可します。id実際の基になる にアクセスする手段は提供しませんid。それを a に出力してから、stringstream解析して戻すことができると思います。

于 2012-06-04T17:10:51.347 に答える