亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Windows 7軟件開(kāi)發(fā)示例:UAC、系統(tǒng)版本、權(quán)限

瀏覽:132日期:2023-06-04 10:45:14

看到Win7的酷炫功能流口水,已經(jīng)忍不住想擁抱呢?別急,Win7的脾氣可不好,要想擁抱它的新功能,我們的軟件必須嫁給它——在Win7下能正常運(yùn)行。,個(gè)人開(kāi)發(fā)者開(kāi)發(fā)的中小軟件,功能相對(duì)簡(jiǎn)單,與系統(tǒng)的緊密程度普遍較低,添加一些Win7必要的正常運(yùn)行的元素就OK啦!

嫁給Win7的必要條件

我們必須要給軟件添加的是系統(tǒng)版本檢測(cè)和安裝路徑選擇元素,為什么要考慮它們呢?

必要條件1:檢測(cè)系統(tǒng)版本

軟件在運(yùn)行初期需要判斷操作系統(tǒng)的類型及版本號(hào),并根據(jù)操作系統(tǒng)類型執(zhí)行特定的代碼,相同的功能在不同操作系統(tǒng)上可能會(huì)執(zhí)行不同的代碼。大多數(shù)軟件的在Win7下無(wú)法正常運(yùn)行都是因?yàn)榕袛嗖僮飨到y(tǒng)版本失敗造成的。

當(dāng)版本檢測(cè)出錯(cuò)時(shí),很多軟件也會(huì)跟著出錯(cuò),用戶可能會(huì)發(fā)現(xiàn)雙擊軟件圖片后,什么反映都沒(méi)有,或者可能會(huì)看到一個(gè)對(duì)話框“你必須運(yùn)行在Microsoft Windows XP或更新版本,但實(shí)際上計(jì)算機(jī)已經(jīng)安裝了Win7 。

必要條件2:適應(yīng)用戶權(quán)限

Win7默認(rèn)運(yùn)行的是非管理員賬號(hào),權(quán)限相對(duì)較小。而軟件的安裝程序會(huì)往包括系統(tǒng)盤(pán)的Program Files、Windows安裝目錄、注冊(cè)表中寫(xiě)入一些數(shù)據(jù)(軟件在運(yùn)行時(shí)可能會(huì)將一些用戶數(shù)據(jù)保存到系統(tǒng)文件夾或注冊(cè)表中),如果當(dāng)前用戶的權(quán)限不夠,軟件就無(wú)法正常入駐Win7。

小知識(shí): UAC是一種降低Windows用戶默認(rèn)權(quán)限的辦法,這樣會(huì)給用戶帶來(lái)安全性的提高,它可以一定程度上遏制了一些病毒的發(fā)作——關(guān)閉殺毒軟件、啟動(dòng)復(fù)制及散播病毒進(jìn)程、注入網(wǎng)游客戶端、監(jiān)聽(tīng)鍵盤(pán)操作從而盜竊密碼。

例如數(shù)據(jù)看似保存成功,在寫(xiě)入的地點(diǎn)卻找不到,或者注銷切換到另一個(gè)Windows用戶時(shí),無(wú)法找到保存的數(shù)據(jù)。引起這類問(wèn)題的根源是Win7的UAC機(jī)制,它降低了Windows用戶的默認(rèn)權(quán)限,使得一些普通操作無(wú)法更改系統(tǒng)設(shè)置及系統(tǒng)保護(hù)的文件夾。

小提示:軟件要結(jié)合系統(tǒng)某些功能時(shí),需要調(diào)用相應(yīng)的API。API調(diào)用得當(dāng)否,對(duì)軟件運(yùn)行非常關(guān)鍵,我們從下期開(kāi)始結(jié)合Win7酷炫功能,單獨(dú)介紹如何正確的調(diào)用。Win7最新的API,有Win7特有的任務(wù)欄個(gè)性化快捷菜單(Jump List)、程序圖標(biāo)輪廓效果(Icon Overlay)、程序圖標(biāo)進(jìn)度條效果(Progress Bar)、標(biāo)簽式縮略圖(Tabbed Thumbnail)和縮略圖工具欄(Thumbnail Toolbar)……

