Benutzer mit den meisten Antworten
Erkennen mit welchem Zugriff eine Datei geöffnet werden kann

Frage
-
Hallo,
ich muss eine Datei .txt .log etc. öffnen und auslesen.
Dabei ist entscheidend, wo diese liegt. Je nachdem muss ich was machen.
Konkret.
- Datei auf Festplatte dann ToDoA
- Datei auf Netzwerk dann ToDoB
- Datei auf Netzwerk mit Workgroup "XXXX" dann ToDoC
- Datei auf Netzwerk mit Workgroup "XXXX" und in der Domäne "YYY" dann ToDoD
Welche Ansätze würde sich eignen?
Danke für Tipps im Voraus und ein schönes Wochenende.
Gruß, Oliver
- Bearbeitet Martin RichterModerator Samstag, 3. März 2012 20:23 Topic geänert
Antworten
-
GetDriveType sollte Dir erstmal helfen.
Mit GetUserNameEx bekommst Du zumindest heraus wie Du angemeldet bist.
IMHO kann man nicht entscheiden mit welchem Credential ein Zugriff erfolgt.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert O. Stippe Sonntag, 4. März 2012 16:17
Alle Antworten
-
GetDriveType sollte Dir erstmal helfen.
Mit GetUserNameEx bekommst Du zumindest heraus wie Du angemeldet bist.
IMHO kann man nicht entscheiden mit welchem Credential ein Zugriff erfolgt.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert O. Stippe Sonntag, 4. März 2012 16:17
-
GetDriveType sollte Dir erstmal helfen.
Hallo Martin,
OK guter Tipp, sollte somit weiterkommen.
for( int zaehler = 65; zaehler<(65+26); zaehler++ ) { str[zaehler-65] = zaehler; // Großbuchstaben A bis Z erzeugen (Zeichen-Code 65 bis 90) int Drive = GetDriveType( str[zaehler-65] + ":" ); // Laufwerk-Typ abfragen //Spezialfall Programm befindet sich auf Festplatte char Buffer[260]; GetCurrentDirectory(260,Buffer); if( str[zaehler-65] == Buffer[0] ) Drive = GetDriveType( NULL ); // If lpRootPathName is NULL, the function uses the root of the current directory. //Spezialfall Programm befindet sich auf Festplatte s.Format( "Laufwerk %s: %i", str[zaehler-65], Drive ); dc.TextOut( 0, (zaehler-65) * 23, s, strlen(s) ); if( Drive == 3 || Drive == 4 ) // 3 Festplatte, 4 Netzlaufwerk { GetDiskFreeSpaceEx( str[zaehler-65] + ":", &m_FreeBytes, &m_TotalBytes, NULL ); //Freier Speicherplatz auf Laufwerk s.Format( "frei: %u MB", m_FreeBytes.QuadPart /(1024*1024) ); dc.TextOut( 200, (zaehler-65) * 23, s, strlen( s ) ); dc.TextOut( 350, (zaehler-65) * 23, " " ); if( m_FreeBytes.QuadPart / (1024*1024) >= limit ) { dc.TextOut(350, (zaehler-65) * 23, ">limit" ); m_ctlListBox.AddString( str[zaehler-65] + ":" ); } } } // Ende der for-Schleife http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel3.htm
Grüße Oliver