日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

C# WinForm判斷程序是否以管理員身份運行_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:.net中使用DatagridView的增刪改方法
default.aspx 頁面: %@ Page Language=C# AutoEventWireup=true CodeBehind=Default.aspx.cs Inherits=GPS_Web.Default % !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns=http://

Vista 和 Windows 7 操作系統(tǒng)為了加強安全,增加了 UAC(用戶賬戶控制) 的機制,如果 UAC 被打開,用戶即使是以管理員權限登錄,其應用程序默認情況下也無法對系統(tǒng)目錄,系統(tǒng)注冊表等可能影響系統(tǒng)運行的設置進行寫操作。這個機制大大增強了系統(tǒng)的安全性,但對應用程序開發(fā)者來說,我們不能強迫用戶去關閉UAC,但有時我們開發(fā)的應用程序又需要以 Administrator 的方式運行,即 Win7 中 以 as administrator 方式運行,那么我們怎么來實現(xiàn)這樣的功能呢?

  我們在 win7 下運行一些安裝程序時,會發(fā)現(xiàn)首先彈出一個對話框,讓用戶確認是否同意允許這個程序改變你的計算機配置,但我們編寫的應用程序默認是不會彈出這個提示的,也無法以管理員權限運行。本文介紹了 C# 程序如何設置來提示用戶以管理員權限運行。 首先在項目中增加一個 Application Manifest File   C# WinForm判斷程序是否以管理員身份運行 模板無憂
    默認的配置如下:   <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" 
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>

  我們可以看到這個配置中有一個 requestedExecutionLevel 項,這個項用于配置當前應用請求的執(zhí)行權限級別。這個項有3個值可供選擇,如下表所示:

  asInvoker : 如果選這個,應用程序就是以當前的權限運行。

  highestAvailable: 這個是以當前用戶可以獲得的最高權限運行。

  requireAdministrator: 這個是僅以系統(tǒng)管理員權限運行。

  默認情況下是 asInvoker。

  highestAvailable 和 requireAdministrator 這兩個選項都可以提示用戶獲取系統(tǒng)管理員權限。那么這兩個選項的區(qū)別在哪里呢?

  他們的區(qū)別在于,如果我們不是以管理員帳號登錄,那么如果應用程序設置為 requireAdministrator ,那么應用程序就直接運行失敗,無法啟動。而如果設置為 highestAvailable,則應用程序可以運行成功,但是是以當前帳號的權限運行而不是系統(tǒng)管理員權限運行。如果我們希望程序在非管理員帳號登錄時也可以運行(這種情況下應該某些功能受限制) ,那么建議采用 highestAvailable 來配置。

  關于requestedExecutionLevel 設置的權威文檔請參考下面鏈接:

  Create and Embed an Application Manifest (UAC)

下面是修改后的配置文件:
  <?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" 
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the 
requestedExecutionLevel node with one of the following.

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />

If you want to utilize File and Registry Virtualization for backward 
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>  

分享:C#中調(diào)用Windows API時的數(shù)據(jù)類型對應關系
BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System.Int16 COLORREF=System.UInt32 DWORD=System.UInt32 DWORD32=System.UInt32 DWORD64=System.UInt64 FLOAT=System.Float HACCEL=System.IntPtr HANDLE=System.IntPtr HBITMAP=System.IntPtr HBR

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:.Net教程/更新時間:2013-04-17
相關.Net教程