有时候我们需要利用代码将指定路径(folderpath)的文件夹打开(效果相当于我们双击了此文件夹),为了方便初次遇到这个问题的朋友,以下我罗列了几种可用的方法:
方法一:System("start folderpath");
方法二:System("explorer.exe folderpath");
方法三:ShellExecute(null,"open",null,null,folderpath,SW_SHOWNORMAL);
其中,方法一和方法二存在打开文件夹的过程会闪现cmd命令窗口的缺点,且方法三可以指定打开文件后的窗口显示方式,因此推荐使用方法三。
下面对方法三的参数做一介绍
ShellExecute(
hWnd: HWND; {指定父窗口句柄}
FileName: PChar; {指定要打开的文件或程序}
Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil}
Directory: PChar; {缺省目录}
ShowCmd: Integer {打开选项}
): HINST;
ShowCmd 参数可选值:SW_HIDE = 0; {隐藏}
SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活}
SW_NORMAL = 1; {同 SW_SHOWNORMAL}
SW_SHOWMINIMIZED = 2; {最小化, 激活}
SW_SHOWMAXIMIZED = 3; {最大化, 激活}
SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED}
SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活}
SW_SHOW = 5; {同 SW_SHOWNORMAL}
SW_MINIMIZE = 6; {最小化, 不激活}
SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE}
SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE}
SW_RESTORE = 9; {同 SW_SHOWNORMAL}
SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL}
SW_MAX = 10; {同 SW_SHOWNORMAL}
第一次在CSDN上写博客,希望能帮到有需要的朋友,以后会坚持记录编程中的点点滴滴。