2013-07-01 97 views
0

我想複製文件到啓動文件夾。這裏是我的代碼:複製文件不起作用

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

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

這很簡單,但不工作。我想問你:「爲什麼」?

+0

* How does not work?它拋出異常嗎?有沒有例外,但目標文件沒有創建? –

+0

@DavidYaw沒有例外,也沒有目標文件。變量'path'和'if()'可以正常工作。只有'File :: Copy'方法沒有工作。 –

+1

你的過程是否有管理權限?如果沒有,你是否檢查過該文件夾可能已被重定向到'C:\ Users \ {你的名字} \ AppData \ Local \ VirtualStore'? (順便說一句,你應該使用Path :: Combine()而不是追加和麻煩手動插入反斜槓) – Medinoc

回答

1

如果該進程缺少管理權限並且其清單不會將其標記爲意識到UAC隔離,則可以將通用啓動文件夾(需要管理員訪問權限)寫入,然後可以將其默認重定向到C:\Users\{your name}\AppData\Local\VirtualStore

這解釋了實際文件夾中缺少文件以及缺少UnauthorizedAccessException或其他任何錯誤。