Bonjour,
Je vous propose un nouvel élément à utiliser : MsgBoxPlus
Diviser le texte à afficher sur plusieurs boites de message
Qu'en pensez-vous ?
Bonjour,
Je vous propose un nouvel élément à utiliser : MsgBoxPlus
Diviser le texte à afficher sur plusieurs boites de message
Qu'en pensez-vous ?
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Salut
34 boites de dialogue à la suite c'est un vrai roman ton fichier WUpdate.log, heureusement que tu fournis StopWScript.vbs
Soyez sympa, pensez -y
Balises[CODE]...[/CODE]
Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Balises[C]...[/C] code intégré dans une phrase.
Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
👉 → → Ma page perso sur DVP ← ← 👈
pour le partage l_autodidacte
Voici un code pour arrêter sélectivement un vbscript qui tourne
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 Option Explicit Dim Titre,Copyright,fso,ws,NomFichierLog,temp,PathNomFichierLog,OutPut,Count,strComputer If AppPrevInstance() Then MsgBox "Il y a une instance déjà en cours" & VbCrLF & CommandLineLike(WScript.ScriptName),VbExclamation,"Il y a une instance déjà en cours" WScript.Quit Else Copyright = "[© Hackoo © 2015 ]" Set fso = CreateObject("Scripting.FileSystemObject") Set ws = CreateObject( "Wscript.Shell" ) NomFichierLog="Killed Process.txt" temp = ws.ExpandEnvironmentStrings("%temp%") PathNomFichierLog = temp & "\" & NomFichierLog Set OutPut = fso.CreateTextFile(temp & "\" & NomFichierLog,1) strComputer = "." Call Find("wscript.exe") Call Explorer(PathNomFichierLog) End If '*************************************************************************************************** Function Explorer(File) Dim ws Set ws = CreateObject("wscript.shell") ws.run "Explorer "& File & "\",1,True end Function '*************************************************************************************************** Sub Find(MyProcess) Dim colItems,objItem,Processus,Question Titre = " Processus "& DblQuote(MyProcess) &" en cours d'exécution " Set colItems = GetObject("winmgmts:").ExecQuery("Select * from Win32_Process " _ & "Where Name like '%"& MyProcess &"%' AND NOT commandline like " & CommandLineLike(WScript.ScriptFullName) & "",,48) Count = 0 For Each objItem in colItems Count= Count + 1 'Processus = Mid(objItem.CommandLine,InStr(objItem.CommandLine,""" """) + 2) 'Extraction du chemin du script en ligne de commande Processus = objItem.CommandLine 'Replace(Processus,chr(34),"") Question = MsgBox ("Voulez-vous arrêter ce script : " & DblQuote(Processus) & " ?" ,VBYesNO+VbQuestion,Titre+Copyright) If Question = VbYes then objItem.Terminate(0)'Tuer ce processus OutPut.WriteLine Processus else Count= Count - 1 'décrementer le compteur de -1 End if Next OutPut.WriteLine String(100,"*") OutPut.WriteLine count & Titre & "ont été arrêtés" OutPut.WriteLine String(100,"*") & VbCrLF End Sub '************************************************************************** Function DblQuote(Str) DblQuote = Chr(34) & Str & Chr(34) End Function '************************************************************************** Function AppPrevInstance() With GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") With .ExecQuery("SELECT * FROM Win32_Process WHERE CommandLine LIKE " & CommandLineLike(WScript.ScriptFullName) & _ " AND CommandLine LIKE '%WScript%' OR CommandLine LIKE '%cscript%'") AppPrevInstance = (.Count > 1) End With End With End Function '************************************************************************** Sub Pause(Minutes) Wscript.Sleep(Minutes*1000*60) End Sub '************************************************************************** Function StripProcPath(ProcessPath) Dim arrStr : arrStr = Split(ProcessPath, "\") StripProcPath = arrStr(UBound(arrStr)) End Function '************************************************************************** Function CommandLineLike(ProcessPath) ProcessPath = Replace(ProcessPath, "\", "\\") CommandLineLike = "'%" & ProcessPath & "%'" End Function '**************************************************************************
Salut
Je ne parvient pas à comprendre Set F = fso.OpenTextFile(".\WUpdate.log", 1, False), Le point pour indiquer le chemin/dossier ne fonctionne pas ni sur mon ordinateur chez moi, ni au travail.
Hier je pensais que c'était spécifique à ma configuration window, mais bien que différent au boulot, même réaction.
Donc j'ai remplacé par Set F = fso.OpenTextFile(fso.GetParentFolderName(wscript.ScriptFullName) & "\WUpdate.log", 1, False).
Si quelqu’un peut éclairer ma lanterne
Je pense intégrer la fonction à un programme de visualisation de commandes (jamais plus d'une dizaine), pour cela j'ai ajouté une variable Dim ReponsE ' Pour analyse de la réponse à la boite de dialogue, modifié l'appel à la boite de dialogue et enfin, en retour de boite de dialogue, une condition If .... Then qui permet de sortir de l'affichage à tout moment.
Avec cette petite modification dans la fonction, je l'appel maintenant de cette façon MsgBoxPlus text, vbOKCancel, "Test de boite de message",1300
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ReponsE = MsgBox(RetMsg(Compt),btnType , sTitle _ & " (" & CStr(Compt+1) & "/" & CStr(nbMessages-tmp+1) & " taille = " &Len(RetMsg(Compt)) & ")") If btnType = vbOKCancel And ReponsE = vbCancel Then Exit Function
Soyez sympa, pensez -y
Balises[CODE]...[/CODE]
Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Balises[C]...[/C] code intégré dans une phrase.
Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
👉 → → Ma page perso sur DVP ← ← 👈
bonjour,
juste pour signaler que la fonction Popup de l'objet WScript ne connait pas cette limitation de 1024 caractères
évidemment, il faut être dans un contexte wsh
@ProgElect
peut-être un problème de droits sur le répertoire cible ?Si quelqu’un peut éclairer ma lanterne
nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
pas de questions techniques par mp
Normalement, si les deux fichiers(script et fichier de test) sont dans le même répertoire, on n'a pas besoin du (.) indiquant le dossier courant.
Il faut donc voir du côté des droits sur le dossier comme indiqué par omen999(salut).
Quelqu'un de bénévole pourrait-il faire le test sur sa machine et donner le résultat ? avec mes remerciements.
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Justement, l'intérêt du code vient du fait que Popup ou Echo affiche tout mais en sortant de l'écran(haut et bas) et on ne voit ni la barre de titres ni le bouton OK et pas mal d'autres lignes si le texte est très long.juste pour signaler que la fonction Popup de l'objet WScript ne connait pas cette limitation de 1024 caractères
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Une mise à jour du fichier source est disponible à la même adresse : MsgBoxPlus.
Les commentaires expliquent ce qui a été modifié.
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Maintenant, plus besoin de cette modification avec la mise à jour que j'ai ajoutée : btnType = vbOkCancel par défaut avec la gestion de la réponse si vbCancel tout en supprimant le fichier StopWscript.vbs qui n'a plus de rôle.ReponsE = MsgBox(RetMsg(Compt),btnType , sTitle _
& " (" & CStr(Compt+1) & "/" & CStr(nbMessages-tmp+1) & " taille = " &Len(RetMsg(Compt)) & ")")
If btnType = vbOKCancel And ReponsE = vbCancel Then Exit Function
Ne pas oublier le tag si satisfait.
Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager