[HTA] passage de paramètres (équivalent de "wscript.Arguments sous Wsh)
22 réponses
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)
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)
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
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)
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)
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
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
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
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