Just nu i M3-nätverket
Gå till innehåll

Starta applikation lokalt med hta


JakobS

Rekommendera Poster

Jag vill att man ska kunna starta en applikation lokalt med hjälp av en länk på en web-sida(hta).

 

Jag får detta att fungera med program som inte kräver att man anger sökvägen när man startar det, t ex notepad, excel.

 

<title>Starta Notepad</title>
<html>
<head>
<script language="VBScript"> 
   Set objShell = CreateObject("Wscript.Shell")
objShell.Run "notepad.exe"
self.close
   Set objShell = Nothing
</script>
</head>
</html>

men om jag istället anger:

 

objShell.Run "C:\Program Files\Notepad++\notepad++.exe"

så får jag skriptfel, "Det går inte att hitta filen"!? Är detta för att "C:\" blir på webservern? Hur anger man sökvägen till den lokala datorn isf?

 

/JakobS

Länk till kommentar
Dela på andra webbplatser

?? Jag lyckas då starta både Notepad och Excel med min HTA-sida (HTML Application) men jag får en tydlig varning om jag verkligen vill först!

Länk till kommentar
Dela på andra webbplatser

?? Jag lyckas då starta både Notepad och Excel med min HTA-sida (HTML Application) men jag får en tydlig varning om jag verkligen vill först!

 

Testa att lägga till attributet runat="client" i SCRIPT-tagen. Kan funka, har inte testat.

 

Eller, så gillas inte plustecknen sökvägen. Testa i så fall att byta ut dem mot %43, även detta är bara en gissning.... :)

Länk till kommentar
Dela på andra webbplatser

Jakob, anledning till att du lyckas köra dessa är för att du exekverar sidan på din egen burk. Detta skulle aldrig fungera om du lade ut sidan externt och lät någon surfa in på sidan.

Att du inte får sökvägarna att fungera beror på dina backslash (\). Nu var det ett tag sedan jag höll på med WSH och vbscript, men pröva med dubbla backslash i sökvägarna

objShell.Run "C:\\Program Files\\Notepad++\\notepad++.exe"

 

Förstår dock inte poängen med detta eftersom det bara går att köra i din lokala miljö. Lättare att bara slänga ut en shortcut på ditt skrivbord =)

Länk till kommentar
Dela på andra webbplatser

Jag kan verkligen hålla med om att funktionen känns lite onödig men "användarna" hade tidigare en webapplikation som var åtkomlig från intranätet och nu har vi av prestandaskäl gått över till klientinstallationer. Då kommer det, "som ett brev på posten" (...fast det det händer iofs inte så ofta nu för tiden!? ;) ), att man vill ha det "som tidigare"!

 

Nu är det inte alls säkert att de får som de vill om jag inte lyckas lägga till en hantering av olika sökvägar, t ex Program/Program Files. Det bästa vore om man kunde söka efter programmet och läsa ut sökvägen, men som ni märker är jag inte helt hemma på detta! :blink:

 

Jag hittade iaf en annan kod som jag får att fungera :D (funktionerna verkar likartade, vad är skillnaden?).

 

Const NORMAL_WINDOW = 1
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "C:\Program Files\Notepad++\notepad++.exe", , , , NORMAL_WINDOW

 

Jag har lagt min HTA på en webserver och kan köra från min klient, så det fungerar iaf inom nätverket!?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...