delphi - 从字符串delphi中打开资源管理器

标签 delphi

我正在尝试使用从用户那里获得的目录从 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/

相关文章:

delphi - 如何实现IsFirstRecord和IsLastRecord?

delphi - 如何释放嵌套(对象类型)字段类?

Delphi - 形成最大化事件

delphi - 从右到左 TListView

delphi - wsMaximized 表单不会出现最大化

android - XE8 Twebbrowser 本地 img 文件

multithreading - TParallel.For 中的 ASride 是什么意思?

delphi - 使用 Zeoslib 确定参数化查询中的参数数据类型

delphi - DataSnap 主/详细信息关系 - 发布引发异常并显示消息 "No corresponding master record found"

android - 为什么当手指触摸屏幕时 Android 上的计时器更准确?