none
HTA // Command Line Argumente an IE10 und edge hta übergeben

    Frage

  • Hallo,
    ich habe ein HTA Programm geschrieben an das über die Command Line argumente übergeben werden:

    Bsp.: "c:/der/Pfad zur App/index.hta" "Arg 1" "Arg 2"

    <!DOCTYPE html>
    <html>
        <head>
        <title>   
        </title>
    <HTA:APPLICATION
        ID="flyOut"
        APPLICATIONNAME="fly out"
        SINGLEINSTANCE="yes"
        BORDER="none"
        INNERBORDER="no"
        SCROLL =  "NO"
        WINDOWSTATE="maximize"
        SHOWINTASKBAR="no"
        />
        </head>
    <script>
    
    var ARGUMENTS = function(){
        var args = flyOut.commandLine.slice(0,-1).split('" "');
        args.shift();
        return args;
    }();
    
    </script>
        <body>
    
        </body>
    </html>

    Nachdem ich in weiterer Folge gerne Bootstrap, Jquery und CSS3 Animationen in der HTA verwenden möchte wid der <HTA: ... teil durch

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    ersetzt:

    <!DOCTYPE html>
    <html>
        <head>
        <title>   
        </title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
        </head>
    <script>
    
    var ARGUMENTS = function(){
        // wie komme ich hier zu den command line argumenten ?!!!
    }();
    
    </script>
        <body>
    
        </body>
    </html>

    • Wie bekomme ich in IE10+ htas die commandLine argumente?
    • Gibt es eine offizielle HTA Documentation?

    Vielen Dank!


    • Bearbeitet CLEHO Dienstag, 12. September 2017 10:00
    Dienstag, 12. September 2017 09:59

Antworten

Alle Antworten

  • Hi,

    Dokus zu HTA findest Du bspw. hier:

      https://msdn.microsoft.com/de-de/library/ms536471(VS.85).aspx

      https://www.a-coding-project.de/ratgeber/hta

      https://technet.microsoft.com/en-us/scriptcenter/dd742317.aspx

    Warum Du aber für deine HTA Anwendung den HTA Tag entfernt hast, will sich mir nicht erschließen. Bau den Tag doch einfach wieder ein. Evtl. klappt es ja dann.

    ---

    Nachtrag: HTA wird in IE 10+ und Edge gar nicht funktionieren. Bei IE 10+ nur, wenn Du im IE 9 Kompatibilitätsmodus arbeitest. Siehe dazu bspw.:

      https://stackoverflow.com/questions/30975195/will-microsoft-edge-and-windows-10-support-hta

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    • Bearbeitet Stefan Falz Dienstag, 12. September 2017 10:22
    Dienstag, 12. September 2017 10:10
  • Danke für die schnelle Antwort!

    auch wenn ich den <HTA:.../> tag drinnen lasse wird er einfach nicht mehr unterstützt.

    der code unten funktioniert mit IE=8, erzeugt mit IE=edge aber einen Fehler, da die APP ID aus dem Tag nicht berücksichtigt wird und somit kein Objekt flyOut existiert:

    <!DOCTYPE html>
    <html>
        <head>
        <title>   
        </title>
    
    <HTA:APPLICATION
        ID="flyOut"
        APPLICATIONNAME="fly out"
        SINGLEINSTANCE="yes"
        INNERBORDER="no"
        SCROLL =  "NO"
        />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
        </head>
    <script>
    
    alert(flyOut.commandLine.slice(0,-1).split('" "'));
    
    </script>
        <body>
    
        </body>
    </html>
    LG C

    Dienstag, 12. September 2017 10:22
  • Hi,

    wie eben in meinem vorherigen Posting ergänzt:

    HTA wird in IE 10+ und Edge gar nicht funktionieren. Bei IE 10+ nur, wenn Du im IE 9 Kompatibilitätsmodus arbeitest. Siehe dazu bspw.:

      https://stackoverflow.com/questions/30975195/will-microsoft-edge-and-windows-10-support-hta

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 12. September 2017 10:24
  • Wie bekomme ich in IE10+ htas die commandLine argumente?

    Gar nicht. IE ist nunmal kein Command Interpreter und Edge kann m.E. hta schon gar nicht mehr. Wie Stefan schon schreibt: mal Dokumentation lesen! Du möchtest das z.B. komplett in node/JS machen. Oder in einer App.


    IEFAQ: http://iefaq.info

    Dienstag, 12. September 2017 10:42
    Beantworter

  • .... HTA wird in IE 10+ und Edge gar nicht funktionieren. Bei IE 10+ nur, wenn Du im IE 9 ...

    Ist in der Praxis nicht korrekt. Ich habe eine HTA mit Bootstrap, JQuery und CSS3 Elementen. Um diese Features alle zu unterstützen steht das ganze auf IE=edge.
    Diese Datei startet einwandfrei- Animationen Laufen, die Page ist responsive und über 

      
    var shell = new ActiveXObject("WScript.Shell");
    var run = function(command){
        shell.run(command);
    }
    window.onload=function(){
        run("cmd");
    }

    lässt sich z.B. ein Konsolenfenster öffnen- es ist also die Verbindung zum OS durchaus gegeben.

    hier der code:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Portfolio</title>
    
    <!-- Bootstrap -->
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    
    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    
    
    <style>
        .spinner {
      width: 40px;
      height: 40px;
      background-color: #333;
    
      margin: 100px auto;
      -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
      animation: sk-rotateplane 1.2s infinite ease-in-out;
    }
    
    @-webkit-keyframes sk-rotateplane {
      0% { -webkit-transform: perspective(120px) }
      50% { -webkit-transform: perspective(120px) rotateY(180deg) }
      100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
    }
    
    @keyframes sk-rotateplane {
      0% { 
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) 
      } 50% { 
        transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) 
      } 100% { 
        transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
      }
    }
        </style>
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    <script>
      
    var shell = new ActiveXObject("WScript.Shell");
    var run = function(command){
        shell.run(command);
    }
    window.onload=function(){
        run("cmd");
    }
    </script>
    </head>
    <body>
    <div class="spinner"></div>
      <div class="container">
        <hr>
        <div class="row">
          <div class="col-xs-6">
            <h1>John Doe</h1>
          </div>
          <div class="col-xs-6">
            <p class="text-right"><a href="">Download my Resume <span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span></a></p>
          </div>
        </div>
        <hr>
        <div class="row">
          <div class="col-xs-7">
            <div class="media">
              <div class="media-left"> <a href="#"> <img class="media-object img-rounded" src="images/115X115.gif" alt="..."> </a> </div>
              <div class="media-body">
                <h2 class="media-heading">Web Developer</h2>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam, neque, in, accusamus optio architecto debitis dolor animi placeat ut ab corporis laboriosam itaque. Nobis, sapiente quo dolorum ut quod possimus doloremque suscipit ad doloribus quam dolor </div>
            </div>
          </div>
          <div class="col-xs-5 well">
            <div class="row">
              <div class="col-lg-6">
                <h4><span class="glyphicon glyphicon-phone" aria-hidden="true"></span> : 123-456-7890</h4>
              </div>
              <div class="col-lg-6">
                <h4><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> : john@example.com</h4>
              </div>
            </div>
            <div class="row">
              <div class="col-lg-6">
                <h4><span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span> : San Francisco, CA</h4>
              </div>
              <div class="col-lg-6">
                <h4><span class="glyphicon glyphicon-phone" aria-hidden="true"></span> : 123-456-7890</h4>
              </div>
            </div>
          </div>
        </div>
        <hr>
        <div class="row">
          <div class="col-sm-8 col-lg-7">
            <h2>Education</h2>
            <hr>
            <div class="row">
            	<div class="col-xs-6"><h4>College of Web Design</h4></div>
            	<div class="col-xs-6">
            	  <h4 class="text-right"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span> Jan 2002 - Dec 2006</h4>
            	</div>
            </div>
            <h4><span class="label label-default">Bachelors</span></h4>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint, recusandae, corporis, tempore nam fugit deleniti sequi excepturi quod repellat laboriosam soluta laudantium amet dicta non ratione distinctio nihil dignissimos esse!</p>
            <div class="row">
              <div class="col-xs-6">
                <h4>University of Web Design</h4>
              </div>
              <div class="col-xs-6">
                <h4 class="text-right"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span> Jan 2006 - Dec 2008</h4>
              </div>
            </div>
            <h4><span class="label label-default">Masters</span></h4>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint, recusandae, corporis, tempore nam fugit deleniti sequi excepturi quod repellat laboriosam soluta laudantium amet dicta non ratione distinctio nihil dignissimos esse!</p>
    </div>
          <div class="col-sm-4 col-lg-5">
            <h2>Skill Set</h2>
            <hr>
            <!-- Green Progress Bar -->
            <div class="progress">
              <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100" style="width: 85%"> HTML</div>
            </div>
            <!-- Blue Progress Bar -->
            <div class="progress">
              <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100" style="width: 80%"> CSS</div>
            </div>
            <!-- Yellow Progress Bar -->
            <div class="progress">
              <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width: 70%"> JAVASCRIPT</div>
            </div>
            <!-- Red Progress Bar -->
            <div class="progress">
              <div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%"> PHP</div>
            </div>
            <div class="progress">
              <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="55" aria-valuemin="0" aria-valuemax="100" style="width: 55%"> WORDPRESS</div>
            </div>
            <div class="progress">
              <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100" style="width: 50%"> PHOTOSHOP</div>
            </div>
            <div class="progress">
              <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100" style="width: 50%"> ILLUSTRATOR</div>
            </div>
    </div>
        </div>
        <hr>
        <h2>Work Experience</h2>
    <hr>
        <div class="row">
          <div class="col-lg-6">
            <div class="row">
              <div class="col-xs-5">
                <h4>ABC Corp.</h4>
              </div>
    <div class="col-xs-5">
                <h4 class="text-right"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span> Jan 2002 - Dec 2006</h4>
              </div>
            </div>
            <h4><span class="label label-default">Web Developer</span></h4>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint, recusandae, corporis, tempore nam fugit deleniti sequi excepturi quod repellat laboriosam soluta laudantium amet dicta non ratione distinctio nihil dignissimos esse!</p>
            <ul>
            	<li>Lorem ipsum dolor sit amet.</li>
            	<li>Lorem ipsum dolor sit amet, consectetur.</li>
            	<li>Lorem ipsum dolor sit amet, consectetur adipisicing.</li>
            </ul>
          </div>
          <div class="col-lg-6">
            <div class="row">
              <div class="col-xs-5">
                <h4>XYZ Corp.</h4>
              </div>
              <div class="col-xs-6">
                <h4 class="text-right"><span class="glyphicon glyphicon-calendar" aria-hidden="true"></span> Jan 2002 - Dec 2006</h4>
              </div>
            </div>
            <h4><span class="label label-default">Senior Web Developer</span></h4>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint, recusandae, corporis, tempore nam fugit deleniti sequi excepturi quod repellat laboriosam soluta laudantium amet dicta non ratione distinctio nihil dignissimos esse!</p>
            <ul>
              <li>Lorem ipsum dolor sit amet.</li>
              <li>Lorem ipsum dolor sit amet, consectetur.</li>
              <li>Lorem ipsum dolor sit amet, consectetur adipisicing.</li>
            </ul>
          </div>
        </div>
        <hr>
        <h2>Portfolio</h2>
        <hr>
        <div class="container">
        	<div class="row">
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""><hr class="hidden-lg"></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""><hr class="hidden-lg"></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6 hidden-lg"><img src="images/300X200.gif" alt=""></div>
        	</div>
            <hr>
            <div class="row">
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""><hr class="hidden-lg"></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""><hr class="hidden-lg"></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6"><img src="images/300X200.gif" alt=""></div>
        		<div class="col-lg-4 col-sm-6 col-xs-6 hidden-lg"><img src="images/300X200.gif" alt=""></div>
        	</div>
        </div>
        <hr>
        <h2>Contact</h2>
        <hr>
      </div>
      <div class="container">
      <div class="row">
        <div class="col-lg-offset-3 col-xs-12 col-lg-6">
          <div class="jumbotron">
            <div class="row text-center">
              <div class="text-center col-xs-12 col-sm-12 col-md-12 col-lg-12"> </div>
              <div class="text-center col-lg-12"> 
                <!-- CONTACT FORM https://github.com/jonmbake/bootstrap3-contact-form -->
                <form role="form" id="feedbackForm" class="text-center">
                  <div class="form-group">
                    <label for="name">Name</label>
                    <input type="text" class="form-control" id="name" name="name" placeholder="Name">
                    <span class="help-block" style="display: none;">Please enter your name.</span></div>
                  <div class="form-group">
                    <label for="email">E-Mail</label>
                    <input type="email" class="form-control" id="email" name="email" placeholder="Email Address">
                    <span class="help-block" style="display: none;">Please enter a valid e-mail address.</span></div>
                  <div class="form-group">
                    <label for="message">Message</label>
                    <textarea rows="10" cols="100" class="form-control" id="message" name="message" placeholder="Message"></textarea>
                    <span class="help-block" style="display: none;">Please enter a message.</span></div>
                  <span class="help-block" style="display: none;">Please enter a the security code.</span>
                  <button type="submit" id="feedbackSubmit" class="btn btn-primary btn-lg" style=" margin-top: 10px;"> Send</button>
                </form>
                <!-- END CONTACT FORM --> 
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <hr>
    <footer class="text-center">
      <div class="container">
        <div class="row">
          <div class="col-xs-12">
            <p>Copyright © MyWebsite. All rights reserved.</p>
          </div>
        </div>
      </div>
    </footer>
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    </body>
    </html>
    

    Dienstag, 12. September 2017 10:53
  • Hi,

    und was hat dein Javascript Code mit HTA zu tun? Wo soll in der Datei der HTA Code sein? Wenn ich diese Datei als test.html lokal abspeichere und die Sicherheitsabfragen bestätige, hab ich auch eine Konsole geöffnet. Wenn ich im IE die Sicherheitseinstellungen anpasse, geht das auch ganz ohne Sicherheitsabfrage.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 12. September 2017 11:05
  • hi,

    wie gesagt ist hta für meine zwecke nur eine schnelle Möglichkeit ein portables GUI zu bauen- das heisst:

    • Keine Menüleiste
    • Keine Sicherheitswarnungen
    • Keine zusätzlichen Einstellungen

    ActiveX Elemente werden in Webbrowsern meines Wissens nach eh nur im IE unterstützt (warum noch immer weiss ich nicht...), den ich sonst meide. Vermutlich ist die "beste" Lösung sich längerfristig Electron anzusehen. Eine Plattformübergreifende Lösung basierend auf Chromium HTML, JS und CSS. Die Apps für den Windows Store auf der anderen Seite basieren soweit ich das gesehen habe auf C#- was wieder nicht diese Flexibilität bietet wie htas (in meinem Workflow). Die Option den Quelltext überall "on the fly" bearbeiten zu können ist für mich sehr wichtig.

    Am Ende bleibt die Frage warum das "nicht unterstützen" von hta ab IE10+ bei MS in einem "es läuft vieles, anderes aber nicht mehr" Szenario endet, anstatt einer klaren Aussage "bis IE9 und nicht weiter".

    Warum 2017 ein normaler Webbrowser überhaupt noch die Möglichkeit bietet über html auf das OS zuzugreifen ist mir sowieso rätselhaft. Hier sollte eine IE 1,2,...5 ... egal Legacy Version für Firmen die es brauchen zur Verfügung stehen und sonst soll diese Sicherheitslücke geschlossen werden.

    was solls- Danke für den Input

    LG C

    Dienstag, 12. September 2017 13:10