1.VS編譯鏈接VC++工程生成文件默認是沒有管理員權限的 生成的程序圖標是沒有盾牌的如圖:

如果程序需要在C盤做些寫入操作 就必須具有管理員權限 所以需要在工程中進行設置。
注:自己項目的安裝程序安裝在Win7系統C:\Program Files (x86)下,程序可以正常運行,但在Win10系統下,安裝到C:\Program Files (x86)目錄下,程序就無法正常運行。猜測win10對安裝程序的權限要求更高,所以需要對程序權限進行設置。
工程右鍵屬性 具體如圖:

確定后編譯鏈接 生成的程序就有了一個盾牌圖標了如圖:
運行程序也會彈出管理員權限提示,這樣管理員UAC就算設置好了。
注:
我們知道, win7及以上的系統權限控制的非常嚴格,普通用戶在系統目錄下沒有寫的權限,軟件經常要寫一些配置文件之類的功能就無法操作,
其實特定目錄沒有寫的權限,但軟件會運行的好好的,表面沒有任何問題,它會自己重定向到C:\Users\當前登錄用戶名\AppData\Local\VirtualStore\類似這樣的文件夾下
而且也能順利的讀取寫進去的數據,win7及以上的系統有這樣的重定向機制,包括注冊表。
其實對我們軟件來說,這絕對是個隱形的bug,有時會出現莫名其妙的bug正是由這個引起,所以我們不能任由它這么任性的重定向,有種簡單的辦法就是鼠標右擊后“以管理員身份運行”即可解決該問題,但關鍵是我們不可能讓我們的客戶每次都這樣右擊管理員身份運行吧,所以我們采用這種方法。
