Search code examples
c#acrobat-sdk

Get App Instance using process handle of Acrobat DC in C#


I have process handle of Adobe Acrobat Pro DC process instance running, how can I get AcroExch.App object using process handle in C#.


Solution

  • Please note that, Unfortunately, Acrobat DC SDK, works only with either Adobe Acrobat Pro/Standard version. Doesn't support Acrobat Reader DC.

    So, I managed to retrieve reference pointing running instance of Acrobat Pro DC using following piece of code,

    Type PDFType = Type.GetTypeFromProgID("AcroExch.App");
    CAcroApp AcroAppObj = Activator.CreateInstance(PDFType) as CAcroApp;
    
    AcroAppObj.Show();
    CAcroAVDoc AvDocObj = AcroAppObj.GetActiveDoc() as CAcroAVDoc;
    
    CAcroPDDoc PdDocObj = AvDocObj.GetPDDoc() as CAcroPDDoc;
    
    string fileName = PdDocObj.GetFileName();