我在互聯網上的某個地方發現了這個問題,現在面臨同樣的問題。幾乎沒有變化,我已經在下面修改了問題。:: createFile winApi失敗,出現錯誤5(access_denied)。是殼牌編程或其他解決方案或任何提示。
問:
我想訪問遠程計算機(10.10.20.30)上的一個文件,但我不能瞭解如何登錄該機器在我的計劃。是否有任何簡單的獲取網絡路徑,憑證和返回文件句柄的API?我只想訪問\ 10.10.20.30 \共享文件夾\ test.txt。 任何建議都會有所幫助。
抱歉在編碼意義上不太清楚。 詳細信息: 我想訪問在共享文件夾中共享的文件,但未授予我權限。我正在使用:: CreateFile來獲取文件的漢德爾。但在這種情況下,我正在收回錯誤代碼5(ACCESS_DENIED)。我需要使用用戶(我的客戶端)憑據(用戶名密碼)來訪問共享的文件。我只需要處理文件。告訴我,如果我錯了::在這種情況下,CreateFile無法使用或修改安全屬性,如MSDN所說。 CreateFile在打開現有文件時忽略lpSecurityDescriptor成員。我也想過使用Window shell,但無法解決問題。
問題詳細內容 *那麼需求是這樣的在遠程機器上我沒有EveryOne權限。讓我通過一個例子來解釋。假設有至少3臺計算機的某個域有網絡可以說5個。現在有名稱爲C1(客戶端),C2(目的地),C3,C4,C5。現在在這種情況下,我將在C2機器上創建一個文件(任何類型),並將它放在一個文件夾MyFolder中。現在讓它共享,然後從中刪除EveryOne。之後,添加C5作爲用戶訪問它。現在你可以看到只用:: CreateFile實現來編寫一些代碼,並在機器C1(客戶機)和C5(它有權限)上運行它。你會看到客戶端(C1)會得到錯誤5,這意味着ACCESS_DENIED,但C5會執行它,並將獲得文件句柄......現在我再次重複我的問題,我需要通過我的任何方式獲得文件句柄用戶名和密碼,我的程序將獲得來自C1機.. *手柄
請諮詢我提前 感謝
::的CreateFile失敗,拒絕訪問是shell編程或其他溶液或暗示
也許你需要首先使用[NetUseAdd](http://msdn.microsoft.com/en-us/library/windows/desktop/aa370645(v = vs.85).aspx)函數。如果您可以在Windows資源管理器中打開「\\ 10.10.20.30 \ share folder \」,這應該工作。 –
@MichaelWalz我不允許通過瀏覽器打開它。看到上面的問題細節。 – user2809792
你解決了嗎?是否有任何簡單的獲取網絡路徑,憑證和返回文件句柄的API? – AcidBurn