EXE文件的右键菜单

时间:2012-02-20 02:04:09

标签: delphi service menu delphi-xe2 right-click

我想知道在Delphi中是否可以实现添加到EXE文件的右键菜单中的一些项目,特别是尚未在任何地方注册或安装的Windows服务应用程序EXE。菜单选项允许用户将EXE安装/卸载为Windows服务。这可能吗?如果是这样,那怎么样?如果它只与Windows Vista +兼容,那就没关系。

将有2个菜单项:

  • 安装(或卸载)
  • 开始(或停止)

2 个答案:

答案 0 :(得分:5)

如果您指的是Shell上下文菜单(Windows资源管理器中的右键单击窗口),则不能。您可以添加将显示所有.exe文件的菜单,但不能添加到单个文件中。

您可以为所有可执行文件注册一个上下文菜单处理程序,然后过滤传递的文件名以查看是否需要处理它,但这意味着数百个中的每一个(在你的机器上有数千个可执行文件,你的过滤器运行起来很可能是你的应用程序被右击了。

可能的解决方法是将带有自定义扩展名的文件放在服务的文件夹中,然后为该文件添加上下文菜单处理程序。右键单击该文件后,菜单项将使用适当的命令行参数调用您的服务。

(当然,最好的解决方案是使用控制面板的服务小程序来管理您的服务,这是它专门设计的服务。)

答案 1 :(得分:3)