Senkey

Signaler
Messages postés
6
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
13 juin 2008
-
Messages postés
42
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
15 mai 2011
-
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
A voir également:
  • Standardin has not been redirected
  • Invalidoperationexception: standardin has not been redirected. - Meilleures réponses
  • Senkeys - Forum - Visual Basic

4 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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
Messages postés
6
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
13 juin 2008

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.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
un conseil ? lire la documentation...

leprocess.StartInfo.RedirectStandardInput = True

cette propriété permet de piloter l'entrée standard des programmes de type Console...
Messages postés
42
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
15 mai 2011

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.