windows - HKEY_CLASSES_ROOT\Directory\Background\shell 的问题
问题描述
我尝试使用上下文菜单将 Windows 资源管理器左栏中的/任何目录的名称发送到我在 Raku 中编写的程序。
我已将以下内容写入注册表
[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithFileAttributes.pl6\command]
@="\"C:\\rakudo\\bin\\raku.exe\" \"K:\\Windows\\NtUtil\\FileAttributes.pl6\" \"%V\""
从密钥本身复制它看起来像:
"C:\rakudo\bin\raku.exe" "K:\Windows\NtUtil\FileAttributes.pl6" "%V"
当我右键单击左列中的目录并左键单击 FileAttributes.pl6 时,它会在 shell 中启动 Raku,但什么也不做。它不会启动 FileAttrebes.pl6(或 -v 或 -V 或 -?)。
我如何告诉注册表将参数发送到 Raku?
非常感谢,-T
ps 我已经有来自右窗格的文件夹和文件正在工作
解决方案
我在 Windows 10 Rakudo 版本 2020.01 上对此进行了测试。
首先我创建了一个测试脚本C:\Users\hakon\raku\test.raku
:
use v6;
say "Hello world!";
say "Arguments:";
say "'$_'" for @*ARGS;
sleep 5;
然后我打开regedit.exe
并添加了密钥:
Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithRaku\command
我将后一个command
键的值设置为
C:\rakudo\bin\raku.exe C:\Users\hakon\raku\test.raku 1 2 3 "%V"
然后,我打开一个新的文件资源管理器窗口,从左侧窗格中选择一个文件夹,然后右键单击右侧窗格中目录列表下的空白区域,然后从上下文菜单中选择“OpenWithRaku”。
之后打开一个终端窗口,输出如下:
Hello world!
Arguments:
'1'
'2'
'3'
'C:\Users\hakon\raku'
所以它似乎在我的机器上运行良好。
推荐阅读
- android - 在clevertap推送通知中没有播放自定义声音反应原生android项目
- c# - 通过 LINQ 进行数据表搜索以避免重复
- symfony - 如何在编辑时设置奏鸣曲形式 data_class
- javascript - 如何防止在不弹出的情况下使用 CRA 为 sass 生成 css 文件?
- django - 如何在 django 通用视图中验证登录用户?
- python - 如何在交点处画一条垂直线
- combobox - 如何在 kendo ui 中为 Angular 重置组合框的选择
- django - 没有关系时计数并返回零的注释
- dart - 这两种包在 Dart 语言中的导入方式有什么区别?
- android - 如何在其他活动中使用全局变量