【问题标题】:Right-click and select a context menu option with Ruby in Windows右键单击并在 Windows 中使用 Ruby 选择上下文菜单选项
【发布时间】:2012-05-03 16:01:28
【问题描述】:

如何让 Ruby 右键单击​​ Windows 文件夹中的文件并从简单脚本的上下文菜单中选择一个选项?

【问题讨论】:

  • 原生 shellexecute API 可以运行某些动词,许多自定义右键单击选项映射回一组参数和一个可运行的程序,你想做什么?
  • Pickaxe Windows Support chapter 可能在非常普遍的方式中很有用,但根据您要实现的目标,可能会有更简单的方法。
  • 我正在尝试在 Windows 7 上下文菜单中选择“发送到 -> 桌面”选项。
  • 那么你可能只需要使用win32utils创建一个快捷方式并将其保存在桌面上。
  • 关于如何使用 Ruby 使用相同的上下文菜单,但要“发送至 - 文档”或“发送至 -> Amazon Cloud Drive”的任何想法?

标签: ruby windows contextmenu


【解决方案1】:

使用 win32utils 您可以避免使用 API 调用将链接发送到桌面:

require 'win32/shortcut'
require 'win32/dir'
include Win32

Shortcut.new(Dir::DESKTOP + '\shortcut.lnk') do |s|
  s.path = "c:\\path\\to\\something.exe"
  s.window_style = Shortcut::SHOWNORMAL
  s.description = "My shortcut to something"
end

您需要 win32-shortcutwin32-dir 宝石;您还需要确定提供给Shortcut#path 的文件路径。这通常使用Dir#each 轻松完成,将您感兴趣的目录传递给它,并对您迭代的目录元素进行某种控制。

【讨论】:

  • 创建快捷方式问题的好答案(谢谢!,投票),但您对如何在 Windows 上下文(右键单击)菜单中选择其他选项有什么建议吗? (请参阅我对您上面评论的回复。)
  • 虽然我不知道有什么方法可以单击上下文菜单项,但有很多方法可以模仿相同的行为。例如,您可以使用win32-dir 快捷方式获取Dir::COMMON_DOCUMENTS,然后使用FileUtils::cp 将文件复制到此处。
猜你喜欢
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 2016-11-01
相关资源
最近更新 更多