亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

Vista開發新特性之你的文件存在哪?3
2007-08-20   網絡

獲取正確的系統路徑

  另外一個問題是如何在應用程序中正確的獲得這些目錄,其實也很簡單,使用Environment.GetFolderPath()這個方法,我們可以輕易的獲得我們需要的目錄:  


Vista開發新特性之你的文件存在哪?(2)
正確的獲得這些目錄

  上面的listView中使用了以下代碼進行填充:

  Vista開發新特性之你的文件存在哪?(2)foreach(System.Environment.SpecialFolder folder in Enum.GetValues(typeof(Environment.SpecialFolder)))

  Vista開發新特性之你的文件存在哪?(2)Vista開發新特性之你的文件存在哪?(2)...{

  Vista開發新特性之你的文件存在哪?(2) ListViewItem folderItem = new ListViewItem(

  Vista開發新特性之你的文件存在哪?(2)Vista開發新特性之你的文件存在哪?(2) new string[]...{folder.ToString(), Environment.GetFolderPath(folder)});

  Vista開發新特性之你的文件存在哪?(2) listView1.Items.Add(folderItem);

  Vista開發新特性之你的文件存在哪?(2)}

  Vista開發新特性之你的文件存在哪?(2)
  這里對Environment.SpecialFolder這個枚舉類型進行了遍歷,提取出了系統所有的特殊路徑。其中值得注意:

  Enviornment.SpecialFolder.ApplicationData:這個值會指向當前用戶的AppData中的Roaming目錄,這個目錄和local的唯一區別就是當你的AD中配置了漫游功能的時候,此目錄的內容會被保存在服務器上,并在用戶登錄其他計算機的時候預先部署。一般是在比較大的企業中為了提供更好的登錄環境才使用。

  向下兼容xp文件系統

  說到這里大家肯定有疑問,因為在xp上,用戶目錄的路徑是:

  \Documents and Settings\,而不是\Users\,會覺得有問題,其實Vista在這一點上早就作了準備。
  

Vista開發新特性之你的文件存在哪?(2)
用戶目錄的路徑

  在一個Vista的環境下輸入了xp的路徑,還是可以正常訪問這個xp風格的目錄???$?。其實這里Vista借用了一個在unix上使用多年的技術“文件系統鏈接”來實現這個功能。  

Vista開發新特性之你的文件存在哪?(2)
用戶目錄的路徑

  當你鍵入dir /a的時候,出現了很多叫做的東西,其實這些就是“文件系統鏈接”,Vista使用這些鏈接把xp風格的目錄指向到了正確的Vista路徑上。以保證xp的應用程序可以正常訪問。如果需要的話,可以使用mklink這個命令來創建需要的鏈接。

  所以,應用程序如果需要向下兼容的話,仍然應該使用xp風格的路徑;當然我這里指的是如果你一定需要寫明(hard code)這些路徑的話;可能的話,盡量使用Environment來得到正確的路徑

  我們可以看到,實際上重啟管理器只是定義了一個API用來注冊應用程序,和一個系統消息來通知應用程序重啟;其他的工作都需要我們的開發人員來自己實現,這可能讓我們有點失望,但也是可以理解的,因為系統并不知道那些程序狀態是重要的,必須要恢復的;這些應該是開發人員的責任。

  另外還有兩點很重要的內容,我們在實現重啟管理器的時候需要注意:

  1)重啟管理器的API只有在Vista的kernel32.dll中才有,所以如果你的應用程序需要提供支持,那么必須在Vista上進行編譯;

  2)為了保證我們的應用程序可以在xp及一下系統上正常運行,一定要在調用RegisterApplicationRestart之前檢查系統版本,比如使用Environment.OsVersion或者GetVersionEx API,只有當版本號大于6.0.6000的時候才進行調用,否則會造成崩潰。

熱詞搜索:

上一篇:Vista開發新特性之你的文件存在哪?
下一篇:報告:Windows比Linux安全

分享到: 收藏