2010-04-14 41 views
0

我必須編寫一個在WindowsME上運行的C#應用​​程序。是的,我的意思是很久以前就被遺忘的微軟操作系統。我的程序不需要用戶交互,因爲WindowsME不支持服務,它將是一個控制檯應用程序。此外,它將用於更現代的操作系統,用戶可以選擇是將其作爲控制檯應用程序啓動還是將其安裝爲Windows服務。現在假設軟件運行在WinME上,並且用戶決定退出或關閉機器,而無需事先退出我的軟件。 WinME抱怨我的程序仍在運行,並詢問它是否應該終止進程。除了糟糕的用戶體驗之外,這意味着應用程序沒有正常關閉。在WindowsME上處理用戶註銷或機器關閉請求

因此,我尋找一種方式來獲悉用戶是否註銷或想要關閉機器以便能夠首先正確關閉我的軟件。

+0

即使在Windows ME上支持.NET運行時?它工作嗎?我真的認爲最早的桌面選項是Windows XP。 – 2010-04-14 20:35:00

+0

.NET 2.0支持WinME甚至Win98。該軟件與我在Vista上運行的一樣好。只有關機行爲對我來說是一個問題。 – skylap 2010-04-14 20:39:31

+0

什麼版本的.Net? – SLaks 2010-04-14 20:41:13

回答

1

我認爲Windows ME支持WM_ENDSESSION,所以我認爲您應該嘗試捕獲該事件。這是Windows會話結束時(通過註銷或關閉)發送到所有頂級窗口的窗口。

+0

我認爲WM_ENDSESSION與win2000(Windows的NT分支)一起出現。我不記得它是否曾在win9x。 – dkackman 2010-04-14 20:56:07

+0

我也不確定,我發現一些鏈接似乎表明有人在Win98中使用過它,但是我沒有發現任何官方的東西,也不像我有一個Win98/WinME測試系統在試圖嘗試出來 :) – 2010-04-15 05:23:02