System32或SysWOW64的Windows 7环境变量

时间:2013-10-09 10:36:23

标签: c# environment-variables flash windows-7-x64 system32

是否有一个环境变量可以分别直接访问Windows 7 32位或64位的System32SysWOW64文件夹?

我知道使用%WINDIR%\System32的解决方法并不适用于我。

我必须重新编译一个EXE,它引用一些应该在System32文件夹中注册的OCX。我面临的问题是我必须在64位系统中安装它,其中OCX已在SysWOW64文件夹中注册而未在System32文件夹中注册。

我该怎么办?谢谢你的帮助!

编辑:

我发现该解决方案引用了一个引用flash10h.ocx的dll。为此,必须注册flash10h.ocx。我可以在SysWOW64文件夹中注册,但不能在System32注册。我的系统已经有一个flash player v11.xx.这不起作用吗?

请帮忙!

1 个答案:

答案 0 :(得分:3)

以下方法将检索32位系统目录的路径,并可选择将其放在环境变量SYSDIR32中。

public static String Get32BitSystemDirectory (Boolean placeInEnvironmentVariable = true)
{
   String sysDir = "";
   if (Environment.Is64BitOperatingSystem) sysDir = Environment.ExpandEnvironmentVariables("%windir%\\SysWOW64");
   else sysDir = Environment.ExpandEnvironmentVariables("%windir%\\System32");
   if (placeInEnvironmentVariable) Environment.SetEnvironmentVariable("SYSDIR32", sysDir, EnvironmentVariableTarget.User);
   return sysDir;
}