Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TomLudwig am 07.02.07 - 16:20:40

Titel: shellExecute - Programm schließen
Beitrag von: TomLudwig am 07.02.07 - 16:20:40
Hallo zusammen,

ich habe im Forum folgenden Befehl gefunden. Dieser funktioniert auch wunderbar. Allerdings kann ich den Acrobat Reader der gesteratet wird nicht mehr schließen.
Leider finde ich bei Google auch nur eine Möglichkeit mit schellExecuteEx, die ich allerdings nicht verstehe.

Scr_hDC = GetDesktopWindow()
ret = shellExecute(Scr_hDC, "print",file,Null,path,0)

Kann mir jemand vielleicht erklären wie ich ein PDF automatisch drucke und dann den AcrobatReader wieder schließe?

Danke, Tom
Titel: Re: shellExecute - Programm schließen
Beitrag von: TomLudwig am 09.02.07 - 09:31:09
Ich habe lange weiter gesucht.

Es funktioniert einfach nicht.

Es geht nur mit shellExecuteEx. Da die Funktion ein Handle auf die Application zurückliefert.
Titel: Re: shellExecute - Programm schließen
Beitrag von: Brumley am 09.02.07 - 11:10:13
Das sollte sich besser über CreateObject lösen lassen, dann kommst du garnicht  erst in die Lage, dass du etwas schließen musst und der Benutzer sieht davon auch nichts. Versuch doch mal folgende Funktion - sie kommt zwar aus einem VB.Script, sollte aber auch unter Notes funktionieren:

Function PrintPDFFile (ByVal PDFFile)
    Set Acroapp = CreateObject("AcroExch.App")
    Set AcroAVDoc = CreateObject("AcroExch.AVDoc")
    msg = AcroAVDoc.open(PDFFile, vbNull)
   
   
    Set AcroAVDoc = Acroapp.GetActiveDoc
    Set AcroPDDoc = AcroAVDoc.GetPDDoc
    NumPages = AcroPDDoc.GetNumPages
    AcroPDDoc.Close
    Set AcroPDDoc = Nothing
    msg = AcroAVDoc.PrintPagesSilent(0, NumPages, 3, True, False)
    msg = AcroAVDoc.close(True)
    Set AcroAVDoc = Nothing
    Set Acroapp = Nothing
End Function

...ggf. anpassen oder unter diesem Ansatz weitersuchen.

Viele Grüße

 8)
Titel: Re: shellExecute - Programm schließen
Beitrag von: TomLudwig am 09.02.07 - 11:44:15
Danke der Code funktioniert einwandfrei!!!