【发布时间】:2011-11-15 19:07:50
【问题描述】:
我创建了一个可以在 32 位操作系统上运行的应用程序,但我尝试过的每个 64 位操作系统似乎都不起作用。
我正在创建一个应用程序,允许您更改 Windows 7 中登录屏幕的背景图像。为此,我的应用程序需要在 System32 目录中创建一个文件夹,而在 64 位操作系统上似乎没有想要创建它。我没有收到错误,也没有抛出异常。它似乎没有创建文件夹。
64 位操作系统有一个不同的 System32 文件夹“Windows\SysWOW64\”,所以我应该改写它吗?我对 64 位操作系统在做什么有点困惑,所以如果有人能澄清它并指出我正确的方向,那就太好了。
提前致谢!
目录制作代码:
path = DriveLabel += @"Windows\System32\Oobe\info\backgrounds\";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
【问题讨论】:
-
您确定您的应用程序正在以适当的权限运行吗? System32 将成为受保护的目录。
-
你能告诉我们你使用的代码吗?
-
是的,我使用管理员帐户运行。在程序开始时,我会检查用户是否是管理员。
-
对于和我一样困惑的每个人,read this article,我认为牛奶船正在尝试编写一个应用程序来管理 %windir%\system32 中的图像\oobe\info 文件夹。
-
@Milkboat 一个小切线说明,您找到 windows 文件夹的方式很糟糕,用户可以将 windows 安装到您想要的任何文件夹,使用
Environment.GetFolderPath(SpecialFolder.Windows)它将始终指向安装目录当前机器上运行的窗口个数。