簡體   English   中英

在Windows Node.js fs.readdir與用戶文件夾等同步

[英]In Windows Node.js fs.readdirSync With Users Folders etc

我一直在開發nw.js項目,並像往常一樣在其中使用node.js文件系統功能。 在我的應用程序中,有一個文件管理器,我根據用戶導航列出文件夾和文件。 例如,在Windows中,如果我掃描驅動器C:我將土耳其語命名文件夾“Kullanıcılar”作為“用戶”。 我知道它在操作系統中的真實名稱是“用戶”,並且根據語言在屏幕上可以看到。 我可以在文件管理器中付款時替換此類文件夾的名稱,但我正在尋找更好的解決方案(如果存在)。 提前致謝。

這里有一個SO答案它使用SHGetFileInfo函數讀取C#中文件夾的本地化名稱,這可能會幫助您。

現在,我知道您沒有要求,但是如果您想知道信息的存儲位置,它位於目錄Desktop.ini文件中。

例如,我的Windows 10安裝中有針對“用戶”的內容:

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21813

這是我的用戶文件夾中的Images文件夾(調出這一點以向您顯示其他鍵):

[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21779
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\imageres.dll,-113
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-236

@%SystemRoot%\\system32\\shell32.dll,-21813指向必須讀取MUI(多語言用戶界面) 資源 ,給定文件的鍵21813(假定@表示它位於此文件中,而不是此字面值,但不要在那上面引用我)。 %SystemRoot%是指向Windows目錄的環境變量。

實際的MUI文件及其位置由Windows處理(請參見上面的MSDN鏈接),但我們只是偶然知道,用於shell32.dll的美國英語本地化的MUI文件是system32\\en-US\\shell32.dll.mui

使用Resource Hacker打開該文件,我們可以搜索21813瞧! 我們可以找到包含以下內容的STRINGTABLE資源 #1364:

[...snip...]
21812,  "Extras and Upgrades"
21813,  "Users"
21814,  "Saved Games"
[...snip...]

不幸的是,我沒有可用的tr-TR/shell32.dll.mui ,所以您只需要相信我,您會在Kullanıcılar找到Kullanıcılar字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM