我使用以下代码打开flash:
private Process flash = new Process();
flash.StartInfo.FileName = ("Flash.exe");
flash.Start();
目标机器有许多版本的闪存,如闪存cs5,4,3。我想打开最新版本或让用户选择,我怎么可能这样做?
答案 0 :(得分:0)
通常来说,所有其他Flash安装都位于不同的程序文件夹中,因此您只需要确保从正确的文件夹运行Flash.exe。例如,我当前的安装位于:C:\Program Files (x86)\Adobe\Adobe Flash CS5\Flash.exe
,但另一个安装很可能位于C:\ Program Files(x86)\ Adobe \ Adobe Flash CS4 \ Flash.exe`中。
需要注意的一点是,您不能假设用户在其默认目录中安装了Flash CS * !您应始终查询Windows注册表以查找已安装产品的列表。
另外,另一个通知是你不需要围绕字符串文字的括号。所以你可以写:
string foo = "Hello!";
而不是
string foo = ("Hello!");
会有很多方法可以让程序形成例如某些用户。然后将所有这些放在一个公共列表中,返回给用户。现在,这看起来很完美,但只有一个缺陷 - 到目前为止还没有可用的路径!
您可以只查询UninstallString,并获取卸载程序的路径(与Flash.exe位于同一文件夹中的IIRC)。例如,在GetUninstallKeyPrograms中,在
之后try
{
IsSystemComponent = Convert.ToInt32(CurrentSubKey.GetValue("SystemComponent", 0));
}
片段,您可以尝试获取UninstallString值以获取路径。希望它有所帮助!