2

我正在开发一个 Inno Setup 安装程序,它使用 GetOpenFileName 函数来打开一个打开文件对话框,供用户浏览并选择一个数据库文件。当用户选择文件时,数据库将运行,但安装程序只是试图以字符串形式获取文件的路径来配置我们的软件。

在Windows XP上这不是问题,但是我注意到在Windows 7上选择运行数据库文件时,您会收到一个错误,说“正在使用此文件。输入新名称或关闭另一个程序中打开的文件。 "

不确定是否有一种方法可以禁用该错误,或​​者是否有另一种方法可以打开一个不受限制的打开文件对话框。

提前致谢。

4

1 回答 1

1

如果您只想获取路径,也许 BrowseForFolder 函数是更好的选择。它显示一个对话框并允许用户选择路径。

文档中:

Prototype:
function BrowseForFolder(const Prompt: String; var Directory: String; const NewFolderButton: Boolean): Boolean;

Description:
Displays a dialog box that enables the user to select a directory. The current value of Directory is used as the initially selected directory. If NewFolderButton is True, a New Folder button will be shown, allowing the user to create new folders. Returns True if the user selected a directory and clicked OK, False otherwise. The selected directory is returned in the Directory string.

Remarks:
On Windows versions prior to XP, passing False in the NewFolderButton parameter has no effect; the New Folder button will always be shown. This is a Windows limitation.
于 2013-05-23T13:17:43.933 回答