PowerPoint- 프레젠테이션에 프로그래밍 방식으로 암호가 있는지 어떻게 알 수 있습니까?

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

  •  03-07-2019
  •  | 
  •  

문제

PowerPoint 프레젠테이션을 처리하는 응용 프로그램을 작성하고 있으며 PowerPoint 프레젠테이션에 비밀번호가 있는지 여부를 감지하는 방법을 찾고 있습니다.

도움이 되었습니까?

해결책

나에게 있어야한다 확인 방법이 없습니다 프레젠테이션이 암호로 보호 된 경우 속성에 액세스 할 수 있도록 먼저 문서를 열어야합니다. 문서를 열 때 암호를 제공해야합니다.

이있다 비밀번호 속성 당신은 확인할 수 있습니다.

나는 찾았다 전문가 교환 해결 방법:

문제는 다음과 같습니다. Visual Basic은 단일 스레드 응용 프로그램입니다, 이것은 특정 절차를 보류 할 수 없으며 다른 응용 프로그램에서 다른 절차를 진행할 수 없음을 의미합니다. PowerPoint에 "On Open"-Password 세트가있는 경우, PowerPoint가 출시 될 때까지 응용 프로그램 내부의 CreateObject 프로 시저가 보류됩니다. 사용자가 암호에 유형 할 때입니다. 이것에 대해 내가 알고있는 방법은 없지만 해결 방법을 만들 수 있습니다.

2 개의 응용 프로그램을 만드십시오, 1 응용 프로그램은 이미 가지고있는 응용 프로그램이고 두 번째 응용 프로그램은 "PowerPoint 잠금 해제"입니다. 응용 프로그램 1에서 보호 된 PowerPoint 프레젠테이션을 열기 직전에 두 번째 프로그램을 실행합니다. Shell Command로 수행 할 수 있습니다. "PowerPoint Unlocker"는 원하는만큼 발전 할 수 있습니다. 예를 들어 명령 줄 매개 변수를 제공하여 어떤 비밀번호로 잠금을 해제 해야하는 프레젠테이션을 지정할 수 있습니다. 그런 다음 사용합니다 잠긴 프리젠 테이션의 창 손잡이를 얻으려면 FindWindow API. 일단 당신이 그것을 가지고, 당신은 SendMessage API를 사용하십시오 비밀번호를 입력합니다. 그 후 "PowerPoint Unlocker"언로드와 첫 번째 응용 프로그램은 실행 후 재개 될 수 있습니다.

이게 도움이 되길 바란다!

오스 모디아

다른 팁

이것을 보는 것을 고려하십시오 -http://blogs.msdn.com/b/openspecification/archive/2009/07/17/overview-of-protected-open-xml-documents.aspx

PPTX 문서의 경우 첫 번째 8 바이트를 검사하여 헤더를 살펴보고 (암호화 된 파일의 경우 [D0CF 11E0 A1B1 1AE1]이어야합니다). 암호화 된 PPTX인지 여부를 알 수 있습니다.

그러나 Office 2003 (Default Extension .PPT)으로 생성 된 파일의 경우 헤더가 동일합니다 (MS-CFB 헤더). 따라서 누군가가 Office 2003 문서를 작성한 다음 PPTX로 이름을 바꾸면 코드가 암호화 된 문서로 간주됩니다 (반드시 하나는 아닙니다).

PowerPoint에서 이미 열린 문서로 작업하는 경우 Savecopyas 함수를 사용하여 먼저 문서를 PPTX 형식의 디스크에 저장 한 다음 (두 번째 매개 변수의 기본 옵션 사용) 헤더를 검사하여 암호화 된 지 확인하십시오. 파일.

이것을 보는 것을 고려하십시오 -https://msdn.microsoft.com/ko-kr/library/dd948895(v=office.12).aspx

PPT (Office 2003) 문서의 경우, 부호없는 정수 (0xf3d1c4df 비트)를 검사하여 파일이 암호화되어 있는지 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top