我正在尝试使用从用户那里获得的目录从 Delphi 中打开 Windows 资源管理器。该目录保存为字符串。 当我使用以下代码时,它不会接受它。我必须亲自输入。
sDir : string;
procedure OpenDirectoryClick(Sender: TObject);
begin
ShellExecute(Handle,nil,sDir,nil,nil,sw_Show);
end;
上面的代码不起作用
sDir : string;
procedure OpenDirectoryClick(Sender: TObject);
begin
ShellExecute(Handle,nil,'C:\Windows',nil,nil,sw_Show);
end;
上面的代码确实有效
如何解决这个问题?
最佳答案
第三个参数应转换为 PChar,因此请尝试以下操作:
ShellExecute(Handle,nil,PChar(sDir),nil,nil,sw_Show);
希望这有帮助:)
顺便说一句:明智的做法是不依赖默认的 Windows API 行为并将第二个参数指定为“open”,而不是 nil - 以防万一;)
关于delphi - 从字符串delphi中打开资源管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968695/