誤ってダブルクリックすることなく、プッシュボタンでスレッドを1つだけ作成する方法を教えてください。プッシュボタンでスレッドを開始する
1
A
答えて
0
次のコードは、(Win32で)それを行う必要があります...
EnterCriticalSection(&critSec);
if (ghThread != INVALID_HANDLE_VALUE)
{
ghThread = ::CreateThread(NULL, stackSize, (LPTHREAD_START_ROUTINE)ThreadEntry, NULL, 0, NULL);
}
LeaveCriticalSection(&critSec);
これはもちろんありませんが、あなたが事前にINVALID_HANDLE_VALUEにghThreadハンドルを初期化すると仮定します。
0
あなたはWindowsプログラミングについて話していますか? 私はこれに慣れていませんが、WM_LBUTTONDOWNメッセージ(またはダブルクリック)をキャッチし、boolフラグをTRUEに設定する必要があります。そして、このフラグがTRUEの場合はスレッドを作成しないでください。 cソースとしてFALSEとして初期化する必要があります。
+0
旗のポイントは何ですか?また、 'WM_LBUTTONDOWN'にはダブルクリックの指示がありません。これは1回のクリックではなく、最初の半分だけです。クリックではなく、ドラッグアンドドロップのための別々のアップ/ダウンメッセージが必要です。 – MSalters
関連する問題
- 1. スレッドとスレッド開始
- 2. _beginthreadexでスレッドを開始するには?
- 3. スレッド内で新しいアクティビティを開始
- 4. スレッドから新しいスレッドを開始する
- 5. C#スレッド - スレッドを開始および停止する方法
- 6. スレッドが開始パラメータを持つときにスレッドを開始して結合する
- 7. マスタプログラムを新しいスレッドでスレーブを開始する
- 8. スレッドのrun()で新しいサービスを開始するには?
- 9. WSGI環境で別のスレッドを開始する
- 10. スレッドで複数のサービスを開始する
- 11. コンストラクタで新しいスレッドを開始する
- 12. C++ boost :: thread、クラス内でスレッドを開始する方法
- 13. Windows CE 6.0サービスでスレッドを開始する
- 14. foreachループで新しいスレッドを開始する
- 15. スレッド-JButtonアライメントの開始と停止
- 16. スレッドの開始と停止方法は?
- 17. 別のスレッドを開始すると、アクティビティのスレッドは終了しますか?
- 18. 1つのCUDAカーネルで開始できるスレッドの最大数
- 19. スレッドを介して開始されたプロセスを終了する
- 20. コンストラクタ内部からスレッドを開始する
- 21. スレッドからアンドロイドのアクティビティを開始する
- 22. 問題スレッドを開始するには、アドイン
- 23. buttonclickの新しいスレッドを開始する
- 24. マルチスレッド:スレッドを開始して終了するタイミング
- 25. スレッドを停止/開始する方法は?
- 26. Java Webサービス操作のスレッドを作成して開始する
- 27. Woocommerce Subscriptionを開始する開始日
- 28. エグゼキュータを使用してもスレッドを開始できません
- 29. スレッドが開始されるとJavaのメインコードが停止する
- 30. boot_completedサービスとstartForeground開始サービスにスレッドが必要ですか?
これは「デバウンス」と呼ばれます。例えば、 http://blogs.msdn.com/b/oldnewthing/archive/2004/10/15/242761.aspx – MSalters