繁体   English   中英

通过process.start()打开特定版本的Flash

[英]Opening particular version of Flash by process.start()

我正在使用以下代码打开Flash:

private Process flash = new Process();
flash.StartInfo.FileName = ("Flash.exe");
flash.Start();

目标计算机具有许多版本的Flash,例如Flash CS5、4、3。 我想打开最新版本或让用户选择,我该怎么做?

通常来讲,所有其他Flash安装都位于不同的程序文件夹中,因此您只需要确保从正确的文件夹中运行Flash.exe即可。 例如,我当前的安装位于: C:\\Program Files (x86)\\Adobe\\Adobe Flash CS5\\Flash.exe ,但另一种安装方式很可能位于C:\\ Program Files(x86)\\ Adob​​e \\ Adob​​e Flash CS4 \\ Flash.exe`。

需要注意的重要一点是, 您不能假定用户将Flash CS *安装在其默认目录中 您应该始终查询Windows注册表以找到已安装产品的列表。

另外,另一个注意事项是,您不需要在字符串文字周围加上括号。 所以你可以这样写:

string foo = "Hello!";

代替

string foo = ("Hello!");

编辑1:

嘿,我在这里论坛主题中发现了类似的问题! 我下载了代码示例,并通过vb.net-> C#转换器( 像这样 )运行了该示例,并在进行了一些次要的语法调整后使其工作。 现在,它可以输出已安装程序的列表及其相应的版本号。

将有很多方法可以从某些用户那里获取程序。 所有这些都将放在一个公用列表中,并返回给用户。 现在,这似乎是完美的,但是只有一个缺陷-到目前为止没有可用的路径!

您可以只查询UninstallString,并获取到卸载程序的路径(与Flash.exe位于同一文件夹中的IIRC)。 例如,在GetUninstallKeyPrograms中,

try
{
    IsSystemComponent = Convert.ToInt32(CurrentSubKey.GetValue("SystemComponent", 0));
}

片段,您可以尝试获取UninstallString值以获取路径。 希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM