第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Winforms .net 4.7 應(yīng)用程序在 OnUserChanged SystemEvent

Winforms .net 4.7 應(yīng)用程序在 OnUserChanged SystemEvent

C#
湖上湖 2021-11-14 10:49:40
我有一個 Winforms 應(yīng)用程序,它部署在許多客戶端站點(diǎn)上,并且運(yùn)行沒有問題。我有一個站點(diǎn)(實際上一秒鐘剛剛報告了它),其中應(yīng)用程序?qū)o緣無故地凍結(jié)。我們通過小型轉(zhuǎn)儲獲得的事件單堆棧跟蹤顯示 OnUserChanged 事件中的凍結(jié)...ViewManager.RunApplication 是我調(diào)用的Application.Run(m_mainFrame.Form);地方,其中 m_mainForm 是我的主要應(yīng)用程序表單。我發(fā)現(xiàn)了很多關(guān)于這個的帖子和各種建議,例如自定義啟動畫面 - 我刪除了這個 - 沒有區(qū)別,訂閱應(yīng)用啟動附近的 Microsoft.Win32.SystemEvents* 事件,如下所示    [STAThread]    static void Main(string[] args)    {            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;      Thread.CurrentThread.Name = "My App";      // Empty handler to try and stop freeze      Microsoft.Win32.SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;      Microsoft.Win32.SystemEvents.DisplaySettingsChanging += SystemEvents_DisplaySettingsChanging;      Microsoft.Win32.SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged;      // Must be called before first window creation:      Application.EnableVisualStyles();      Application.SetCompatibleTextRenderingDefault(false);我試圖在我得到的內(nèi)存轉(zhuǎn)儲之一上關(guān)注這篇文章,但無法通過 Windbg 完成第二步我放棄了這個,接下來按照這里的建議我被允許訪問有問題的客戶端機(jī)器,當(dāng)它凍結(jié)時,使用 spy++ 獲得以下結(jié)果......正如帖子中所建議的,我擴(kuò)展了線程并尋找了第二個線程我可以看到里面有兩個帶窗戶的線程。查看我同時進(jìn)行的內(nèi)存轉(zhuǎn)儲,因此我可以匹配線程 ID),這兩個線程都只是未命名的工作線程(我無法在窗口中看到主 UI 線程)帶有TabletPenServiceHelperClass 的那個看起來不尋常,我找不到太多關(guān)于它的信息。有沒有人對從這里去哪里有任何建議,或者TabletPenServiceHelperClass是什么,這與這些凍結(jié)有什么關(guān)系嗎?這是一個令人沮喪的問題。提前感謝您提供任何信息
查看完整描述

2 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗 獲得超7個贊

我終于在我的案例中找到了問題。我不得不使用 MS 支持,并使用轉(zhuǎn)儲文件,他們能夠確定我在工作線程上創(chuàng)建的窗口的位置。查看代碼,我的猜測是我有一個InvokeRequired失敗,因為它在調(diào)用它的控件有一個窗口句柄之前被調(diào)用。

我現(xiàn)在總是InvokeRequired主應(yīng)用程序窗口上調(diào)用,但是錯過了一個嵌套很深的窗口

如果您遇到這里的情況,即在工作線程上創(chuàng)建一個窗口,則 OnUserPreferencesChanged 稍后會導(dǎo)致此凍結(jié)。


查看完整回答
反對 回復(fù) 2021-11-14
?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗 獲得超6個贊

SystemEvent.OnUserPreferencesChanged 凍結(jié)通常可以通過鎖定 (Win+L) 而不是解鎖 Windows 屏幕來重現(xiàn)。

請嘗試從此答案中調(diào)用 CheckSystemEventsHandlersForFreeze() 方法(在凍結(jié)之前甚至之后?。┮哉页鲎畛踉阱e誤(非 UI,通常是線程池)線程上創(chuàng)建的特定控件,從而導(dǎo)致凍結(jié)。


查看完整回答
反對 回復(fù) 2021-11-14
  • 2 回答
  • 0 關(guān)注
  • 278 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號