打开文件的上下文对话框,默认操作等

时间:2011-11-03 03:52:23

标签: delphi delphi-7

在Windows中,当一个人在Windows资源管理器中并右键单击文件或目录时,会出现一个Windows上下文菜单,其中包含可以对此文件或目录执行的所有操作。

当天早些时候,Brad Stowers编写了一个单元ItemProp.pas,它在一个人自己的Delphi应用程序中做了完全相同的事情。这个单元通过Delphi 5工作得很好,但是对于D7及以上版本,会抛出很多错误。

http://www.koders.com/delphi/fid7ABE724EBD5F2123FF824AFD45151D2A087C5E6C.aspx?s=network

好!我承认!我很懒,已经谷歌搜索了一个更新的单位,甚至像这样的一个,已经工作了几个小时试图使这个单位至少D7兼容但我想我错过了某些地方,因为我没有成功的任何努力这个

所以......我的问题是,是否有人为D7及以上版本更新了此单元或者是否存在执行此代码操作的单元或组件?

提前致谢!

约翰

2 个答案:

答案 0 :(得分:5)

我怀疑所需要的只是在DFS.inc

中更新编译器版本指令

我添加了

{$DEFINE DFS_DELPHI}
{$DEFINE DFS_COMPILER_4_UP}
{$DEFINE DFS_NO_COM_CLEANUP}
{$DEFINE DFS_COMPILER_3_UP}

到主文件(ItemProp.pas),它在Delphi 2007上编译好了,但我还没有尝试运行代码。

答案 1 :(得分:5)

您可以使用更新的JEDI JCL library,而不是翻译此单位,检查JclShell单元,在此单元内部存在一个名为DisplayContextMenu的函数,该函数显示文件的shell上下文菜单

function DisplayContextMenu(const Handle: HWND; const FileName: string;
  Pos: TPoint): Boolean;