2016-06-22 1 views
0

J'ai ajouté un fichier .hta aux ressources de mon applciation comme ceci:Comment stocker Hta/Html fichier dans les ressources du projet et utilisation dans le programme

enter image description here

Je voudrais afficher cela en utilisant la ligne :

Process.Start("explorer.exe", @"Path\To\File.hta");

Cela fonctionne lorsque le fichier est sur mon système, mais lorsque je tente l'affichage .hta avec:

Process.Start("explorer.exe", Properties.Resources.htatest);

Je vois cette erreur:

There is no program associated to perform the requested action. Please install a program or, if one is already installed, create an association in the Default Programs control panel.

Est-il possible de stocker un .hta dans mes ressources du projet, puis l'appeler du programme?

Pour référence, voici le code qui existe à l'intérieur du .hta: cela aura

<html> 
    <head> 
     <title>IT Support - Message</title> 
    </head> 
    <script language = "VBScript"> 
     window.setInterval "setfocus()", 100 
     Function setfocus 
      window.focus() 
     End Function 
    </script> 

    <body> 
     <div style="margin-top:10%;"> 
      <h1 style="font-family:Segoe UI; color:#AF2B71; text-align: center; margin-top: 100pt">Message Heading</h1> 
      <p style="font-family:Segoe UI; text-align: center"><strong/>This is a message which will be displayed to the user. </p>  
     </div> 
    </body> 
</html> 
+0

Explorer.exe nécessite un fichier, il n'a aucun moyen de creuser une ressource intégrée hors de votre exécutable. L'incorporation du .hta n'est pas très utile. Au lieu de cela, ajoutez-le à votre projet avec Projet> Ajouter un élément existant et définissez sa propriété Copier dans le répertoire de sortie sur "Copier si plus récent". –

+0

@HansPassant Merci pour votre commentaire Hans - c'est ce que je suis en train de faire, mais je pensais qu'il serait préférable d'éviter d'avoir à coder en dur le chemin ou le nom du fichier. Par exemple si j'ajoute le 'hta' comme un fichier, alors la ligne à appeler serait' Process.Start ("explorer.exe", "NameOfFile.hta"); ', qui introduit des chaînes codées en dur dans mon programme. Mais si c'est la façon de le faire, alors qu'il en soit ainsi! – Bassie

Répondre

0

Comme mentionné dans les commentaires, à ajouter en tant que ressource de projet, puis copié dans le répertoire de sortie.

L'explorateur n'a aucun moyen d'extraire les fichiers qui ont été incorporés dans un exécutable.