C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: GUIスレッドかどうか判別する方法


(過去ログ 173 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■99382 / inTopicNo.1)  GUIスレッドかどうか判別する方法
  
□投稿者/ スペツナヅ (1回)-(2022/03/27(Sun) 13:20:53)

分類:[.NET 全般] 

VB.NETでアプリケーションを開発しております。


あるサブルーチンを呼び出した際に
GUIスレッドから呼び出した場合と
バックグラウンドスレッドから呼び出した場合で
If文で分岐したいのですが、
どのようにすれば判別することができますか?



引用返信 編集キー/
■99383 / inTopicNo.2)  Re[1]: GUIスレッドかどうか判別する方法
□投稿者/ KOZ (231回)-(2022/03/27(Sun) 13:53:45)
No99382 (スペツナヅ さん) に返信
> あるサブルーチンを呼び出した際に
> GUIスレッドから呼び出した場合と
> バックグラウンドスレッドから呼び出した場合で
> If文で分岐したいのですが、
> どのようにすれば判別することができますか?

「IsGUIThread function (winuser.h)」
https://docs.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-isguithread

が使えるかもしれません。

Windows Forms なら
「Application.MessageLoop Property」
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.application.messageloop?view=netframework-4.8
を参照するのも良いかも。
引用返信 編集キー/
■99384 / inTopicNo.3)  Re[1]: GUIスレッドかどうか判別する方法
□投稿者/ radian (21回)-(2022/03/27(Sun) 14:12:59)
2022/03/27(Sun) 14:13:28 編集(投稿者)

WindowsFormアプリなら InvokeRequired で判定できると思います。
[Control.InvokeRequired プロパティ]
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.control.invokerequired?view=windowsdesktop-6.0
引用返信 編集キー/
■99385 / inTopicNo.4)  Re[2]: GUIスレッドかどうか判別する方法
□投稿者/ スペツナヅ (2回)-(2022/03/28(Mon) 20:44:00)
ありがとうございます。

InvokeRequired
でうまくいきそうです。






解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -