2016-06-22 15 views
0

ich wie so eine .hta Datei auf meinem applciation Ressourcen hinzugefügt haben: die Zeile unter VerwendungWie Hta/HTML-Datei in Projektressourcen und Einsatz im Programm speichern

enter image description here

Und ich möchte dies anzuzeigen :

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

Dies funktioniert, wenn die Datei auf meinem System ist, aber wenn ich versuche, die Anzeige der .hta mit:

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

Ich sehe diesen Fehler:

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.

Ist es möglich, ein .hta in meinem Projekt Ressourcen zu speichern und dann aus dem Programm aufrufen?

Als Referenz hier ist der Code, der innerhalb des .hta existiert:

<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 benötigt eine Datei, es gibt keine Möglichkeit, eine eingebettete Ressource aus Ihrer ausführbaren Datei zu erstellen. Einbetten der .hta ist einfach nicht sehr nützlich. Fügen Sie sie stattdessen Ihrem Projekt hinzu, indem Sie Projekt> Vorhandenes Element hinzufügen auswählen und die Eigenschaft "Kopie zum Ausgabeverzeichnis" auf "Kopie, falls neuer" setzen. –

+0

@HansPassant Vielen Dank für Ihren Kommentar Hans - das ist, was ich gerade vorhabe, aber ich dachte, es wäre besser zu vermeiden, den Pfad oder den Namen der Datei fest codieren zu müssen. Wenn ich zum Beispiel das 'hta' als Datei hinzufüge, wäre die zu rufende Zeile' Process.Start ("explorer.exe", "NameOfFile.hta"); ', die hartcodierte Strings in mein Programm einführt. Aber wenn das der richtige Weg ist, dann sei es! – Bassie

Antwort

0

Wie in den Kommentaren erwähnt, wird dies als Projekt-Ressource hinzugefügt werden und dann in das Ausgabeverzeichnis kopiert.

Explorer hat keine Möglichkeit zum Extrahieren von Dateien, die in eine ausführbare Datei eingebettet wurden.

Verwandte Themen