PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV 2024
→
Re: lanceAppliAssociée BLOQUANT
Re: lanceAppliAssociée BLOQUANT
Started by petiot, Mar., 22 2006 5:53 PM - 1 reply
Connect yourself…
petiot
#1
Posted on March, 22 2006 - 5:53 PM
Bonjour, je suis dans le même cas, je décrypte un fichier PDF puis le lance avec LanceAppliAssociée pour le lire puis je dois détruire ce fichier décrypté avec le code fsupprime, mais comme LanceAppliAssociée n'est pas bloquant il m'efface le fichier temporaire avant même son lancement...
LanceAppli c'est bien, mais comme je suis dans une boite où il existe de multiples versions d'Acrobat avec des noms différents d'executable, actuellement je n'ai aucune solution...
Exite-t-il un façon de connaitre sous windev avec quoi est associé un fichier ?
salutations...
Report
0
0
philippe.pasquali
#2
Posted on March, 23 2006 - 9:02 AM
Effectivement c'est le serpent qui se mange la queue
DDELance à besoin de connaître le programme pour ouvrir le fichier mais il peut bloquer
LanceAppli ne bloque pas mais utilise la base de registre pour trouver dans la clef
HKEY_CLASSES_ROOT le programme
Exemple
HKEY_CLASSES_ROOT\.pdf
--------HKEY_CLASSES_ROOT\.pdf\OpenWithList
----------------HKEY_CLASSES_ROOT\.pdf\OpenWithList\AcroRd32.exe
et AcroRd32.exe est la nom du programme....
mais bon c'est pas trés clair le bazard (voir le .doc)
Alors une autre voie de que j'utilise pour les fichier .msi
je lance LanceAppliAssocie mais juste avant je recupére le nom et le chemin des processus en cours et j'attend (donc je bloque mais avec timeout) tant que mon nouveau processus n'est pas terminé. Pour cela, j'utilise cette petite fonction (elle ne liste que les process de la machine mais en modifiant un chti peut on peut voir les process d'une autre machine)
PROCEDURE EnumProcess()
objWMIService est un objet Automation "MSScriptControl.ScriptControl"
ProgrammeVbs est une chaîne
ResultatVbs est une chaîne
ProgrammeVbs = "Function EnumProcess()" +CRLF
ProgrammeVbs += "On Error Resume Next" +CRLF
ProgrammeVbs += "strComputer = "+Caract(34) + "." + Caract(34) + CRLF
ProgrammeVbs += "strResult = "+Caract(34)+Caract(34) + CRLF
ProgrammeVbs += "Set objWMIService = GetObject("+Caract(34)+"winmgmts:\\"+Caract(34)+" & strComputer & "+Caract(34)+"\root\cimv2"+Caract(34)+")" + CRLF
ProgrammeVbs += "Set colItems = objWMIService.ExecQuery("+Caract(34)+"Select * from Win32_Process"+Caract(34)+",,48)" + CRLF
ProgrammeVbs += "For Each objItem in colItems" + CRLF
ProgrammeVbs += "strResult = strResult & objItem.Caption & chr(9)" + CRLF
ProgrammeVbs += "strResult = strResult & objItem.ExecutablePath & chr(13) &chr(10)" + CRLF
ProgrammeVbs += "Next" + CRLF
ProgrammeVbs += "EnumProcess = strResult" + CRLF
ProgrammeVbs += "End Function"
objWMIService>>Language("VBScript")
objWMIService>>Reset()
WHEN EXCEPTION IN
objWMIService>>AddCode(ProgrammeVbs)
DO
Erreur("Erreur dans le programme vbs...")
RENVOYER ""
END
ResultatVbs = ""
WHEN EXCEPTION IN
ResultatVbs = objWMIService>>Eval("EnumProcess()")
DO
Erreur("Erreur d'execution du programme vbs")
RENVOYER ""
END
IF ResultatVbs<>"" THEN ResultatVbs = ResultatVbs[[1 sur Taille(ResultatVbs)-2]]
RENVOYER ResultatVbs
Report
0
0
→ Go back to WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WINDEV (earlier versions)
WEBDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Reports & Queries
Off-topic
Off-topic
Tools
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text