Bonjour
Je vaudrai avoir un avis extérieur car je patine depuis quelques heures avec ce problème.
Le code suivant fonctionne sur un ordinateur, mais pas sur mon portable.
Sur mon portable, lors de la suite de jeux de touche clavier pour déclencher les process, tous ce passe normalement .
Par contre quand j'inclus le jeux de SendKeys dans mon programme VB6, sur le portable, le seul jeu de touche fonctionnant est SendKeys "%{F4}", True: DoEvents ' Alt+F4 ferme notpad
Je mais la procédure Public Sub Retard, pour indiquer ce quelle fait
la procedure pour laisser la main aux autres programmes
Code : 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 Public Sub RecupPage() Me.Visible = False R = 0 ' cette premiere boucle fonctionne sur tous les ordinateurs Do While R <= 50 DoEvents On Error Resume Next AppActivate "VB 6 et antérieur" If Err.Number <> 0 Then On Error GoTo 0 Else SendKeys "%(A)", True: DoEvents 'Alt+A ouverture du menu Affichage SendKeys "S", True: DoEvents ' demande d'affichage Source Exit Do End If DoEvents: R = R + 1 Loop DoEvents Retard 1 R = 0 Clipboard.Clear Do While R < 150 On Error Resume Next AppActivate "forumdisplay[" If Err.Number <> 0 Then On Error GoTo 0 Else '******* ICI le jeu de SendKeys ne fonctionne pas sur le portable SendKeys "^(A)" ' Ctrl+A Selectionner tout 'SendKeys "^{A}", True: DoEvents ' Ctrl+A Selectionner tout 'Retard 0.25 '******* ICI le jeu de SendKeys ne fonctionne pas sur le portable SendKeys "^(C)" 'Ctrl+C Copier 'SendKeys "^(C)", True: DoEvents 'Ctrl+C Copier 'Retard 0.25 '******* LA le jeu de SendKeys fonctionne sur le portable et les autres ordinateurs SendKeys "%{F4}", True: DoEvents ' Alt+F4 ferme notpad Exit Do End If DoEvents: R = R + 1 'Retard 0.25 Loop DoEvents 'fin new LeTexte = Clipboard.GetText 'Text1 = LeTexte 's'ajit-il du bon texte TextRech = "<title>VB 6 et antérieur - Forum des développeurs</title>" PosDeb = InStr(1, LeTexte, TextRech) Me.Visible = True If PosDeb = 0 Then MsgBox "Texte source non conforme", vbInformation Exit Sub End If 'recherche de la partie haute a eliminer TextRech = "<!-- Fin de la modification d'Anomaly -->" LenTrouver = Len(TextRech) PosDeb = InStr(1, LeTexte, TextRech) PosFin = PosDeb + LenTrouver LenTrouver = Len(LeTexte) - PosFin LeTexte = Right$(LeTexte, LenTrouver) 'supprime la premiére partie inutile 'recherche de la partie basse a eliminer '<!-- end show threads --> TextRech = "<!-- end show threads -->" PosDeb = InStr(1, LeTexte, TextRech) LeTexte = Left$(LeTexte, PosDeb) 'supprime la derniére partie inutile PosDeb = 1 End Sub
Merci d'avoir jeté un coup d'oeil .... et de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Sub Retard(Dure As Single) 'Dure precision au centieme de seconde 'exemple: Dure=3.45 laisse la main aux autres processus durant 3sec et 45 centiéme Dure = Round((Timer + Dure), 2) Do While Timer < Dure DoEvents Loop End Sub
Partager