Windows 7軟件開發(fā)示例:UAC、系統(tǒng)版本、權(quán)限
嫁給Win7的必要條件我們在開發(fā)中小型軟件時,需要考慮與Win7系統(tǒng)的兼容性。為了確保軟件能在Win7下正常運行,我們需要添加一些必要的元素。必要條件1:檢測系統(tǒng)版本在軟件運行初期,我們需要判斷操作系
嫁給Win7的必要條件
我們在開發(fā)中小型軟件時,需要考慮與Win7系統(tǒng)的兼容性。為了確保軟件能在Win7下正常運行,我們需要添加一些必要的元素。
必要條件1:檢測系統(tǒng)版本
在軟件運行初期,我們需要判斷操作系統(tǒng)的類型和版本號,并根據(jù)不同的操作系統(tǒng)類型執(zhí)行相應(yīng)的代碼。很多軟件無法在Win7下正常運行,就是因為沒有正確判斷操作系統(tǒng)版本所導(dǎo)致的。
當(dāng)版本檢測出錯時,用戶可能會發(fā)現(xiàn)雙擊軟件圖標(biāo)后沒有任何反應(yīng),或者會看到一個對話框提示“你必須運行在Microsoft Windows XP或更新版本”,盡管計算機(jī)已經(jīng)安裝了Win7。
必要條件2:適應(yīng)用戶權(quán)限
Win7默認(rèn)以非管理員賬號運行,權(quán)限相對較低。如果軟件的安裝程序?qū)?shù)據(jù)寫入系統(tǒng)盤的Program Files、Windows安裝目錄或注冊表中,而當(dāng)前用戶權(quán)限不足,軟件就無法正常運行在Win7系統(tǒng)中。
UAC(用戶賬戶控制)是一種降低Windows用戶默認(rèn)權(quán)限的機(jī)制,它提高了系統(tǒng)的安全性。然而,UAC機(jī)制降低了用戶的默認(rèn)權(quán)限,導(dǎo)致一些普通操作無法更改系統(tǒng)設(shè)置和系統(tǒng)保護(hù)的文件夾。
“婚禮”必要的元素
為了讓我們的軟件順利適配Win7系統(tǒng),我們需要在軟件中添加以下元素:
1.代碼檢測操作系統(tǒng)版本號
在軟件中添加代碼來判斷操作系統(tǒng)是否為Win7或2008 Server:
```C#
if ( > new Version(5, 1))
{
("Windows 7 or Windows 2008 Server", "Operating System", MessageBoxButtons.OK, );
return;
}
```
2.盡量將數(shù)據(jù)存儲在非系統(tǒng)盤
在編寫軟件安裝路徑時,應(yīng)考慮不要默認(rèn)將軟件安裝到系統(tǒng)盤。同時,我們還需要在軟件中添加修改讀寫注冊表的代碼,使用HKEY_CURRENT_USERSoftware下的鍵值作為存儲數(shù)據(jù)的節(jié)點:
```C#
static void Main(string[] args)
{
var registryKey (@"Software est");
("name", "zswang");
registryKey (@"Software est");
Console.WriteLine(("{0}{1}", "name", ("name")));
}
```
3.提高程序的運行權(quán)限
如果用戶以管理員身份進(jìn)入系統(tǒng)并希望將軟件安裝在系統(tǒng)盤,我們需要判斷用戶權(quán)限。簡單的解決方案是添加清單文件。在可執(zhí)行文件夾中找到與可執(zhí)行文件同名且擴(kuò)展名為.manifest的文件,并輸入以下代碼:
```xml
```
通過添加這些必要的元素,我們的軟件將能夠順利嫁給Win7系統(tǒng),并在其中正常運行。在下一期中,我們將結(jié)合Win7的酷炫功能,單獨介紹如何正確調(diào)用Win7最新的API,如任務(wù)欄個性化快捷菜單(Jump List)、程序圖標(biāo)輪廓效果(Icon Overlay)、程序圖標(biāo)進(jìn)度條效果(Progress Bar)、標(biāo)簽式縮略圖(Tabbed Thumbnail)和縮略圖工具欄(Thumbnail Toolbar)等。