2014-03-06 58 views
0

我正在開發某種類型的windows shell命名空間擴展(NE)。我的擴展爲文件和文件夾提供自定義上下文菜單元素。除此之外,我需要在我的NE下創建一個新文件。我想創建一個文件:在windows shell命名空間擴展中使用_wopen()

auto flags = O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_CLOEXEC; 
auto fd = _wopen(L"c:\\test.txt", flags , 0666); 

我也tryed使用"\\?\"前綴:

auto flags = O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_CLOEXEC; 
auto fd = _wopen(L"\\\\?\\c:\\test.txt", flags , 0666); 

反正返回文件描述符爲負並且errno爲EACCES - 「權限被拒絕」 上午什麼我錯過了?

+1

用戶無法在C:\中創建文件(沒有提升),您嘗試了其他位置嗎? – Timbo

+0

@Timbo我在其他地方設法做到了,這是對的。它應該是一個答案。 – vard

回答

2

用戶無法在C:\中創建文件(無需提升)。

shell擴展與當前用戶的憑據一起運行,因此您不能在那裏創建文件。

相關問題