c# - Check If Thread Is on Gui Context -


how can check if current running thread on gui context or not?

it's unfortuntaley hard answer question 100% accuracey because it's not entirely obvious constitutes gui context. it's more of heuristic yes / no answer. , heuristic different every gui framework.

for wpf 1 check , see if there active dispatcher current thread

public static bool iswpfguithread() {   return dispatcher.fromthread(thread.currentthread) != null; } 

however can fooled setting dispather on random thread not putting gui on top of it.

for winforms 1 check current synchronizationcontext.

public static bool iswinformsguithread() {   return synchronizationcontext.current windowsformssynchronizationcontext; } 

however can fooled temporarily (or longer) reseting current value synchronization context. thread global , can set anyone. it's common change in applications visual studio (but that's wpf app though)


Comments

Popular posts from this blog

asp.net - repeatedly call AddImageUrl(url) to assemble pdf document -

java - Android recognize cell phone with keyboard or not? -

iphone - How would you achieve a LED Scrolling effect? -