OVH Cloud OVH Cloud

[HTA] passage de paramètres (équivalent de "wscript.Arguments sous Wsh)

22 réponses
Avatar
sympatix
bonjour !

J'aurais besoin de passer en paramètres le path d'un dossier
dans une application HTA (en vbs),
en faisant un copier-coller du dit dossier sur mon fichier
HTA (exactement comme on peut faire un passage de paramètres en VbScript
sous Wsh, à l'aide de l'objet "Wscript.arguments", mais qui malheureusement,
n'est pas disponible dans un contexte HTA.
Est-ce faisable sans mettre en oeuvre une trop grosse usine à gaz, et si
oui, comment ?

merci d'avance :-)
--
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)

2 réponses

1 2 3
Avatar
sympatix
Mais on peut la créer (HKEY_CLASSES_ROOThtafileShellExDropHandler) et
mettre la même valeur (chaîne reg_sz) par défaut que celle utilisée pour
les fichiers js,vbs, ... :
{60254CA5-953B-11CF-8C96-00AA00B8708C)


Génial !
Merci :-)

--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr

(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)

Avatar
didou77
Le samedi 23 Juillet 2005 à 12:51 par sympatix :
bonjour !
J'aurais besoin de passer en paramètres le path d'un dossier
dans une application HTA (en vbs),
en faisant un copier-coller du dit dossier sur mon fichier
HTA (exactement comme on peut faire un passage de paramètres en
VbScript
sous Wsh, à l'aide de l'objet "Wscript.arguments", mais qui
malheureusement,
n'est pas disponible dans un contexte HTA.
Est-ce faisable sans mettre en oeuvre une trop grosse usine à gaz, et
si
oui, comment ?
merci d'avance :-)
--
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me
répondre)
Bonjour,
Un petit utilitaire qui récupère l'argument passé au .hta
MyApp.hta "MyArg"
N'oubliez pas les guillemets
et le met dans un fichier: MyArgHTA.txt
Soit j'utilise un fichier d'échange, soit j'utilise ceci (Je maille moulte langages différents, DOS, VB, C, Java) pour mes applications.
Dim oFSO
Dim StrComputer
Dim sCommLine
Dim c, Disp
Dim oArg
Set oFSO = CreateObject("Scripting.FileSystemObject")
StrComputer = "."
Disp = ""
c = ""
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & StrComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'mshta.exe'")
For Each objProcess in colProcessList
sCommLine = UCase(objProcess.CommandLine)
c = c & sCommLine & vbcrlf
sCommLine = Replace(sCommLine, Chr(34), "")
sCommLine = Trim(sCommLine)
Select Case UCase(Right(sCommLine, 3))
Case "EXE", "HTA"
Case Else
Disp = Disp & sCommLine
End Select
Next
For i = Len(Disp) To 1 Step -1
If Mid(Disp, i, 1) = " " Then Exit For
Next
oArg = Mid(Disp, i +1)
Set oMf = oFSO.CreateTextFile("MyArgHTA.txt", True)
oMf.WriteLine(Disp)
oMf.WriteLine(oArg)
oMf.Close
Set oFSO = Nothing
WScript.Quit
1 2 3