現象描述
用戶在 Windows 7 上運行某「山寨開發環境」 (疑為 VC6、VB6 或早期 Borland 產品),遇到目錄存取異常。截圖顯示路徑包含中文、空格或特殊符號。
根因:Windows 7 系統目錄結構重大變更
| 項目 | Windows XP | Windows 7/10/11 |
| 用戶資料根目錄 | `C:\Documents and Settings\Username\` | `C:\Users\Username\` |
| 所有用戶共享資料 | `C:\Documents and Settings\All Users\` | `C:\ProgramData\` (隱藏) |
| Program Files | `C:\Program Files\` | `C:\Program Files\` + `C:\Program Files (x86)\` (WoW64) |
| 虛擬存儲 | 無 | UAC 虛擬化將寫入 `Program Files` 重定向至 `AppData\Local\VirtualStore\` |
| 路徑長度限制 | MAX_PATH 260 字元嚴格執行 | 支援長路徑 (群組原則啟用後) |
舊版 IDE 常見故障模式
解決方案 (按推薦度排序)
- 遷移至現代 IDE (Visual Studio 2022 / VS Code / CLion / Qt Creator):原生支援現代 Windows、Unicode、長路徑、Git 整合、C++17/20。根治之道。
- 虛擬機運行 Windows XP / 2000:VMware Workstation / VirtualBox / Hyper-V 安裝純淨 XP,掛載共享資料夾交換代碼。完美相容、隔離環境、可快照回滾。
- Windows 7 相容性設定 (權宜之計):
① IDE 執行檔 → 內容 → 相容性 → 勾選「以 Windows XP (Service Pack 3) 相容模式運行」+「以系統管理員身分運行」。
② 將專案/安裝目錄移至無空格、純 ASCII 路徑 (如 `C:\Dev\VC6\`)。
③ 關閉 UAC (控制台 → 使用者帳戶 → 更改 UAC 設定 → 從不通知) **不推薦,降低安全性**。
- DOSBox / vDos / OTVDM (WineVDM):針對 16 位元舊工具鏈的用戶態模擬器,可在 64 位元 Windows 運行部分 16 位元程式。
給堅持使用舊環境的開發者建議
- **不要在主力作業系統裝舊 IDE**,污染註冊表、檔案關聯、環境變數。
- **版本控制 (Git) 必須用**,代碼放在共享資料夾,IDE 只負責編輯/編譯。
- **編譯器升級**:VC6 專案多可直接用 VS2010+ 開啟轉換 (`.dsp` → `.vcxproj`),僅需修極少量非標準代碼。
原最佳回答「建議換 XP 系統」方向正確,但**虛擬機才是現代最佳載體**,無需犧牲主機安全與效能。