Powerpoint - Wie kann ich herausfinden, ob eine Präsentation programmatisch ein Passwort hat?
-
03-07-2019 - |
Frage
Ich schreibe eine Anwendung, die Powerpoint-Präsentationen verarbeitet und ich bin auf der Suche nach Möglichkeiten zu erkennen, ob oder nicht eine Powerpoint-Präsentation ein Kennwort hat, wenn es dann die Verarbeitung stoppt.
Lösung
Es scheint mir, dass es keine Möglichkeit, zu überprüfen, ob die Präsentation kennwortgeschützt ist. Sie haben das Dokument öffnen ersten Eigenschaften zugänglich zu machen. Sie haben das Passwort angeben, wenn Sie das Dokument öffnen.
Es gibt eine Password-Eigenschaft überprüfen.
Ich habe eine Abhilfe auf Expertenbörse gefunden :
Das Problem ist folgendes: Visuelle Basic ist ein Single-Threaded Anwendung , das bedeutet, dass Sie heucheln setzen ein bestimmtes Verfahren in die Warteschleife und mit einem anderen gehen (in den gleichen Anwendung). Wenn Powerpoint hat ein „Offener“ -Passwort-Set, das Create Verfahren in Ihrem Anwendung wird gehalten, bis setzen Powerpoint gibt sie, das ist, wenn der Benutzer in einem Passwort. Es gibt kein Weg vorbei, die ich kenne aus, Sie können jedoch eine Abhilfe machen:
2-Anwendungen , 1 Anwendung die Anwendung, die Sie bereits haben, die zweite ist ein „Powerpoint unlocker“. Sie führen das zweite Programm kurz vor Sie öffnen das geschützte Powerpoint Präsentation in Anwendung 1. Sie können man das mit dem Shell-Befehl. Das „Powerpoint-unlocker“ kann als vorgeschoben, wie Sie es haben wollen, können Sie beispielsweise Befehlszeile bereitzustellen Parameter zu spezifizieren, die Präsentation müssen entriegelt werden was Ihr Passwort ein. Dann nutzen Sie die Find api das Fenster zu erhalten Griff der gesperrten Präsentation . Sobald Sie, dass Sie die Sendmessage api das Passwort einzugeben. Danach wird die „Powerpoint-unlocker“ leert und die erste Anwendung kann wieder mit seiner Ausfürung.
Ich hoffe, das hilft!
Osmodean
Andere Tipps
Betrachten Blick auf diese - http : //blogs.msdn.com/b/openspecification/archive/2009/07/17/overview-of-protected-office-open-xml-documents.aspx
Für eine PPTX-Dokument können Sie die ersten 8 Bytes untersuchen im Header suchen (sollte [d0cf 11e0 a1b1 1ae1] für eine verschlüsselte Datei), und wissen, ob es sich um eine verschlüsselte PPTX ist oder nicht.
Doch für Dateien mit Office 2003 (Standarderweiterung .ppt) erstellt, ist der Header die gleiche (MS-CFB-Header). Also, wenn jemand ein Office 2003-Dokument erstellt und dann benennt sie in einen PPTX, Ihr Code wird betrachtet es als ein verschlüsseltes Dokument (während, wäre es nicht unbedingt sein).
Wenn Sie mit Dokumenten arbeiten bereits in Powerpoint geöffnet, können Sie die SaveCopyAs Funktion verwenden, um das Dokument zunächst auf der Festplatte im PPTX-Format zu speichern (verwenden Sie die Standardoption im zweiten Parameter), und dann den Header untersuchen, um zu prüfen, ob es ist eine verschlüsselte Datei.
Betrachten Blick auf diese - https://msdn.microsoft.com/ko -kr / library / dd948895 (v = office.12) aspx
Für eine PPT (Office 2003) Dokument, können Sie die ganze Zahl ohne Vorzeichen untersuchen (0xF3D1C4DF Bits) zu identifizieren, ob die Datei verschlüsselt ist.