Win7任務進行中的時候直接關機

其實以前有問過…
當時的回答是最好先關閉BC再關機… 都1,2年了 一直覺得超麻煩… 而且偶爾會忘記.

這裡想問的是BC團隊有木有想法解決這個問題…

實際上WIN7隻需要使用user32.dll的ShutdownBlockReasonCreate函數外加阻止WM_QUERYENDSESSION(0x11)就能達到效果…
當然被360阻止的可能性是有的. 但至少還是能實現. 效果如下.
[attach]6107[/attach]

我這裡已經實現的C++和C#的Demo了.
如果BC的團隊沒這個興趣的話俺就去想別的辦法了…

本帖最後由 set00off 於 2012-9-21 07:36 編輯

回復 1# kyoiiyb

也不是不行不過你自己也要先有心理建設,就只是會丟失一些BT任務進度的數據資料,當時任務進度資料沒儲存到的,可能會有一部分資料給遺失而已,還沒儲存的數據是無法給你任何保證,也可能發生任務列表意外丟失清空等事件,建議比特彗星幫你加上額外提醒功能,只要官方技術人員願意也是有可能辦到的啦,可是絶對不保證進度儲存上的數據丟失!?

發生意外丟失的事故機率是你自己造成的,我想官方也不可能對你這會出差錯的行動,而給你所謂不會丟失數據的保證吧.....

接下來算是我個人想說的,反正都一定會丟失相關數據資料嘛,你直接關電腦也一樣照樣發生,何必要麻煩比特彗星官方幫你加這功能,按強制關閉結果也還是會丟失數據資料,還是說你只是希望電腦要關閉時,會告訴你還有這一件事給忘記了.....

謝謝支持,已經反饋你的建議。

本帖最後由 kyoiiyb 於 2012-9-23 22:48 編輯

回復 2# set00off

不好意思 被你繞暈了… 看了三遍還是沒完全看懂…

我這裡提議的功能並不是說單純的是一個提示…
而且阻止系統的關閉並保存現在還沒保存的數據… 保存完成以後再繼續關機…

至於說為什麼"何必要麻煩比特彗星官方幫你加這功能"的問題…
我覺得 首先BC不是面向服務器或者說服務器專用的有人維護的軟件而是面向用戶…
那麼竟可能的人性化是除了軟件功能,性能以外最重要的東西了.

PS: 難道每次關機前用戶都得手動先去關掉BC是一個很正常的行為麼? 也許你已經習慣了. 但本身是很彆扭的操作不覺得麼?
要知道就算是Office軟件… 如果有修改沒保存的話 關機也是會阻斷關機並提示是否保存的… 不是麼?

本帖最後由 set00off 於 2012-9-24 02:09 編輯

回復 4# kyoiiyb

沒有吧~~照你給的那張圖根本沒有,圖片上不是也只有提醒你是否要回頭處理而已,不可能幫你保存數據之後在幫你進行關機動作,那也不過算是直接進行關機時的提醒動作而已,別的BT軟件你可以嘗試建議,反正也都還沒有哪一個軟件有做出來過,BC官方技術人員要看他們心情好不好願不願意製作,或者說此功能還不知道能不能實現,他會不會成功實現也只能聽天由命,只是說單純的在關機時加上提醒功能,越簡單越是比較容易幫你實現而已,不然請你去利用BC的自動定時關機功能,那麼他就有所謂先停止BC執行中任務,然後才會開始進行電腦的關機動作,一切還是要看技術人員的技術能力到哪邊.....

我連正常關閉狀態下,也還是他人共享內容時常丟失清空.....

他人共享=種子市場

回復 5# set00off

額~~~

俺本身就是程序員… 這個界面只是我一個Demo…
功能已經實現… 要不要放個Win7關機的時候延遲10秒的效果的程序哇?
當然不一定非得延遲10秒… 只是因為只是Demo沒實際可以做的事情所以在代碼裡面延遲下.

另外我沒有使用種子市場的功能… 也不太清楚具體情況… 但我覺得這個共享的內容是不是一開始就不保存的啊?
既然是他人共享… 那內容肯定是時刻在變化的. 保存也沒意義. 當然也可能是有時間限制之類的.
如果確實是發生不正常的丟失. 我覺得你可以觀察下在什麼情況必然發生的並提交BUG了.

本帖最後由 set00off 於 2012-9-25 05:32 編輯

回復 6# kyoiiyb

請問你的實現是不是很傻瓜的功能,問你就只是二選一要直接強制關閉,和請回頭到系統裡請你處理程式,如果你真的成功直接在論壇分享經驗,還會需要比特彗星來幫你搞喔,不就是怕丟失任務進度要比特彗星幫你思考,是否能實現有更完善的可能性,我只是先問一下別在意我可是不反對,能成功應該是有很多人拍拍手我算一份,不行你最好也要有心理建設一下.....

個人去改的也許沒問題,出事也是找當事人啊,有本事可以躲起來讓微軟找不到,如果是以比特彗星的招牌,去竄改微軟作業系統會不會被追究,他實現功能也要在不被追究為前提,所以我可不敢說太多,一切看比特彗星那邊斟酌狀況,他們認為沒問題你的願望就有可能實現,還有技術人員心情好不好願不願意而已.....

微軟可是很會搶錢的,只要有錢賺啥事都敢做.....

回復 7# set00off

不好意思. 可能我提出的很多東西比較容易站在程序員的角度沒說清楚…

這裡有幾個問題… 首先我提供的方法是微軟官方的API. 微軟官方網站上有專門的文檔… 微軟的開發人員的一個類似於百度知道的地方也有人提個這個問題…
當然我的解決方法就是從這裡面找的… 而且理所當然這個不會有任何對系統的不安全因素. 如果有. 微軟那麼多技術人員也不至於笨到去公開文檔還把API放到正式版的系統中去吧.

另外對於這個機能. 圖片中看到的內容. 是Win7系統的功能. 不是我程序的功能… 我這裡的程序只是在系統準備關機或者重啟的時候告訴操作系統. 我當前的程序需要阻止關機… 然後系統接受到消息後就會出現圖片中的效果… 當然Win7還是提供用戶無視這個程序強行關機的.
所以在這裡 我這個程序不是說加了一個界面. 而只是阻止系統關機. 然後再去保存所有的數據並關閉… 一旦阻止系統關機的程序關閉了以後 系統還是會繼續執行關機操作的.

請不要質疑我為什麼提出這個問題… 提出來是因為我覺得BC有必要做得更人性化…
我自己不做是因為 BC程序我沒有源代碼… 那我要做就只有兩種辦法… 一種是捕獲操作系統發給BC的關機事件… (你可以理解為 有人給你寄了一封信被我私自攔截並回信了)… 還有一種辦法更具破壞性… 直接注入內存的中的BC…(你可以理解為身體被細菌入侵) 我想不用我解釋你也明白有多麼不安全…
當然無論怎麼樣我肯定還是可以去做的. 只是可能我需要幾十甚至幾百小時的研究測試才能搞定(我雖然會編程但不是專攻Window應用程序編程. 我需要從頭慢慢研究)… 反過來如果BC需要加這個東西. 我可以提供全面支持. 最多也就1,2個小時就能測試完.(因為我C#和C++的Demo都已經做好了. 1樓我也有寫核心的代碼是什麼… 所以BC團隊根本都不需要去考慮怎麼做了. 只是判斷做還是不做.)

而且我也說過 我只是想知道BC團隊有木有想法解決這個問題…
只是提供一個意見… 僅此而已. 而且我連代碼都提供了.

已經發貼了,後面版本增加此功能。