0

我正在尝试使用以下命令从 Excel VBA 调用一个简单的 Java 程序:

Call Shell("java -jar C:\TestMessage.jar arg0 arg1", vbNormalFocus)

我收到错误:“运行时错误'5':无效的过程调用或参数”以及任务栏通知:“操作被阻止;您的 IT 管理员导致 Windows Defender 安全中心阻止此操作。”

我被卡住了,因为我可以毫无问题地使用:

Call Shell("notepad C:\gp.txt", vbNormalFocus)

此外,我可以使用以下命令从命令提示符调用 .jar:

java -jar C:\TestMessage.jar arg0 arg1

有任何想法吗?提前致谢。

4

1 回答 1

0
sTempBAT = "d:\tempLog.txt"
Set shellwindows = GetObject("new:9ba05972-f6a8-11cf-a442-00a0c90a8f39")
Set itemobj = shellwindows.Item()
itemobj.document.Application.ShellExecute sTempBAT, "", "", "open", 0

上述代码将绕过 Windows Defender 安全调用 shell 函数 https://blog.sevagas.com/IMG/pdf/bypass_windows_defender_attack_surface_reduction.pdf

于 2021-05-09T09:15:31.203 回答