PowerPoint - كيف يمكنني معرفة ما إذا كان العرض التقديمي يحتوي على كلمة مرور برمجياً؟

StackOverflow https://stackoverflow.com/questions/215946

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أكتب تطبيقًا يعالج عروض PowerPoint التقديمية وأبحث عن طرق لاكتشاف ما إذا كان العرض التقديمي لـ PowerPoint يحتوي على كلمة مرور أم لا، إذا كان كذلك، فتوقف عن معالجته.

هل كانت مفيدة؟

المحلول

يبدو لي أن هناك لا توجد وسيلة للتحقق إذا كان العرض التقديمي محميًا بكلمة مرور.يجب عليك فتح المستند أولاً حتى تتمكن من الوصول إلى الخصائص.يجب عليك توفير كلمة المرور عند فتح المستند.

هناك خاصية كلمة المرور يمكنك التحقق.

لقد وجدت أ الحل البديل في تبادل الخبراء:

المشكلة هي ما يلي: Visual Basic هو تطبيق واحد مترابطة, ، هذا يعني أنه لا يمكنك وضع إجراء معين معلق والمتابعة مع آخر (في نفس التطبيق).عندما يكون لدى PowerPoint مجموعة "On Open" -Password ، يتم وضع إجراء CreateObject داخل التطبيق الخاص بك حتى يطلقه PowerPoint ، فهذا هو عندما يكون المستخدم في كلمة مرور.لا توجد طريقة لأني أعرفها ، لكن يمكنك جعل الحل البديل:

تقديم 2 التطبيقات, ، تطبيق واحد هو التطبيق الذي لديك بالفعل ، والثاني هو "PowerPoint Unlocker".تقوم بتشغيل البرنامج الثاني قبل فتح عرض PowerPoint المحمي في التطبيق 1.يمكنك القيام بذلك باستخدام أمر شل.يمكن أن يكون "PowerPoint Unlocker" متقدمًا كما تريد ، على سبيل المثال ، يمكنك توفير معلمات سطر الأوامر لتحديد العرض التقديمي الذي يجب إلغاء قفله بكلمة المرور.ثم تستخدم Findwindow API للحصول على مقبض نافذة العرض المقفل.بمجرد حصولك على ذلك، أنت استخدم API SendMessage لإدخال كلمة المرور.بعد ذلك ، يمكن تفريغ "فتح PowerPoint" ، ويمكن للتطبيق الأول استئنافه مع الإثارة.

آمل أن يساعد هذا!

عسمودي

نصائح أخرى

والنظر في النظر في هذا - HTTP : //blogs.msdn.com/b/openspecification/archive/2009/07/17/overview-of-protected-office-open-xml-documents.aspx

لوثيقة PPTX، يمكنك فحص وحدات البايت 8 الأولى للنظر في الرأس (يجب أن يكون [d0cf 11e0 a1b1 1ae1] لملف مشفر)، ومعرفة ما اذا كان هو PPTX مشفرة أم لا.

ولكن، على الملفات التي تم إنشاؤها مع Office 2003 (الملحق .ppt الافتراضي)، رأس هو نفسه (رأس MS-CFB). لذلك، إذا كان شخص ما يخلق وثيقة مكتب 2003 ثم إعادة تسمية ذلك إلى PPTX، سوف التعليمات البرمجية تنظر فيه بوصفه وثيقة مشفرة (في حين، فإنه لن يكون بالضرورة واحد).

إذا كنت تعمل مع المستندات التي تم فتحها بالفعل في PowerPoint، يمكنك استخدام وظيفة SaveCopyAs لأول حفظ المستند إلى القرص في شكل PPTX (استخدام الخيار الافتراضي في المعلمة الثانية)، ومن ثم اختبر رأس للتحقق مما إذا انها ملف مشفر.

والنظر في النظر في هذا - https://msdn.microsoft.com/ko -kr / مكتبة / dd948895 (ت = office.12) .aspx اتصال

لوPPT (مكتب 2003) وثيقة، يمكنك فحص عدد صحيح غير موقعة (بت 0xF3D1C4DF) لتحديد ما إذا كان يتم تشفير الملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top