Hallo iedereen,
Ik ben weer een tijdje bezig om wat in C++ te maken, alleen ik heb op het moment een klein probleem. Ik probeer een bestand van locatie A naar locatie B te kopiëren op een Windows 7 pc.
De locatie waar het bestand af moet komen is een netwerk path die beveiligt is met een wachtwoord en gebruikers naam. Ik heb de gegevens hier uiteraard van. De locatie waar het bestand heen moet in de System32 map van Windows.
Als ik het programma als administrator uit voer kan ik aan de System32 map komen, dus dit is geen probleem. Het probleem is dat ik niet met CopyFile van een beveiligde netwerk path kan kopiëren. Ik kan me namelijk nergens "Identificeren".
Ik ben vervolgens door gaan zoeken en ben de functie "LogonUser" tegen gekomen, alleen dit wilt ook niet helpen. Ik krijg nog steeds error 5 "Access is Denied".
Zou iemand me hier mee kunnen helpen of een hint geven wat ik fout doe en is dit wel mogelijk met CopyFile? Alvast bedankt!
Dit is de code die ik tot nu toe heb:
Ik ben weer een tijdje bezig om wat in C++ te maken, alleen ik heb op het moment een klein probleem. Ik probeer een bestand van locatie A naar locatie B te kopiëren op een Windows 7 pc.
De locatie waar het bestand af moet komen is een netwerk path die beveiligt is met een wachtwoord en gebruikers naam. Ik heb de gegevens hier uiteraard van. De locatie waar het bestand heen moet in de System32 map van Windows.
Als ik het programma als administrator uit voer kan ik aan de System32 map komen, dus dit is geen probleem. Het probleem is dat ik niet met CopyFile van een beveiligde netwerk path kan kopiëren. Ik kan me namelijk nergens "Identificeren".
Ik ben vervolgens door gaan zoeken en ben de functie "LogonUser" tegen gekomen, alleen dit wilt ook niet helpen. Ik krijg nog steeds error 5 "Access is Denied".
Zou iemand me hier mee kunnen helpen of een hint geven wat ik fout doe en is dit wel mogelijk met CopyFile? Alvast bedankt!
Dit is de code die ik tot nu toe heb:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| HANDLE handle; char * pathsource = "\\\\192.168.1.14\\Data\\oemlogo.bmp"; char * pathdest = "C:\\Windows\\System32\\oemlogo.bmp"; LogonUserA("usernaam","192.168.1.14","password",LOGON32_LOGON_NEW_CREDENTIALS,LOGON32_PROVIDER_DEFAULT,&handle); if ( ImpersonateLoggedOnUser(handle) ) { CopyFileA(pathsource,pathdest,TRUE); RevertToSelf(); } CloseHandle(handle); cout << GetLastError() << endl; |
[ Voor 1% gewijzigd door BtM909 op 26-01-2012 09:36 ]