gpt4 book ai didi

windows - Delphi TOpenDialog/TSaveDialog 上次使用的路径

转载 作者:可可西里 更新时间:2023-11-01 13:55:35 30 4
gpt4 key购买 nike

将我的问题提到这个答案:https://stackoverflow.com/a/4016075/698266 ,特别是第 3 步说“否则,如果应用程序过去使用过打开或另存为对话框,则选择最近使用的路径作为初始目录。”

Windows 在哪里保存这些信息?

注意:通过实验,它似乎链接到没有路径的应用程序文件名 - 即复制到不同目录的相同可执行文件在更改 exe 时“看到”相同的最后路径信息文件名使对话框指向用户的文档目录。

我的实际兴趣是出于测试目的。我需要“重置”此信息,以便在类似于首次运行的条件下测试我的应用程序。

最佳答案

Windows XP 使用 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU 并且每个项目的格式似乎是 ExeFilename+Path 两个字符串都以零结尾且采用 UTF-16LE格式。 MRU 列表存储为名为 MRUList 的字符串。

WinXP regedit

较新版本的 Windows 使用 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRUHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRULegacy 并且格式似乎是 ExeFilename+ ItemIdList (UTF-16LE 中的 ExeFilename 和零终止)。 MRU 列表似乎是一个名为 MRUListEx 的二进制值中的 DWORD 列表,该列表以 0xffffffff 结尾。

我假设更改发生在 Vista 中,因为那是新的 IFileDialog加入。当使用自定义模板和/或 Hook 函数调用 GetOpen/SaveFileName 时,可能会使用 LastVisitedPidlMRULegacy。

关于windows - Delphi TOpenDialog/TSaveDialog 上次使用的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822522/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com