PDA

View Full Version : Creazione icona sul desktop


Black
30-10-2002, 08:15
Ciao a tutti spero mi possiate aiutare con questo dilemma.
Devo, al click su un link creare sul desktop una icona.

Ho creato un file chiamato CreaIcona.js che contiene queste istruzioni:

var WshShell = WScript.CreateObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
var oShellLink = WshShell.CreateShortcut(strDesktop + "\\Shortcut Script.lnk");
oShellLink.TargetPath = WScript.ScriptFullName;
oShellLink.WindowStyle = 1;
oShellLink.Hotkey = "CTRL+SHIFT+F";
oShellLink.IconLocation = "notepad.exe, 0";
oShellLink.Description = "Shortcut Script";
oShellLink.WorkingDirectory = strDesktop;
oShellLink.Save();


Questo file se lanciato da Gestione Risorse crea l'icona correttamente ma non riesco ad associarlo all'onclick di un href.

io in pratica faccio così

<HTML>
<HEAD>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function AddIcona(){

var WshShell = WScript.CreateObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
var oShellLink = WshShell.CreateShortcut(strDesktop "\\Shortcut Script.lnk");
oShellLink.TargetPath = WScript.ScriptFullName;
oShellLink.WindowStyle = 1;
oShellLink.Hotkey = "CTRL+SHIFT+F";
oShellLink.IconLocation = "notepad.exe, 0";
oShellLink.Description = "Shortcut Script";
oShellLink.WorkingDirectory = strDesktop;
oShellLink.Save();

}

//-->
</SCRIPT>
</HEAD>
<BODY>
<A href=javascript:AddIcona()>Crea Icona sul desktop</A></FONT>
</BODY>
</HTML>


ma al click del link mi dice che WScript non è definito :rolleyes:

Potete aiutarmi per favore :(

cionci
30-10-2002, 08:51
Certo... L'abiente in cui girano i file JS di una pagina HTML è diverso da quello in cui girano i JS lanciati da riga di comando...

La maggior parte degli oggetti globali del Windows Scripting Host non sono definiti...altrimenti potrei prendere file arbitrari dal computer di qualsiasi utente che visita la mia pagina web... Non credi ?

Black
30-10-2002, 08:52
certo sono d'accordo con te....ma come posso fare?
c'è un modo da una pagina HTML lanciare un js esterno?

cionci
30-10-2002, 08:58
Ovviamente no se non tramite un ActiveX...

Black
05-11-2002, 15:21
Ci sono riuscito :D
Lo dico caso mai possa servire a qualcun altro ;)


File PROVA.ASP

<HTML><HEAD>
<SCRIPT ID=clientEventHandlersJS LANGUAGE=vbscript>
<!--

function Avvia()
Set WshShell = CreateObject("WScript.Shell")

// Path del server dove risiede lo script js

WshShell.Run ("\\nome_pc\cartella_pc\CreaIcona.js")
Set WshShell = Nothing
end function

//-->
</SCRIPT>
</HEAD>
<BODY>
<A href=javascript:Avvia()>Link</A>
</BODY></HTML>

File CreaIcona.js

var WshShell = WScript.CreateObject("WScript.Shell");
strDesktop = WshShell.SpecialFolders("Desktop");
var oShellLink = WshShell.CreateShortcut(strDesktop + "\\Shortcut Script.lnk");
oShellLink.TargetPath = WScript.ScriptFullName;
oShellLink.WindowStyle = 1;
oShellLink.Hotkey = "CTRL+SHIFT+F";
oShellLink.IconLocation = "notepad.exe, 0";
oShellLink.Description = "Shortcut Script";
oShellLink.WorkingDirectory = strDesktop;
oShellLink.Save();

;)

atragon
05-11-2002, 16:15
Sicuro che funzioni anche su di un pc remoto?

cionci
05-11-2002, 18:27
Spero di no...altrimenti avresti trovato un grosso bug di IE...

Black
06-11-2002, 07:42
chiamando il percorso http://nome_server/prova.asp
e cliccando sul link l'icona viene creata correttamente sul desktop del client

Dite che è un potenziale baco?

cionci
06-11-2002, 10:05
:eek: :eek: :eek: :eek: Certo che è un potenziale baco !!!
Hai Internet Explorer aggiornato con le ultime patch ? Bisogna verificare che non sia già stato corretto...

Black
06-11-2002, 10:08
questo a dire il vero non ho controllato :rolleyes:
Cmq la prova l'ho fatta su un Win2k server SP3.

Il bello è che su un Win2k Pro SP3 non funge :rolleyes:

cionci
06-11-2002, 10:12
Originariamente inviato da Black
[B]questo a dire il vero non ho controllato :rolleyes:
Cmq la prova l'ho fatta su un Win2k server SP3.

Il bello è che su un Win2k Pro SP3 non funge :rolleyes:
Magari è un problema di permessi su \\nome_pc\cartella_pc\

Black
06-11-2002, 10:19
penso di no poichè è l'ambiente in cui sviluppo :rolleyes:

cionci
06-11-2002, 10:26
Ora provo sul mio PC...

cionci
06-11-2002, 10:35
A me da un bel errore come è giusto che faccia al momento della creazione dell'oggetto della shell...

Black
07-11-2002, 11:06
bisogna agire sulle impostazioni di Internet Explorer (Protezione) nell'area Intranet locale mettendo "Consenti" o "chiedi Conferma" su ActiveX senza firma elettronica e "non contrassegnati come sicuri". ;)

Questa infatti era la gabola di come mai andava su Win2k server e non Win2k Pro ;)