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

您的位置:首頁技術文章
文章詳情頁

Windows 7軟件開發示例:UAC、系統版本、權限

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

看到Win7的酷炫功能流口水,已經忍不住想擁抱呢?別急,Win7的脾氣可不好,要想擁抱它的新功能,我們的軟件必須嫁給它——在Win7下能正常運行。,個人開發者開發的中小軟件,功能相對簡單,與系統的緊密程度普遍較低,添加一些Win7必要的正常運行的元素就OK啦!

嫁給Win7的必要條件

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

必要條件1:檢測系統版本

軟件在運行初期需要判斷操作系統的類型及版本號,并根據操作系統類型執行特定的代碼,相同的功能在不同操作系統上可能會執行不同的代碼。大多數軟件的在Win7下無法正常運行都是因為判斷操作系統版本失敗造成的。

當版本檢測出錯時,很多軟件也會跟著出錯,用戶可能會發現雙擊軟件圖片后,什么反映都沒有,或者可能會看到一個對話框“你必須運行在Microsoft Windows XP或更新版本,但實際上計算機已經安裝了Win7 。

必要條件2:適應用戶權限

Win7默認運行的是非管理員賬號,權限相對較小。而軟件的安裝程序會往包括系統盤的Program Files、Windows安裝目錄、注冊表中寫入一些數據(軟件在運行時可能會將一些用戶數據保存到系統文件夾或注冊表中),如果當前用戶的權限不夠,軟件就無法正常入駐Win7。

小知識: UAC是一種降低Windows用戶默認權限的辦法,這樣會給用戶帶來安全性的提高,它可以一定程度上遏制了一些病毒的發作——關閉殺毒軟件、啟動復制及散播病毒進程、注入網游客戶端、監聽鍵盤操作從而盜竊密碼。

例如數據看似保存成功,在寫入的地點卻找不到,或者注銷切換到另一個Windows用戶時,無法找到保存的數據。引起這類問題的根源是Win7的UAC機制,它降低了Windows用戶的默認權限,使得一些普通操作無法更改系統設置及系統保護的文件夾。

小提示:軟件要結合系統某些功能時,需要調用相應的API。API調用得當否,對軟件運行非常關鍵,我們從下期開始結合Win7酷炫功能,單獨介紹如何正確的調用。Win7最新的API,有Win7特有的任務欄個性化快捷菜單(Jump List)、程序圖標輪廓效果(Icon Overlay)、程序圖標進度條效果(Progress Bar)、標簽式縮略圖(Tabbed Thumbnail)和縮略圖工具欄(Thumbnail Toolbar)……

“婚禮必要的元素

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

1.代碼檢測操作系統版本號

在軟件中添加判斷操作系統是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.盡量將數據存儲在非系統盤

軟件不要默認安裝到系統盤,在編寫軟件安裝路徑時,要考慮這個。此外,還需要在軟件中添加修改讀寫注冊表的代碼,使用HKEY_CURRENT_USER/Software下的鍵值作為存儲數據的結點:

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.提高程序的運行權限

如果用戶使用了管理員身份進入系統,又希望把軟件安裝在系統盤,又該如何呢?需要判斷用戶權限的權限,簡單的解決方案是添加清單文件。在可執行文件夾中找到與可執行文件相同名字且擴展名.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>

標簽: Windows系統
相關文章:
主站蜘蛛池模板: 青青操国产 | 欧美一级a俄罗斯毛片 | 国产精品久久久久免费视频 | 日韩精品久久久免费观看夜色 | 在线观看免费视频国产 | 日韩精品大片 | 久久国产精品久久国产片 | 91无套极品外围在线播放 | 国产免费一区二区三区 | 国产成人久久综合二区 | 日本免费一级片 | 国产精品嫩草影院免费看 | 免费视频精品一区二区 | 欧美三级视频在线观看 | 日本人一级大毛片 | 欧美另类亚洲一区二区 | 久久久久久久久综合影视网 | 狠狠色丁香久久婷婷综合_中 | 亚洲精品一区二区不卡 | 俺去啦网婷婷 | 亚洲综合色网 | 8mav福利视频在线播放 | 国产在线观看91精品2021 | 性潮高免费视频免费看 | 国产精品色婷婷在线观看 | 无遮挡高清一级毛片免费 | 成人性色生活片免费网 | 免费视频精品 | 成人免费久久精品国产片久久影院 | 日本毛片在线观看 | 一区二区三区精品国产欧美 | 日本一本色道免费视频 | 欧美第四页 | 黄色一级片在线免费观看 | 一区二区三区在线 | 国产99在线播放免费 | 亚洲美女色视频 | 国产在线拍揄自揄拍视频 | 日本高清免费中文字幕不卡 | 成人免费片| 国产成人精品福利网站在线 |