Bonjour,
Je fait des testes pour un future développement qui ouvrira et fermera des fichiers PDF. Alors pour commencer, j'ai essayer avec quelque chose de simple, et je coince déjà.
Voici mon code avec une form1 et 4 boutons:
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Public Class Form1 Private PIDs As New Collection Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim ProcessPDF As New Process Dim DocumentPDF As String = Application.StartupPath & "\Test.pdf" Try ProcessPDF.StartInfo.UseShellExecute = True ProcessPDF.StartInfo.FileName = DocumentPDF ProcessPDF.StartInfo.CreateNoWindow = True ProcessPDF.Start() PIDs.Add(ProcessPDF.Id, DocumentPDF) Catch erreur As Exception Console.WriteLine((erreur.Message)) End Try End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim ProcessPDF As New Process Dim DocumentPDF As String = Application.StartupPath & "\Test2.pdf" Try ProcessPDF.StartInfo.UseShellExecute = True ProcessPDF.StartInfo.FileName = DocumentPDF ProcessPDF.StartInfo.CreateNoWindow = True ProcessPDF.Start() PIDs.Add(ProcessPDF.Id, DocumentPDF) Catch erreur As Exception Console.WriteLine((erreur.Message)) End Try End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim DocumentPDF As String = Application.StartupPath & "\Test.pdf" Dim i As Integer i = PIDs.Item(DocumentPDF) Process.GetProcessById(i).Kill() PIDs.Remove(DocumentPDF) End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim DocumentPDF As String = Application.StartupPath & "\Test2.pdf" Dim i As Integer i = PIDs.Item(DocumentPDF) Process.GetProcessById(i).Kill() PIDs.Remove(DocumentPDF) End Sub End Class
Bouton1 ouvre le test.pdf, bouton2 ouvre le test2.pdf, cela fonctionnent plutôt bien
Mais là où ça coince, c'est le bouton 3 ou 4 lorsque je cherche à fermer l'un des document ouvert.
Je récupère bien le PID de mes process, mais j'ai comme l'impression qu'adobe Acrobat DC récupère les documents ouvert pour les intégrés au premier PID du premier document ouvert, ou alors il les gèrent de manière complétement bizzard.
Soit il fermer tout les documents ouvert, soit il ne trouve plus le PID du second document ouvert. Ou encore si un document est déjà ouvert avant l'ouverture des PDF test, il ne trouve simplement pas les PID.
Quelqu'un a-t-il une idée de comment je peux gérer cela ?






Répondre avec citation



Partager