Re: [問題] vb2005 鍵盤控制問題

看板Programming作者 (愛してる、あなた)時間17年前 (2007/05/29 20:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/9 (看更多)
※ 引述《yoco315 (眠月)》之銘言: : ※ 引述《jacky1989 (幻想的夢境)》之銘言: : : 我想寫一個程式 : : 為了防止當機 : : 所以我想要讓鍵盤無效用 : 為什麼防止當機要讓鍵盤滑鼠無效? 想了一下有想到的 1.多工作業系統下為了使系統全力執行程式而不讓其他訊息干擾 話說回來這不太可能...而且一定是以設定優先權為先吧 2.讓GUI介面不要出現緩慢的情況 應該都有看過執行大動作的視窗變白 如果其程式的工作量太大導致無法一直處理重畫訊息的話 如果增加輸入訊息將使工作量更大而更難以重畫 (如windows的WM_PAINT 在訊息處理機制裡優先只有倒數第二...) (有時應該會看到拖視窗後變白,過幾秒才恢復吧) 結果看起來變白很像程式當了 為了不要出現這種額外事件(移動視窗的動作),讓它看起來正常 就把鍵盤滑鼠鎖掉(但是滑鼠和鍵盤動也不動的情況更像當機...) 如果真的為了這種原因這樣做,應該是設計者的冷氣壞了,熱昏頭了... 3.為了thread同步 如果程式把介面和內部處理分開,而沒有使用紀錄命令的機制時 也許會發生擷取到錯誤資料的時候 1.假設它的介面把輸入的命令和參數貼到a和b這兩個變數去 2.內部處理的thread收到a,開始初始化(正要接收b時)時,使用者又輸? 另一組命令和參數 3.剛好因為多工作業系統的緣故使b先被寫入時,內部處理的thread 會收到錯誤的參數...當然就有可能當掉了或因exception而結束 為了避免這問題,當然阻止使用者輸入 這種錯OS應該都有教吧 可是一般會犯都是因不明白撰寫平台的內部訊息處理機制和multithread沒弄好 不太可能,除非想偷工 4.因為覺得作業系統太差怕輸入太多訊息讓它掛掉 或是設計或系統的人的人留了像是按1000次e04就會當掉的肚爛關機法 不然在多工系統下阻止訊息輸入看起來真的很奇怪 既然是vb2005的話,應該是windows吧,怕當掉是沒用的 在windows下核心模式一出現未處理的exception就是藍色畫面 就算找比爾他爹來也是一樣的... (這句話的意思是,該不會真的是4.的緣故吧...>.<'|||) 就算是鍵盤有問題,用api攔截把鍵盤訊息吃掉也是沒用的 除非你遇到像我家的老鍵盤會自動壓住shift (不要覺得有自動shift真好,打不進password會想哭的) (雖然遇過的最e04的是sam因為壞軌變成不得不重灌 程式寫到一半沒按存檔就鎖定電腦去吃飯,變成登不進去也是很嘔的) 不然攔鍵盤訊息應該不是很實際的方法吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.56.240
文章代碼(AID): #16N1Y6lf (Programming)
討論串 (同標題文章)
文章代碼(AID): #16N1Y6lf (Programming)