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

5
在Windows中,当用户在Windows资源管理器中右键单击文件或目录时,会出现一个Windows上下文菜单,其中包含有关此文件或目录的所有操作。
很久以前,Brad Stowers编写了一个名为ItemProp.pas的单元,它在用户自己的Delphi应用程序中完成了完全相同的操作。该单元在Delphi 5中运行良好,但对于D7及以上版本,会抛出许多错误。

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

好的!我承认了!我很懒,已经在谷歌上搜索了更新的单元甚至像这样的,尝试了几个小时让这个单元至少与D7兼容,但我想我错过了某些东西,因为我在这方面没有任何成功。

那么...我的问题是,是否有人为D7及以上更新了该单元或存在一个执行此代码所做的功能的单元或组件?

提前感谢!

约翰

2个回答

5
我猜只需要更新DFS.inc中编译器版本指令即可。
我添加了。
{$DEFINE DFS_DELPHI}
{$DEFINE DFS_COMPILER_4_UP}
{$DEFINE DFS_NO_COM_CLEANUP}
{$DEFINE DFS_COMPILER_3_UP}

将此代码添加到主文件(ItemProp.pas)中,使用Delphi2007编译通过,但我还没有尝试运行该代码。


天啊!我在找到的谷歌文件中看到了类似的内容,它是“为 D5 添加”的,但所呈现的代码已经删除了包含的dfs.inc,“{$I DFS.INC}”也被删除了,当然编译失败了。我应该提前考虑,但我的 Delphi 编程技能正在丧失。谢谢! - John
@John: 很高兴看到你找到了勾选标记并接受了Gerry的回答。这是使SO正常运作的一部分。你是否意识到除了接受答案外,还可以为其投赞成票? - Marjan Venema
谢谢Marjan。昨晚我尝试了,但它说我需要更多的“点数”或其他东西。今天早上它允许我点赞了。 - John

5

不必翻译此单元,您可以使用更新的JEDI JCL库,请查看JclShell单元。此单元中存在一个名为DisplayContextMenu的函数,该函数显示文件的shell上下文菜单。

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

我也搜索了JEDI,想着他们一定有类似的东西。但是由于有太多组件,像往常一样我错过了它。谢谢大家! - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接