2017-06-15 1 views
1

Je travaille dans un bureau qui utilise quelque chose de semblable à un message du jour ici ->http://www.jhouseconsulting.com/2007/12/28/creating-a-message-of-the-day-banner-using-a-hta-4remplacement HTA dans Windows 10

Mais nous passer à Windows 10 et il ne prend pas en charge HTA (en ignorant la compatibilité IE9), il faudra le remplacer.

La question est ce qui peut faire la même chose, les réserves sont:

  • Pas avant Login (donc ne pas utiliser Connexion Bannière)
  • seulement après fenêtre de connexion
  • Ne doit pas être gros en mesure, sauf en utilisant le « d'accord à ce MSG bouton »
  • texte varie donc besoin méthode facile de garder le texte du contrôle (fichier html?)
  • seront distribués par DC (script d'ouverture de session)

Cette application est utilisée pour la reconnaissance de conformité et la dissémination d'informations de sécurité. Merci pour vos commentaires,

+0

Vous pouvez encore courir HTAs dans Win10 et IE11. Les seules choses qui vous manqueront sont les propriétés définies dans la balise HTA, à savoir pas de contrôle d'apparence de fenêtre, pas d'instance unique, pas d'icône, pas de contrôle de sélection, etc. Si vous pouvez vivre sans ces propriétés, tout fonctionne bien. JS et DOM modernes par rapport aux versions antérieures, en utilisant DTD pour HTML5 et X-UA de "IE = edge". En dehors du contrôle de la fenêtre, vous pouvez pirater la plupart des autres propriétés, puisque tous les privilèges de l'HTA sont toujours utilisés. – Teemu

Répondre

0

AFAIK Windows 10 peut toujours exécuter des HTA. Si vous voulez forcer le mode IE9 vous pouvez coller une balise meta dans la tête:

<head> 
<meta http-equiv="X-UA-Compatible" content="IE=9" /> 
</head> 
+0

Désolé ne peut pas utiliser la compatibilité IE9, doit avoir une méthode de remplacement complète – Sean

0

juste faire un essai avec cette HTA: Testé uniquement sur Windows 7 (64 bits)

<html> 
<!-- 
    MOTD.hta (Message of the Day) 
    Written by [email protected] on 12/11/06. 

--> 
<head> 
<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<title>Message of the Day</title> 
<hta:application id="objHTAInfo" 
    applicationname="Message of the Day" 
    version="1.0" 
    border="thin" 
    borderstyle="raised" 
    caption="yes" 
    contextmenu="yes" 
    innerborder="no" 
    maximizebutton="no" 
    minimizebutton="no" 
    selection="yes" 
    scroll="yes" 
    scrollflat="yes" 
    showintaskbar="no" 
    SysMenu="no" 
    SINGLEINSTANCE="yes" 
> 

<style type="text/css"> 
body { 
    font: 13pt arial; 
    color: white; 
    filter: progid:DXImageTransform.Microsoft.Gradient (GradientType=0, StartColorStr='#000000', EndColorStr='#0000FF') 
} 
p { 
    margin: 0 0 0 0; 
} 
</style> 
</head> 

<SCRIPT LANGUAGE="VBScript"> 
    Option Explicit 
    Const ForReading = 1 

    Sub Window_Onload 
    Dim strMOTDFile, arrCommands, strLogonServer, strCommonPath, strPath, strcurrentPath, strLine, strContents 
    Dim i, WshShell, oFSO, objFile 
    strMOTDFile = "motd.txt" 
    arrCommands = Split(objHTAInfo.commandLine, chr(34)) 

' Uncomment the next three lines for testing only. 
' For i = 3 to (Ubound(arrCommands) - 1) Step 2 
'  Msgbox arrCommands(i) 
' Next 

    If Ubound(arrCommands) = 2 Then 
     strcurrentPath = Replace(Left(document.location.pathname,InStrRev(document.location.pathname,"\")),"%20"," ") 
     strPath = strcurrentPath 
    Else 
     Set WshShell = CreateObject("WScript.Shell") 
     strLogonServer = WshShell.ExpandEnvironmentStrings("%LogonServer%") 
     strPath = strLogonServer & "\" & arrCommands(3) & "\" 
    End If 

' Uncomment the next line for testing only. 
' Msgbox strPath 

    Set oFSO = CreateObject("Scripting.Filesystemobject") 
    If oFSO.fileexists(strPath & strMOTDFile) Then 
     Set objFile = oFSO.OpenTextFile(strPath & strMOTDFile, ForReading) 
     Do Until objFile.AtEndOfStream 
     strLine = objFile.ReadLine 
     strContents = strContents & strLine & "<BR>" 
     Loop 
     objFile.Close 
     document.getelementbyid("textarea").innerHTML = strContents 
    Else 
     ExitProgram 
    End If 

    posBtn 
    document.body.onresize = GetRef("posBtn") 

    Set WshShell = Nothing 
    Set oFSO = Nothing 
    Set objFile = Nothing 
    End Sub 

    Sub posBtn 
    Dim btn, bod, leftLoc 
    Set btn=document.getelementbyid("runbutton") 
    Set bod=document.getelementbyid("mainbody") 
    leftLoc = (bod.offsetWidth/2) - (btn.offsetWidth/2) 
    btn.style.position="absolute" 
    btn.style.posLeft = leftLoc 
    End Sub 

    Sub ExitProgram 
    window.close() 
    End Sub 
</SCRIPT> 

<body id="mainbody"> 
<center><h1>Message of the Day</h1></center> 
<h3>Important notice:</h3> 
<p id="textarea"></p> 
<BR> 
<BR> 
<input id=runbutton type="button" value="I have read and understood this message." onClick="ExitProgram"> 
</body> 

</html> 
+0

Désolé ne peut pas utiliser la compatibilité IE9, doit avoir une méthode de remplacement complet – Sean