尝试使用WScript.Shell从Windows 10中的Silverlight应用程序打开图像文件时,我遇到了一个问题。
代码如下。
try
{
dynamic shell = AutomationFactory.CreateObject("WScript.Shell");
shell.Run(@"C:\temp\X.jpg");
}
catch (Exception ex)
{
MessageBox.Show(ex.StackTrace);
}
当默认应用程序在Windows 10“默认应用程序”设置中设置为“照片”/“Internet Explorer”时,这段代码可以正常工作。
但是,当默认应用程序设置为“画图”时,我得到一个异常“没有应用程序与此操作的指定文件关联。(HRESULT异常:0x80070483)”
请注意,当我尝试在Windows资源管理器中双击同一图像时,它会在Paint应用程序中打开而不会出现错误。
为什么会这样?请帮忙。
WScript.Shell
对象运行strRunLine
运行的程序和文件
<?xml version="1.0"?>
<package>
<job id="default">
<script language="jscript">
<![CDATA[
// save to demo_runpaint.wsf
var WshShell = new ActiveXObject("Wscript.Shell");
var strRunLine = "";
strRunLine = "mspaint.exe C:/path/to/capture.png";
WshShell.Run( strRunLine );
]]>
</script>
</job>
</package>