3

据我了解,当使用文件打开对话框(例如GetOpenFileName)时,Windows 会自动记住程序打开的最后一个文件的位置,并且 Windows 会为每个程序分别记住这些位置。有没有办法直接改变它,以使程序 X 的文件选择对话框在 C:\Example\Directory 中启动?

我正在尝试自动化一个程序,该程序已被编程为仅通过 GUI 工作,并且我无权访问该程序的内部(例如能够更改它调用文件选择器的方式)。相反,我使用的是鼠标宏(通过AutoHotkey)。如果我可以完全确定文件选择器将在特定位置启动,我应该能够通过鼠标单击来自动化其余部分。

4

1 回答 1

3

如果您可以访问源代码,我建议您只需更改lpstrInitialDir传递OPENFILENAMEGetOpenFileName().

除此之外,您还需要更改 MRU 的注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32

如果您遇到这种情况,可能更有意义并且可能会解决您遇到的问题的方法是更改​​工作目录,以便默认位置不是“我的文档”。

根据操作系统的不同,结果会有所不同:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms646839%28v=vs.85%29.aspx

于 2013-08-22T15:18:41.863 回答