Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 打开一个文件';的上下文对话框、默认操作等_Delphi_Delphi 7 - Fatal编程技术网

Delphi 打开一个文件';的上下文对话框、默认操作等

Delphi 打开一个文件';的上下文对话框、默认操作等,delphi,delphi-7,Delphi,Delphi 7,在Windows中,当用户在Windows资源管理器中右键单击某个文件或目录时,将显示一个Windows上下文菜单,其中包含用户可以对该文件或目录执行的所有操作 早在那天,Brad Stowers就编写了一个单元ItemProp.pas,它在自己的Delphi应用程序中做了完全相同的事情。这个单元在Delphi5中运行得很好,但是对于D7及以上版本,会抛出很多错误 好的!我承认!我很懒,在谷歌上搜索了一个更新的单元,甚至像这样的单元,已经工作了几个小时试图使这个单元至少D7兼容,但我想我遗漏了

在Windows中,当用户在Windows资源管理器中右键单击某个文件或目录时,将显示一个Windows上下文菜单,其中包含用户可以对该文件或目录执行的所有操作

早在那天,Brad Stowers就编写了一个单元ItemProp.pas,它在自己的Delphi应用程序中做了完全相同的事情。这个单元在Delphi5中运行得很好,但是对于D7及以上版本,会抛出很多错误

好的!我承认!我很懒,在谷歌上搜索了一个更新的单元,甚至像这样的单元,已经工作了几个小时试图使这个单元至少D7兼容,但我想我遗漏了一些东西,因为我在这方面的任何努力都没有成功

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

提前谢谢


John

我怀疑所需要的只是更新DFS.inc中的编译器版本指令

我补充说

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

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

您可以使用更新的检查单元,在该单元内存在一个名为
DisplayContextMenu
whcih的函数,该函数显示文件的shell上下文菜单

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

天哪!我在谷歌搜索的一个文件中看到了类似的东西,我确实找到了这个文件,并且“为D5添加了”,但是给出的代码删除了包含的dfs.inc,{$I dfs.inc},当然它无法编译。我应该提前考虑,但我正在失去我的Delphi编程技能。谢谢@约翰:很高兴看到你找到了复选标记并接受了格里的答案。这是让它发挥作用的一部分。你知道吗,除了接受答案,你还可以投票表决吗?谢谢Marjan。我昨晚试过了,但它说我需要更多的分数。这是它让我可以向上投票。我也搜索过绝地武士,认为他们一定有这样的东西。由于有无数的部件,我像往常一样错过了它。谢谢大家!