möglich? überprüfen ob pdf bereits geöffnet war

  • Moin!
    Ist es möglich zu überprüfen ob der acrobat reader X in der aktuellen session bereits gestartet wurde?
    Weiß einer von spuren die er vllt temporär hinterlässt?

    grund:
    bei ersten start dauert der sicher 5 sec länger und mit winactivate checkt das prog es zu spät, hab jetzt ne schleife drin wo schaut ob das richtige kopiert wird, aber das schaut auch net soooo schön aus.

    Wenn nicht dann nicht :D:rolleyes:

    danke für eure hilfe!
    Hefe

  • Ja klar geht das mit: ProcessExists()

    Aber warum machste es nicht so:

    [autoit]

    WinActivate("Adobe Acrobat")
    if WinWaitActive("Adobe Acrobat") then
    MsgBox(0, "Status", "Adobe Acrobat lauft und ist grad aktiv")
    endif

    [/autoit]

    Gruss DevFly

  • wenn er das erste mal gestartet wird existiert bereits die form, aber der inhalt braucht einige sekunden zum laden, d.h. er aktiviert das noch arbeitende fenster (welches noch grau ist) und versucht daten auszulesen.

    ProcessExists wirft ja nur prozesse aus die zzt am laufen sind. Ich suche nach einer methde die prüft ob es innerhalb der aktuellen windows-session schon am laufen war, hab ich mich unklar ausgedrückt, sorry.

  • Geht recht simpel.

    Folgendes Script in den Autostart von Windows reinlegen:

    [autoit]

    IniWrite("pruef.ini","Adobe Acrobat", "gestartet", "0")
    WinWaitActive("Adobe Acrobat")
    IniWrite("pruef.ini","Adobe Acrobat", "gestartet", "1")

    [/autoit]

    Jetzt brauchst in deinem Script nur Prüfen ob der Wert "gestartet" auf 1 ist um zu wissen ob Acrobat in dieser Session schonmal gestartet wurde.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • an sich ne super lösung, leider ist das ein pc auf arbeit, da kann ich am autostart nix ändern sonst haut mir wer auf die Finger :(

  • Warum sollst da nix ändern können? Das betrifft doch nur deinen Account dann und sonst niemanden. Dazu brauchst nichtmal Adminrechte und in den Autostartordner etwas abzulegen ;).

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • das soll von DAU's genutzt werden, die schalten das einfach aus weil sie es nicht kennen...
    Dachte das vllt irgendne art temp datei erstellt wird wenn man den reader das erstet mal ausführt... wo man einfach auf existenz prüfen kann...

  • Mh ne keine Ahnung ob so etwas erstellt wurde. Andere Möglichkeit wäre natürlich, wenn beim starten deines Scripts den Acrobat versteckt einmal startest und beendest und erst dann das richtige PDF öffnen. Dann kannst zu 100% sicher sein, dass er schonmal gestartet wurde, dauert halt etwas länger das ganze dann.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Wenn es keine gibt, dann mach die Datei doch selber:

    [autoit]

    If FileExists(@TempDir & '\~AdobeAcrobat.tmp') Then
    FileDelete(@TempDir & '\~AdobeAcrobat.tmp')
    EndIf
    WinWaitActive('Adobe Acrobat')
    $File = FileOpen(@TempDir & '\~AdobeAcrobat.tmp', 2)
    FileWrite($File, Chr(0))
    FileClose($File)
    FileSetAttrib(@TempDir & '\~AdobeAcrobat.tmp', '-RASH+T')

    [/autoit]


    MfG, James