Forum: PC-Programmierung Windows 7 HTML+Javascript+ActiveX wie File-Open-Dialog erstellen


von sven (Gast)


Lesenswert?

Hallo,
unter WinXP mit IE8 funktioniert ja folgender Code (als *.hta) ganz gut, 
aber wie kann ich ihn nach Windows 7 portieren ?
Stundenlanges googeln hat mir nur Code gezeigt den ich in JavaScript 
nicht zum laufen bekomme... (z.b. hier : 
http://www.eggheadcafe.com/software/aspnet/35812129/browse-for-file-dialog-.aspx 
)
Vermutlich muss ich mir meine eigene Dialogbox mit dem FSO basteln ?
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head>
3
<hta:application id="hta" applicationname="XP Demo"
4
caption="yes" contextmenu="yes"
5
innerborder="no"
6
navigable="yes" scroll="no"
7
scrollflat="yes" selection="yes"
8
singleinstance="no"
9
sysmenu="yes" 
10
windowState="normal" >
11
12
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
13
<title>XP Demo</title>
14
<script type="text/javascript">
15
<!--
16
17
var path = "C:\\";
18
19
function OnLoad()
20
{ var xx=1200;
21
  var yy=600;
22
  try { window.resizeTo(xx,yy);}     catch(err){}
23
  try { window.moveTo(screen.width - xx, 0);}   catch(err){}
24
}
25
26
function load_OnClick()
27
{ var oCD = new ActiveXObject("UserAccounts.CommonDialog");
28
  oCD.Filter = "All|*.*;";
29
  oCD.FilterIndex = 1;
30
  oCD.InitialDir = path;
31
  if (oCD.ShowOpen())
32
  { path=oCD.Filename;
33
    result.innerHTML="<b>"+path+"</b>";
34
  }
35
}
36
37
//-->
38
</script>
39
40
</head>
41
<body bgcolor="#ECE9D8" OnLoad='OnLoad();' >
42
 <form name="tofForm">
43
 <table>
44
   <tr><td><input name="load" type="BUTTON" value="load" onclick="load_OnClick();"></td></tr>
45
 </table>
46
47
 <div id="result">test</div>
48
49
 </form>
50
</body>
51
</html>

von sven (Gast)


Lesenswert?

Die einzigste Lösung scheint der File-Upload Dialog zu sein, den man 
leider nicht vorbelegen kann mit einem Pfad...

Geänderte Datei vom ersten Post :
1
.
2
.
3
.
4
function update(text)
5
{ result.innerHTML="File Open Dialog HTML-Form : <b>"+text+"</b>";
6
}
7
8
function test()
9
{  document.getElementById("FileDialog").click(); }
10
11
//-->
12
</script>
13
14
</head>
15
<body bgcolor="#ECE9D8" OnLoad='OnLoad();' >
16
 <form name="tofForm">
17
 <table>
18
   <tr><td><input name="load" type="BUTTON" value="File open Dialog XP only" onclick="load_OnClick();"></td></tr>
19
   <tr><td><input type="file" name="FileDialog" size="1" onChange="update(this.value);" style="visibility:hidden;" > hidden File Open Dialog HTML-Form</td></tr>
20
   <tr><td><input name="load" type="BUTTON" value="Click hidden Fileupload button" onclick="test();"></td></tr>
21
 </table>
22
23
 <div id="result">test</div>
24
25
 </form>
26
</body>
27
</html>

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.