Winforms 复制文件失败';行不通

Winforms 复制文件失败';行不通,winforms,visual-studio-2010,c++-cli,file-copying,Winforms,Visual Studio 2010,C++ Cli,File Copying,我正在尝试将文件复制到启动文件夹。这是我的密码: String ^path; path = Environment::GetFolderPath(Environment::SpecialFolder::CommonStartup); path += "\\EFM.lnk"; if(!IO::File::Exists(path)) IO::File::Copy("C:\

我正在尝试将文件复制到启动文件夹。这是我的密码:

            String ^path;
            path = Environment::GetFolderPath(Environment::SpecialFolder::CommonStartup);
            path += "\\EFM.lnk";

            if(!IO::File::Exists(path))
                IO::File::Copy("C:\\lng\\EFM.lnk",path);

这很简单,但不起作用。我想问您:“为什么”

如果进程缺少管理权限,并且其清单没有将其标记为意识到UAC隔离,那么对公共启动文件夹(需要管理员访问)的写入可能会自动重定向到
C:\Users\{your name}\AppData\Local\VirtualStore


这就解释了真实文件夹中缺少文件和未经授权的访问异常或任何其他错误的原因。

它是如何工作的?它是否抛出异常?是否没有异常,但未创建目标文件?@DavidYaw没有异常,也没有目标文件。变量
path
if()
正常工作。只有
File::Copy
方法无效。您的进程是否具有管理权限?如果没有,是否检查文件夹是否已重定向到
C:\Users\{your name}\AppData\Local\VirtualStore
?(顺便说一句,你应该使用Path::Combine(),而不是追加和手工插入反斜杠)@Medinoc:你说得对,管理权限这是个问题,现在它开始工作了。谢谢(顺便说一句,感谢Path::Combine()的提示,我会记住这一点)。我正在将其转换为答案,这样看起来就不会是一个未回答的问题。