# 變更紀錄 - [简体中文](更新日志.md) - [English](Changelog.md) **NSudo 6.2.1812.31** - 添加法語翻譯(由 Thomas Dubreuil 貢獻) - 使用 JSON for Modern C++ 替代 RapidJSON 以符合 C++17 規範 - 改善使用者介面體驗(感謝 Lenny) - 修復上下文選單錯誤(感謝 Thomas Dubreuil 和 龍魂) - 修復命令列解析器錯誤(感謝 wzzw) - 添加繁體中文翻譯(由 羅宇凡 貢獻) **NSudo 6.1.1811.18** - 把 NSudoC 與 NSudoG 合併入 NSudo - 為 ARM 和 ARM64 的 Release 二進位檔案編譯配置添加 VC-LTL 支援,並移除 VC-LTL 4.0 之前版本的支援(大力感謝 mingkuang) - 添加以下新的命令列選項 - CurrentDirectory(由 testtest322 建議) - Help - H - Priority(由 testtest322 建議) - ShowWindowMode(由 testtest322 建議) - UseCurrentConsole - Version - Wait(由 testtest322、wzzw 和 Domagoj Smolčić 建議) - 移除一些未文件化的命令列使用方式 - 改進數個實現 - 重構命令列解析器 - 引入新式建立處理序前端 - 使用 ATL 實現主視窗 - 修復上下文選單 Bug(感謝 Thomas Dubreuil) - 更新授權的著作權所有者 - 移除文件中的捐贈連結 **NSudo 6.0.1804.5** - 修復在 Windows Vista 和 Server 2008 下崩潰的問題(感謝 hydra79545) - 與 M2-Team UWP 項目共享實現(詳情請閱讀 「https://github.com/Project-Nagisa/Nagisa/blob/master/Changelog.md」) - 移除無用實現 - 改進 NSudoStartService 函數的實現 - 使用 RapidJSON 替代 JSON for Modern C++ 以減小二進位檔案大小 **NSudo 6.0.1802.2 v2** - 修復點選執行按鈕只彈出命令提示字元的問題。(感謝 AeonX) **NSudo 6.0.1802.2** - 修復多個 Bug 和改善多個實現 - 增加兩個獨立的可執行檔案用於不同情況 - NSudoC.exe - 純命令列版本,子系統設置為「控制台」 - 在控制台下執行良好,但是在非控制台處理序調用會出現黑色控制台視窗 - 為了保證最佳體驗,NSudoC 不支援上下文選單 - NSudoG.exe - 純命令列版本,子系統設置為「Windows」 - 可以靜默執行,沒有黑色控制台視窗 - NSudo 將通過 M2MessageDialog 而不是 TaskDialog 顯示資訊 - 理由 - 因為可以使用縱向滾動條,NSudo 可以在出錯時提供更加詳細的內容 - 你可以複製對話方塊里的內容 - 支援 Windows 講述人,於是可以使用 CapsLock+H 讓講述人讀取對話方塊內容 - 比 TaskDialog 的字型更大 - M2MessageDialog 特性 - 在 Windows 10 Build 10240 或之後版本完全支援 Per-Monitor DPI Aware - 完全支援 Windows 朗讀程式 - 你可以使用縱向滾動條並且可以複製裡面的內容 - 比 TaskDialog 的字型更大 - 你可以按 Enter 鍵關閉對話方塊 - 如果你想在你的項目使用 M2MessageDialog,請從此處下載以下檔案: https://github.com/M2Team/NSudo/tree/master/NSudoSDK - M2DPIScaling.cpp - M2DPIScaling.h - M2MessageDialog.cpp - M2MessageDialog.h - M2MessageDialogResource.h - M2MessageDialogResource.rc - 移除繁體中文和日語的翻譯,因為翻譯內容已經過時而且我不懂怎麼用 - 升級 JSON for Modern C++ 到 3.0.1 - 右鍵選單 - 增加多語言描述 - 為所有項目添加「開啓全部特權」選項 - 更新命令列幫助和文件 **NSudo 6.0.1801.19** - 修復NSudoDuplicateSessionToken函數定義Bug(感謝 mingkuang) - 修復在圖形介面下無法啓用全部特權的Bug(感謝 abbodi1406) - 修復沒有VC-LTL時x86和x86-64(AMD64)的Release編譯配置未採用靜態編譯的Bug **NSudo 5.3.1801.11** - 修復獲取System令牌函數的一個潛在Bug(感謝 mingkuang) - 對x86和x86-64(AMD64)的Release編譯配置提供VC-LTL庫支援(感謝 mingkuang) - PS:把NSudo和VC-LTL一起使用可以減小NSudo二進位檔案的體積 - 整理文件 **NSudo 5.2 (5.2.1709.8 - 5.2.1710.26)** - 整理程式碼,修復若干Bugs - 更新文件,增加英文自述 - 添加對ARM和ARM64平台的支援(感謝 fcharlie) - 優化命令列解析 - 添加右鍵選單支援 - 使用 /Install 或 -Install 參數添加右鍵選單(命令列參數大小寫不敏感) - 使用 /Uninstall 或 -Uninstall 參數移除右鍵選單(命令列參數大小寫不敏感) **NSudo 5.1 (5.0.1708.9 - 5.1.1708.19)** - 修復批次檔案調用NSudo後批次變量不生效的問題(感謝 羋員外) - 令NSudo在帶有命令列的狀態下也能自動請求管理員權限(感謝 鳶一雨音) - 更換新圖示,順便解決在Windows Vista之前版本系統上不顯示NSudo圖示的問題 (PS:NSudo最低要求依舊是Windows Vista) - 改進命令列解析(感謝 鳶一雨音) - 更新原始程式碼授權的著作權(對說辭進行了優化)和更新感謝名單(新增人士) **NSudo 5.0 (4.4.1705.28 - 5.0.1707.31)** - 使用新的獲取會話ID方法解決在Server系統的遠程桌面會話上使用NSudo執行應用可能無 法顯示介面的問題(感謝 sebus) - 更新文件和授權協議以符合實際情況 - 移除VC-LTL(由 fcharlie 建議),理由如下: - 雖然二進位檔案大小增加80KB,但原始程式碼大小縮小57.6MB - 原始程式碼大小縮小後,NSudo的雲編譯速度大幅提升 - 可以少屏蔽大量編譯警告 - 使用 NSudoSDK 項目代替 M2-SDK 項目 - 改進版本定義頭檔案 - 編譯器啓用 SDL 檢查、調整編譯輸出目錄和更新CI編譯配置檔案 - 調整並優化程式碼(感謝 fcharlie 的建議) - .gitignore檔案更新(由 fcharlie 實現) - 完全使用MSDN文件化API實現NSudoAPI.h以方便人們調用 - 與Nagisa項目共用m2base.h - 整理屏蔽的警告,該版本NSudo屏蔽了以下警告實現 /W4 /WX 編譯 - C4505 未引用的本地函數已移除(等級 4) - NSudo快捷列表檔案格式從ini遷移到json並更新列表內容 - 處理序建立時添加環境塊以改善兼容性 - 把Windows XP控件支援聲明和Per-Monitor DPI Aware V1支援移入清單檔案 - 在清單檔案添加兼容性GUID定義和Per-Monitor DPI Aware V2支援 - 修復當未在瀏覽視窗選擇檔案的情況下命令列文本框出現""的問題 **NSudo 4.4.1705.19** - 適配最新版M2-SDK - 適配最新版VC-LTL - 修改編譯選項 - 使用git子模組機制(由 myfreeer 實現) - 配置AppVeyor(由 myfreeer 提供靈感) - 開始使用AppVeyor自動編譯 - 更新M2-SDK和VC-LTL子模組 - 命令列解析從main函數拆分 - 修復升級VC-LTL後出現的編譯警告(有空會pull fix到VC-LTL) - 版本號重新由自己而不是CI編譯服務控制 - 整理解決方案佈局 **NSudo 4.3.1703.25** - 32位版本取消對SSE和SSE2指令集的依賴(為了保證完美的兼容性) - 移除NTIShell, NSudo.AppContainer, MiniFM子項目 - NSudoSDK完全被M2-SDK和M2.NSudo.h替代 - 關於介面佈局調整 - 子系統設置調整為Windows子系統(為了不再彈出黑框) - 優化程式碼,減少全局變量 - System令牌副本建立函數移除會話ID參數(因為現實情況只能使用當前會話ID) - 使用舊版應用調用方式(即使用cmd,解決無法調用帶參數應用的問題) - 優化在UI自動化工具(例如講述人等讀屏軟件)上的使用體驗 - 「執行」按鈕被設為默認按鈕以提升使用體驗 - 優化多語言資源以減小體積 - 修復UI標題欄沒有圖示的問題 - 為UI增加最小化按鈕 - 修複數個庫函數返回值Bug - 修複數個命令列解析Bug - 修復UI圖示的DPI縮放問題 - 開始使用Visual Studio 2017編譯 - 移除NSudo-GUI項目 - 程式碼不再包含M2-SDK和VC-LTL的內容,需要單獨從github克隆 **NSudo 4.2** - 引入新NSudoSDK API並且對已有NSudoSDK API進行改善 - 優化程式碼,以減少Windows API調用次數 - 修復不帶任何參數情況下可能的奔潰問題 - 修復控制台部分不能在非管理員權限顯示命令列幫助的問題 - 基於ShellExecute自建調用宿主,以去除對cmd.exe的依賴 - 引入NTIShell(相當於NSudo 1.0)重製版,作為NSudoSDK的一個示例 - 更改MiniFM圖示 **NSudo 4.1** - 修復命令列使用-U:D導致程序奔潰的問題 - 更正命令列的NSudoC殘餘描述(感謝NotePad) - 支援檔案拖拽(感謝NotePad) **NSudo 4.0** - 重寫程式碼,提供NSudoSDK,使程式碼容易使用在其他項目上 - 命令列下新增"/"前綴參數支援,例如: NSudo /U:T /P:E cmd (感謝 th1r5bvn23) - 支援默認參數,即以TrustedInstaller令牌且開啓全部特權執行 (感謝 老九) - 在默認快捷命令列表加入host編輯 - 增加NSudo和MiniFM的Per-Monitor DPI Aware支援 - 採用VC-LTL大幅度減小程序體積(感謝 mingkuang) - 更改圖示(感謝20011010wo) - 精簡並優化主介面(感謝 kCaRhC卡殼,さくら) - 使用TaskDialog替代MessageBox - 對關於介面進行調整,並在關於介面加入命令列幫助 - 修復彈出檔案不存在的問題 - 修復命令列解析的一個潛在Bug - 緩解NSudo圖形介面的空格問題(瀏覽功能自動給命令列加引號) - 消除在編譯時的警告(/Wall和/WX兩個參數同時使用) **NSudo 2016.1** - 修復TrustedInstaller下執行程序介面不顯示問題(感謝abbodi1406) - 修復命令列解析的漏洞和UI錯誤(感謝imadlatch) - 整理程式碼,提升可讀性 - 當前目錄設為NSudo所在目錄(未來會更加靈活) - ShortCut實現無限項目 - 新增簡易檔案管理器小工具(感謝20011010wo) **NSudo 2016** - 支援多語言(程序內含簡中,繁中,英文,日文) - 命令列處理重寫 - 實現程式碼全部重構;效率更高 **NSudo 3.2 Fix1** - 優化程序邏輯;減少無用程式碼 - 命令列版和圖形版二合一 **NSudo 3.2** - 修復無法使用帶有空格的路徑的問題 - NSudo和NSudoC單檔案化 - 增加NSudo.bat方便新手準確調用與電腦架構相符的NSudo版本 - NSudoSDK增加靜態庫(用NSudo SDK開發的工具可以實現單檔案) - 編譯平台採用Visual Studio 2015 + Windows 10 SDK **NSudo 3.1 Debug** - 修復UI的ComboBox不能輸入太長文字的問題 - 修復某些情況下不能使用的問題(由於開發機Windows10的Bug而導致誤認為那種方式可 行) - 增加真正的令牌降權(除了cmd會誤顯示管理員外;其他的會將其看作普通用戶) - 增加命令列版本 - 增加常用列表自定義功能 **NSudo 3.0 R2** - 修復不能打開其他被系統關聯檔案的Bug - SDK的頭檔案改進:增加#pragma comment(lib,"NSudoAPI.lib") **NSudo 3.0** - 支援外部應用調用(很抱歉讓一些人等太久) - 增加了常用調用列表(暫時不支援自定義;未來3.1會加入) - 加入了降權功能(當然,是完美降權到UAC未提權前。當然原理不是用獲取explorer令牌 和建立計劃任務) - 支援對權限令牌的自定義 - 介面的完全重構(相對於2.x來說) - 程式碼優化(相對於NSudo 3.0 M1來說) - 加入NSudo SDK - 原生64位版本 - 實現了調用外部程序無視WOW64重定向的方法(NSudoCreateProcess) - WinPE支援(雖然沒起多大作用) **NSudo 2.1** - 實現自動開啓所有權限Token - 對cmd的調用使用絕對路徑,估計可以避免一些不必要的Bug - 優化原始程式碼 **NSudo 2.0** - 程式碼全部使用C++ Win32 SDK重寫(程序從692KB縮小到92KB) - 提供獲取權限的選項 - 提供命令列參數模式 - 更換了圖示 **NSudo 1.2** - 未公開發佈(估計還是在修復SessionID問題) **NSudo 1.1** - 修復SessionID問題 - 32位和64位版本合體(根據架構確定執行那個架構的命令提示字元,採用SysNative目錄 (64位Vista開始有的重定向)調用64位cmd) **NTIShell 1.0** - 根據raymai97的超級命令提示字元製作的第一個版本