Senkey

filoxera Messages postés 6 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 13 juin 2008 - 14 oct. 2007 à 11:27
dedederidiny Messages postés 42 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 15 mai 2011 - 15 mai 2011 à 17:33
Bonjour,
J'ouvre un pdf facilement avec son mot de passe en utilisant sell avec sendkeywait et send.
Je voudrais pouvoir faire la même chose avec un process.
Dim monProcess
As
New Process
monProcess.StartInfo.FileName = "C:\pdfsecur.pdf"
monProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
monProcess.StartInfo.Verb = "open"
monProcess.Start()
Je voudrais utiliser process car il ouvre mon pdf avec l'apli associé (alors que avecschell, il faut donnr le chemin complet de acrobat et du fichier)
Est-ce possible avec startinfo ou aure chose d'nvoyer le mot de passe à mon pdf?
Bien sur j'ai cherché depuis deux jours sur le forum ... mais j'ai pas trouvé la réponse

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 oct. 2007 à 06:04
Pas propre du tout, cette approche....
faut être sur que tu tapes pas dans le vent et que ta fenetre est bien ouverte, le temps de charger le lecteur puis le fichier...

a supposer que la seule voie pour atteindre le champs password soit par des SendKeys,
tu dois pouvoir faire une boucle d'attente, non pas avec un nombre de secondes donnés, mais un do while qui recherche (par son titre et sa classe) la fenetre password, des qu'elle s'ouvre.

il ne te restera plus qu'a lui envoyer ton mot de passe      

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
filoxera Messages postés 6 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 13 juin 2008
15 oct. 2007 à 11:00
Merci Renfield pour m'avoir accordé qq minutes.
J'ai essayé ce code sur bouton click d'un formulaire... en utilisant la classe processStartInfo,
j'envoi le mot de passe après avoir lancer le process. Est-ce que là je pourrais utiliser
system.windows.forms.sendkey?


Dim leprocess
As
New Process

Dim monProcess
As
New ProcessStartInfo
monProcess.FileName = "C:\pdfsecur.pdf"
monProcess.Arguments = "orchid"
monProcess.WindowStyle = ProcessWindowStyle.Normal
monProcess.Verb = "open"

leprocess.StartInfo.UseShellExecute =
False
leprocess.StartInfo.RedirectStandardInput =
True
leprocess.Start(monProcess)
leprocess.StandardInput.Write("orchid") ' cest le mot de passe

leprocess.WaitForExit()

leprocess.Close()


J'ai eu le message suivant:
"An unhandled exception of type 'System.InvalidOperationException' occurred in system.dll
Additional information: StandardIn has not been redirected."

Merci pour un conseil.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 oct. 2007 à 13:06
un conseil ? lire la documentation...

leprocess.StartInfo.RedirectStandardInput = True

cette propriété permet de piloter l'entrée standard des programmes de type Console...
0
dedederidiny Messages postés 42 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 15 mai 2011
15 mai 2011 à 17:33
bonjour,
j'essaie sans réussite d'ouvrir un pdf protege dont je connais le mot de passe a partir d'excel, merci si vous pouvez m'aider.
0
Rejoignez-nous