当我使用以下方式时,可以正确打开win32.hlp。
0:000> aS api .shell -x winhlp32.exe -k createfile win32.hlp
0:000> w
但是,当我想使用参数$ arg1时,如下所示,
0:000> aS api .shell -x winhlp32.exe -k ${$arg1} win32.hlp
0:000> w createfile
显示错误消息:
“找不到win32.hlp的createfile文件。你想尝试自己找这个文件吗?”
有什么想法吗?
[UPDATE]
snoone的方式可以在大多数时间内正常工作,但有时会显示以下对话框。
显然,文件名“win32.hlp”被错误地视为搜索词的一部分。 我做错了什么?
答案 0 :(得分:1)
我不认为这是可能的。这看起来像是别名和脚本之间的混淆。
在调试器命令窗口中使用别名
定义别名后,可以在任何命令条目中使用它。别名名称将自动替换为别名等效项。因此,您可以将别名用作表达式或宏。
因此,别名是简单的文本替换,它们不像脚本文件那样传递给它们的参数。
我最接近你的别名是
0:000> aS api .shell -x notepad.exe -k
0:000> api c:\temp\j.txt
这启动了notepad.exe打开c:\temp\j.txt
。
答案 1 :(得分:1)
杰森是对的,你不能传递这样的论点。为了实现这一点,您需要通过脚本文件间接地执行此操作。
例如,创建一个文件e:\ hlplaunch.wbs并在其中加入以下行:
.shell -x winhlp32.exe -k ${$arg1} win32.hlp
然后创建别名以启动脚本,而不是直接创建shell:
aS ${/v:api} "$$>a<e:\\hlplaunch.wbs"
然后,您可以使用您使用的相同命令启动帮助查看器:
api createfile