最后打开的文件位置可以直接更改吗?

时间:2013-08-22 15:11:54

标签: winapi

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

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

1 个答案:

答案 0 :(得分:3)

如果您有权访问源代码,我建议您只更改传递给lpstrInitialDir的{​​{1}}的{​​{1}}属性。

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

OPENFILENAME

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

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