Jak otworzyć dokument PDF?

0

Próbuje wywołać z Delph aplikację ProCertumSmartSign. Po wpisaniu polecenia owszem otwiera się SmartSign, ale nie otwiera wskazanego pliku. Trzeba go wskazać ręcznie. Jak mogę to inaczej zapisać, żeby otwierał się z automatu? Próbowałem wskazywać różne pliki , żadnego nie otwierał.

ShellExecute(Handle, 'open', PChar('C:\Program Files\Certum\SimplySign Desktop\proCertum SmartSign\proCertumSmartSign.exe'),PChar('C:\test\sierpien.pdf'),'', SW_SHOWNORMAL);
1

jeśli w ogóle jest taka możliwość (bo np po prawokliku można wybrać podpisz czy coś podobnego) to możesz w rejestrze zobaczyć jak jest aplikacja uruchamiana (z jakimi parametrami)

0

kurcze, nie wim jak to odczytać. Wchodze w rejestr, ale nic nie widze...

1
Kacer_22 napisał(a):

Próbowałem wskazywać różne pliki , żadnego nie otwierał.

Bo może ta aplikacja w ogóle nie przetwarza argumentów? Zrób test — upuść jakikolwiek plik .pdf na plik wykonywalny (normalnie, w eksploratorze plików) i jeśli program go otworzy, to wtedy będziemy szukać przyczyny.

1

aplikacja raczej nie przetwarza argumentów jak zauważył @furious programming jednak oferuje z menu kontekstowego Windows możliwość podpisania dokumentu (jeśli nie masz tej opcji to w folderze programu jest plik bat do zarejestrowania odpowiedniej biblioteki).
Skoro jest tak możliwość z menu kontekstowego to musisz poszukać w rejestrze ścieżki wywołania tej funkcji i takową użyć w swoim programie.

2
Kacer_22 napisał(a):

kurcze, nie wim jak to odczytać. Wchodze w rejestr, ale nic nie widze...

Tam jest z milion kluczy, więc niczego nie zobaczysz. Przeszukaj rejestr pod kątem ciągu Podpisz (czy jakkolwiek się ta pozycja menu nazywa) — szukaj w kluczach, wartościach i danych. W ten sposób w końcu znajdziesz gałąź, która posiada informacje dotyczące tej opcji z menu kontekstowego, w tym format parametrów uruchomieniowych.

W razie problemów zawsze możesz skorzystać z programów, które służą typowo do modyfikacji i rozszerzania zawartości systemowych menu kontekstowych. Takich narzędzi jest sporo, wiele z nich są za friko, znajdziesz je bez problemu.

3

Upewni sie czy przetwarza argumenty można na przykład w programie Process Explorer jak odszukasz uruchomiony z wywołaniem linii komend (a wiec za pomocą tego menu) process to klikasz na niego prawym Properties... i tam masz Command Line powinieneś tam zobaczyć z jakimi argumentami program był uruchomiony (jeżeli były). W rejestrze możesz nie znaleźć ciągu Podpisz bo takie menu może być zrobione np. jako Shell Extensions po prostu tworzy się i rejestruje bibliotekę DLL i ona robi robotę (w niej jest "zaszyte" jaka się ma nazywać opcja menu i jak apkę wywołać).

0

@furious programming: niby miliony ale idzie znaleźć
Zaczynamy od Computer\HKEY_CLASSES_ROOT\.pdf
tam jest OpenWithProgids
pomysł by @kAzek też bardzo dobry

1 użytkowników online, w tym zalogowanych: 0, gości: 1