變更紀錄
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」
- 可以靜默執行,沒有黑色控制台視窗
- NSudoC.exe
- 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 的超級命令提示字元製作的第一個版本