Ist Word-Dokument passwort-geschützt?
-
Hallo,
woran kann ich beim Auslesen eines Word-Dokuments erkennen, ob es passwort-geschützt ist?
Gruß
Leo
-
Das dürfte in nicht unerheblichem Maße davon abhängen, wie du "ausliest". Das hast du aber leider nicht verraten.
-
MFK schrieb:
Das dürfte in nicht unerheblichem Maße davon abhängen, wie du "ausliest". Das hast du aber leider nicht verraten.
Mein bisheriger Ansatz sieht so aus, dass ich das Dokument in einen char-Buffer einlese, um darin suchen zu können. Wenn es jetzt idealerweise ein Unterscheidungskriterium gäbe, das in passwort-geschützer und nicht passwort-geschützter Version unterschiedlich ist, wäre ich am Ziel. Aber genau das ist die Frage: Welches Kriterium könnte das sein.
bool __fastcall TDM::sub_suche_in_Datei(AnsiString asSuchWort, AnsiString asPfadUndDatei) { bool bResult = false; int iFileHandle; int iFileLength; int iBytesRead; char *pszBuffer; if(FileExists(asPfadUndDatei)) { try { iFileHandle = FileOpen(asPfadUndDatei, fmOpenRead); iFileLength = FileSeek(iFileHandle, 0, 2); FileSeek(iFileHandle, 0, 0); pszBuffer = new char[iFileLength+1]; iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength); FileClose(iFileHandle); if( SearchBuf(pszBuffer, iFileLength, 0, 0, asSuchWort, TStringSearchOptions() << soDown) != NULL ){ bResult = true; } delete [] pszBuffer; } catch(...) { Application->MessageBox("Eine der folgenden Dateioperationen kann nicht durchgeführt werden: Öffnen, Suchen, Lesen, Schließen.", "Dateifehler", IDOK); } } return bResult; }
Gruß
Leo
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Leo Freitag schrieb:
MFK schrieb:
Das dürfte in nicht unerheblichem Maße davon abhängen, wie du "ausliest". Das hast du aber leider nicht verraten.
Mein bisheriger Ansatz sieht so aus, dass ich das Dokument in einen char-Buffer einlese, um darin suchen zu können. Wenn es jetzt idealerweise ein Unterscheidungskriterium gäbe, das in passwort-geschützer und nicht passwort-geschützter Version unterschiedlich ist, wäre ich am Ziel. Aber genau das ist die Frage: Welches Kriterium könnte das sein.
bool __fastcall TDM::sub_suche_in_Datei(AnsiString asSuchWort, AnsiString asPfadUndDatei) { bool bResult = false; int iFileHandle; int iFileLength; int iBytesRead; char *pszBuffer; if(FileExists(asPfadUndDatei)) { try { iFileHandle = FileOpen(asPfadUndDatei, fmOpenRead); iFileLength = FileSeek(iFileHandle, 0, 2); FileSeek(iFileHandle, 0, 0); pszBuffer = new char[iFileLength+1]; iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength); FileClose(iFileHandle); if( SearchBuf(pszBuffer, iFileLength, 0, 0, asSuchWort, TStringSearchOptions() << soDown) != NULL ){ bResult = true; } delete [] pszBuffer; } catch(...) { Application->MessageBox("Eine der folgenden Dateioperationen kann nicht durchgeführt werden: Öffnen, Suchen, Lesen, Schließen.", "Dateifehler", IDOK); } } return bResult; }
Gruß
LeoIst das dein Ernst, das du so in einer Word-Datei suchst.
Das es sich bei Word um kein Text-Format, sondern ein Binär-Format inkl.
aller möglichen Sonderzeichen und Null-Bytes handelt, weisst du aber schon.
So wie du da suchst scheint der Erfolg ja mehr oder weniger ein Glücksspiel
zu sein, ausser es gelingt dir den Anwender davon zu überzeugen all seine
Texte im Text-Format abzuspeichern. Dann kann er allerdings auch gleich das
Notepad verwenden.
-
Hallo Redhead,
was soll das werden? Ne Ohrfeige oder ne Hilfe?
Versuch's doch mal ein bisschen konstruktiver!By the way: Die oben dargestellte Methode, ist ein erster Versuch herauszufinden, ob ein Passwortschutz vorliegt. Zum Auslesen des Textes benutze ich entsprechende Word-Komponenten des C-Builders.
Gruß
Leo