“婚禮必要的元素

我們的軟件要順利嫁給Win7,在軟件中要添加以下的元素。

1.代碼檢測(cè)操作系統(tǒng)版本號(hào)

在軟件中添加判斷操作系統(tǒng)是Win7 或2008 Server的代碼:

C#

if (Environment.OSVersion.Version > new Version(5, 1)){MessageBox.Show("Windows 7 or Windows 2008 Server","Operating System", MessageBoxButtons.OK,MessageBoxIcon.Error);return;}

2.盡量將數(shù)據(jù)存儲(chǔ)在非系統(tǒng)盤(pán)

軟件不要默認(rèn)安裝到系統(tǒng)盤(pán),在編寫(xiě)軟件安裝路徑時(shí),要考慮這個(gè)。此外,還需要在軟件中添加修改讀寫(xiě)注冊(cè)表的代碼,使用HKEY_CURRENT_USER/Software下的鍵值作為存儲(chǔ)數(shù)據(jù)的結(jié)點(diǎn):

static void Main(string[] args){var registryKey = Registry.CurrentUser.CreateSubKey(@"Software/test");registryKey.SetValue("name", "zswang");registryKey = Registry.CurrentUser.OpenSubKey(@"Software/test");Console.WriteLine(string.Format("{0}={1}/r/n", "name", registryKey.GetValue("name")));}

3.提高程序的運(yùn)行權(quán)限

如果用戶使用了管理員身份進(jìn)入系統(tǒng),又希望把軟件安裝在系統(tǒng)盤(pán),又該如何呢?需要判斷用戶權(quán)限的權(quán)限,簡(jiǎn)單的解決方案是添加清單文件。在可執(zhí)行文件夾中找到與可執(zhí)行文件相同名字且擴(kuò)展名.manifest的文件,輸入以下代碼即可:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="test" type="win32"/> <description>Description of your application</description> <!-- Identify the application security requirements. --><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"><security><requestedPrivileges><requestedExecutionLevellevel="requireAdministrator"uiAccess="false"/></requestedPrivileges> </security></trustInfo></assembly>

標(biāo)簽: Windows系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 夜鲁鲁鲁夜夜综合视频欧美 | 久久国产精品系列 | 亚洲国产天堂久久综合9999 | 婷婷丁香四月 | 免费一级大片 | 国产a级网站 | 亚州一级 | 一区二区三区四区视频在线 | 你懂的网址免费国产 | 日韩不卡一级毛片免费 | 国产原创一区二区 | 亚洲一区免费 | 一级特黄性生活大片免费观看 | 国产成人精品一区二区免费 | 丁香狠狠色婷婷久久综合 | 亚洲香蕉综合在人在线时看 | 国产精品漂亮美女在线观看 | 欧美成人国产一区二区 | 成年视频在线观看免费 | 国产青青在线视频 | japanese护士日本xx丝袜 | 亚洲精品欧美日本中文字幕 | 久久日本精品国产精品白 | 国产日韩精品欧美一区喷 | 欧美一级特黄高清免费 | 青木玲中文字幕一区二区 | 国产巨乳在线 | 999久久免费高清热精品 | 久久精品国产99国产 | 美国一级毛片片aaa 美国一级毛片片aa久久综合 | 妞干网免费在线观看 | 亚洲第三十七页 | 久久全国免费久久青青小草 | 毛片毛片毛片毛片出来毛片 | 国产人va在线| 人交性视频大全 | 欧美高清在线视频一区二区 | 91国自产精品中文字幕亚洲 | 色婷婷激情综合 | 欧美在线观看黄色 | 免费一级e一片在线播放 |