[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 18:48 / Filesize : 259 KB / Number-of Response : 926
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

HTAをもっと流行らせる計画



1 名前:あらかわ [2005/08/21(日) 02:46:02 ]
過去スレ
HTA研究会
piza2.2ch.net/tech/kako/996/996763278.html

Web制作板のHTAスレ
pc8.2ch.net/test/read.cgi/hp/1068286485/

あとはまかせた

271 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 09:31:29 ]
俺もframe要らないと思うよ。
frameが無いと出来ないことってほとんど無いだろうし。

272 名前:267 mailto:sage [2006/09/23(土) 20:28:46 ]
>>265
こんな感じで、ヒントエクスプローラバーをやってみましたが、うまく行きましたよ。
<script>
function source(){return '<'+'html>\r\n'+'<'+'head>\r\n'+'<'+'/head>\r\n'+'<'+'body>\r\n'+'<'+'img src=tips.gif>\r\n'+'<'+'/body>\r\n'+'<'+'/html>\r\n\r\n';}
</script>
<frameset>
<frame src="javascript:parent.source()">
</frameset>


273 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:21:20 ]
皆々さん、ありがとう!
確かに、やろうとしたかったことは fram を使わずにできました。
HTA:APPLICATION タグでスクロールを無効にして、

<div id="result" style="width: 100%; height: 50%; overflow: auto; margin: 0px;"></div>
<hr />
<div id="error" style="width: 100%; height: 50%; overflow: auto; margin: 0px;"></div>

とすれば、ほぼフレームと同じ見た目になりますね!
(枠を移動させるまではできませんが…。もちろんscriptをガリガリ書けばできるでしょうけど。)

それとは別に、>>272さんのワザは勉強になりました。
document.write するんでなくてそのまま評価されるんですね。

ただ、HTMLとしてなら成功しましたが、HTA では「オブジェクトでサポートされていない
プロパティまたはメソッドです。javascript:parent.source()」
とエラーになってしまいました。


274 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:31:53 ]
せきゅりちいゾーンがちがうからね。
>>138 とかすればノーガードになる。


275 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 00:54:42 ]
>>274さんありがとうございます!

うほっ、そんな属性があったとは。ステキ。
自分もまだまだ勉強不足です。

しかしセキュリティゾーンは面倒だなあ。
Vista/IE7になったらもっと面倒になりそう…。


276 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 21:54:14 ]
>>243
subst

277 名前:デフォルトの名無しさん [2006/10/09(月) 08:04:22 ]

初歩的なことかもしれないけど、教えてください。
やりたいことはフレーム分割をして、それぞれに任意のオブジェクトを配置したいのです。
しかし、タグ解説サイトを見ると、フレームの中身はsrcで指定したhtmlを読ませるだけで
frameset、frameタグを書いたファイル自身で、フレーム内の内容を記述する解説が見つかりません。
もちろんHTAでも外部のhtmlを参照できるのは知っていますが、便宜上1ファイルに纏めたいので
上記のことをやる方法を教えてください。現在はとりあえずフレーム自体は表示されるのですが、
frameタグの中に何を書いても一切表示されません。
VBSはだいぶ前から使っているのですが、GUIを作成する手段としてHTAを使い始めたばかりで
HTML関連を扱うのはこれが始めてなので悪戦苦闘しています。宜しくお願いします。

とりあえずcols="50,*"で<input type="button"/>を左右に一つずつ配置する
サンプルでも書いていただけるとありがたいのですが。

278 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 08:51:39 ]
>>277

<html>
<head>
<script>
function load() {
    with (frame1.document) {
        open("text/html", "replace");
        write('<html><body><div><input type="button"/></div></body></html>');
        close();
    }
    with (frame2.document) {
        open("text/html", "replace");
        write('<html><body><div><input type="button"/></div></body></html>');
        close();
    }
}
</script>
</head>
<frameset cols="50%,*" onload="load()">
  <frame id="frame1" />
  <frame id="frame2" />
</frameset>
</html>

279 名前:278 mailto:sage [2006/10/09(月) 08:55:40 ]
一々open()やwrite()使わないで,
frame1.document.body.innerHTML = '<html><body><div><input type="button"/></div></body></html>';
でもよい。



280 名前:277 mailto:sage [2006/10/09(月) 09:26:00 ]
>>278-279
なるほど、スクリプトで書くわけですか。
どうりでタグ解説サイトを漁っても見つからないわけだ。

とにかく、教えていただいた
document.writeとdocument.body.innerHTMLで
目的は果たせます。ありがとうございました。

281 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 21:01:01 ]
>>191
関連情報(?)見付けたので投稿してみる
HTAで引数を使う
ttp://wscript.name/index.php?%B0%FA%BF%F4%A1%CA%A5%B3%A5%DE%A5%F3%A5%C9%A5%B9%A5%A4%A5%C3%A5%C1%A1%CB%A4%F2%BC%F5%A4%B1%BC%E8%A4%EB#t0a550e7
 via WSH Lab. 掲示板

282 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:58:04 ]
では、こんなのも。
HTAでコマンドラインの引数を分離するVBScript関数
www.vector.co.jp/soft/win95/prog/se402218.html


283 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:04:38 ]
コマンドライン引数を分離するVBScript関数ってこれじゃだめなの?
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/apr05/hey0420.mspx

284 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 18:55:37 ]
mahta.exe c:\short\path\name\hoge.hta a b c
でやってみて。

285 名前:284 mailto:sage [2006/10/26(木) 18:58:20 ]
typo
mshta.exe


286 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 01:17:30 ]
面倒なので別のプログラムにやらせたりしてた。

// arg.js - コンパイル方法: jsc arg.js
import System;
var arg: String[] = Environment.GetCommandLineArgs();
for (var i: int = 1; i < arg.Length; i++)
    Console.WriteLi(arg[i]);


<!-- HTA Sample -->
<html><head><hta:application id="Hta" /><script>
var WshShell = new ActiveXObject("WScript.Shell");
function GetCommandLineArgs() {
    return WshShell.Exec("arg.exe " + Hta.commandLine).StdOut.ReadAll().split(/\r\n/);
}
</script></head><body><dl><dt>Command Line:</dt><script>
var c = GetCommandLineArgs();
for (var i = 0; i < c.length; i++)
    document.write('<dd>' + i + ': ' + c[i] + '</dd>');
</script></body></html>

287 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 01:19:17 ]
Console.WriteLi → Console.WriteLine

288 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 14:42:29 ]
VistaとIE7で、HTAの扱いどうなってんの?
背景透過の容易性とか、アクティブデスクトップ機能とかあるんかいな

289 名前:デフォルトの名無しさん mailto:sage [2006/10/27(金) 18:20:47 ]
IE7入れて自分の目で確認したらいい。
OSの差は無いから。



290 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 00:28:14 ]
HTAでAPIとか使わないで画像の合成して書き出しって可能?

291 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 00:31:54 ]
BMPぐらいならなんとかできるかも?

292 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 00:35:03 ]
IMGタグとかフィルタとか

293 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 00:57:39 ]
やっぱADODB.Streamあたりでごりごりやるのかね……

294 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 01:14:14 ]
ADODB.StreamもAPIだよ。
Win32APIではないけどね。

295 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 01:19:27 ]
……そう言っちまったら「APIでない」のって何があるんだ……
window配下のオブジェクトツリーだけは「組み込み」ってことで特別扱い?

296 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 01:45:27 ]
「そう言っちまったら」って…w
COMコンポはどう考えたってAPIとしか言えないだろ。

297 名前:BMPをごりごり書いてみたw mailto:sage [2006/11/08(水) 03:21:03 ]
<html><head>
<script language="VBScript">
Dim BmpFileHeader, BmpInfoHeader, BmpImageData
Dim BmpImageWidth, BmpImageHeight, BmpImageLineBytes
BmpFileHeader = Array(66,77, 54,0,0,0, 0,0, 0,0, 54,0,0,0)
BmpInfoHeader = Array(40,0,0,0, 0,0,0,0, 0,0,0,0, 1,0, 24,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0)
BmpImageData = Array()
Sub SetArrayLong(arr, index, LongNum)
Dim num, i
num = CLng(LongNum)
For i = 0 To 3
arr(index + i) = num Mod &H100
num = num \ &H100
Next
End Sub
Sub SetBmpSize(x, y)
BmpImageWidth = x
BmpImageHeight = y
BmpImageLineBytes = ((x * 3 + 3) \ 4) * 4
SetArrayLong BmpFileHeader, 2, 54 + BmpImageLineBytes * y
SetArrayLong BmpInfoHeader, 4, x
SetArrayLong BmpInfoHeader, 8, y
ReDim BmpImageData(BmpImageLineBytes * y - 1)
End Sub
Sub SetPixel(x, y, r, g, b)
Dim index
index = (BmpImageHeight - y - 1) * BmpImageLineBytes + x * 3
BmpImageData(index) = b
BmpImageData(index+1) = g
BmpImageData(index+2) = r
End Sub


298 名前: ↓  続く          mailto:sage [2006/11/08(水) 03:21:41 ]
Sub SaveBmpFile()
Dim strm, i
Set strm = CreateObject("ADODB.Stream")
strm.Type = 2 ' = adTypeText
strm.Charset = "iso-8859-1"
strm.Open
For Each i In BmpFileHeader
strm.WriteText ChrW(i)
Next
For Each i In BmpInfoHeader
strm.WriteText ChrW(i)
Next
For Each i In BmpImageData
strm.WriteText ChrW(i)
Next
strm.SaveToFile "test.bmp", 2
End Sub
Sub Main()
SetBmpSize 32, 32
dim i
for i=0 to 31
SetPixel i,i, 255,0,0
next
SaveBmpFile
End Sub
</script>
</head>
<body><button onclick="Main()">SAVE BMP FILE</button></body>
</html>


299 名前:デフォルトの名無しさん [2006/11/08(水) 12:56:57 ]
>>297-298

これ何?



300 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 13:18:07 ]
BMPファイルを救う

301 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 14:45:44 ]
普通、VBSやJSで処理が可能かどうか、駄目そうなら他のLLではどうか、
C++や他で作ったDLLを利用するかしないか、
でインターフェイス(GUI)にHTAを選ぶかどうか、ジャマイカ?

302 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 19:10:47 ]
>>301
そんな普通に考えていたら最終的にHTAを選択する確率は限りなく0に近くなるだろ?
やっぱしHTAに対する盲目的な愛が必要だと思うんだ。

303 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 20:17:14 ]
大切なことはHTAで何ができるかじゃあない.
我々がHTAのために何をしてあげられるかということなんだ.

304 名前:301 mailto:sage [2006/11/08(水) 20:40:26 ]
限りなく0...www
AHKにもGUIあるしねぇ。
>>301 のは
『HTAで○○出来る?』っていうの観るとさぁ。萎えるんだ、最近。
トシのせいかな。いや、愛が足りてないのかな?

305 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 20:42:04 ]
いや単に心の狭い小さな人間だから。

306 名前:290 mailto:sage [2006/11/08(水) 22:05:53 ]
うぉっ

教えて君でごめんちゃい。
自分で調べても出来そうな方法が見つからなかったけど、
ここの住人の人たちはレベル高そうなんで、
なにか良い方法をしってるかも?と思って軽い気持ちで聞いちゃった。
「API使わないで」ってのは、「DynaCallつかってWin32API」とかって一蹴されそうなんで
入れてみただけなんですよ・・・そんなイジメないで・・・
職場の環境上HTAぐらいしか選択肢がないもんで。

てか、ADODB.Stream使った方法とかすげぇ。
この方法を使うと絵もかけちゃったりするのか、マジ感動。
ほんと勉強になりまっす

HTAで出来ることと出来ないことの切り分けが未熟なんで
迷惑かけてすいませんでした。
自分でももうすこし調べて頑張ってみるよん


307 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 23:40:14 ]
あれ、HTAでADODB.StreamのLoadFromFileが
エラー: このコンピュータの安全性の設定により、ほかのドメインのデータ ソースへのアクセスは禁止されています。
になりません?
どの設定でしょう?


308 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 23:46:18 ]
とりあえずさ、エラーが出たらそのエラー文でそのままググる癖付けろよ。
殆どの場合、聞くより早く解決するし、「ググれカス」とか言われずに済む。

309 名前:デフォルトの名無しさん mailto:sage [2006/11/08(水) 23:54:34 ]
でも、ローカルのHTAからローカルのファイルにアクセスできないんですよ。
こういう例はググっても出てきませんが。。。




310 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 00:02:48 ]
もうバカとしか言えないな。
HTAの話でもないし、放置してもいいでしょ。

311 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 00:20:09 ]
……そう言っちまったら「HTAの話」って何があるんだ……
window配下のオブジェクトツリーだけは「組み込み」ってことで特別扱い?

312 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 00:28:14 ]
> window配下のオブジェクトツリー
HTML

313 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 00:28:25 ]
>309
もしかしてノートンとか入れてる?

314 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 01:23:49 ]
>もしかしてノートンとか入れてる?
入ってます。そのせいでしょうか?


315 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 10:27:43 ]
よくノートンなんて入れる気になるな

316 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 10:44:48 ]
スクリプト遮断をオフにしても駄目。
ADODB.Streamには、ScriptBlockingInprocServer32キーがない。
ノートンは関係ないのでは?


317 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 11:25:29 ]
<?xml version="1.0" encoding="shift_jis"?>
<package>
<component>
<public>
<method name="CreateObject" dispid="0" internalName="xCreateObject" />
</public>
<script language="VBScript"><![CDATA[
Option Explicit
Public Function xCreateObject(ProgID)
Set xCreateObject=CreateObject(ProgID)
End Function
']]></script>
</component>
</package>
というWSCを作って、
<html><head><script language="VBScript">
Sub window_onload()
Set xCreateObject=GetObject("script:" & location.pathname & "\..\CreateObject.WSC")
Set Stream=xCreateObject("ADODB.Stream")
MsgBox TypeName(Stream)
Stream.Open
Stream.Type=2
Stream.Charset="shift_jis"
Stream.LoadFromFile location.pathname
MsgBox Stream.ReadText(-1)
End Sub
</script></head><body></body></html>
てな具合にWSCでCreateObjectさせるとエラーにならないですよ。


318 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 22:35:29 ]
HTAにドロップするにはレジストリをいじらないといけないと聞きました
他の人に自作のHTAを提供したいのですがレジストリは変えたくないそうです
HTABOXというソフトを使って、exeファイルにドロップして起動できるようになるのでしょうか?
自分の環境はレジストリを変えているので確認できません

319 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 22:59:07 ]
当然exeにすれば、exefileのドロップハンドラが適用されるようになるよ。
あとはvbs、jsなどを介するとか。D&Dを受け付けないだけで引数が渡せないわけじゃないから
スクリプトにD&Dさせて、スクリプトからhtaに引数を渡すって方法もある。



320 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 01:05:06 ]
>>318
>>240でcmdファイルにすればいいんじゃないの。



321 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 01:16:03 ]
↓のようなの作ってD&Dできるようにしたことがある。
// test.js
var HtaFile = "d:\\hta\\test.hta";
@if (@_jscript_version >= 7)
import System;
import System.Diagnostics;
import System.IO;
var args : String[] = Environment.GetCommandLineArgs();
for (var i = 0; i < args.Length; i++)
    args[i] = '"' + args(i).Replace('\\', '\\\\').Replace('"', '\\"') + '"';
Process.Start('mshta.exe', '"file:///' + HtaFile + '"'
    + ' var args=[' + String.Join(",", args) + '];');
@else
var args = WScript.Arguments;
var a = [];
for (var i = 0; i < args.length; i++)
    a.push('"' + args(i).replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"');
new ActiveXObject("WScript.Shell").Run('mshta.exe "file:///' + HtaFile + '"'
    + ' var args=[' + a.join() + '];');
@end

それで、HTAの方は
<hta:application id="Hta" />
<script>
eval(Hta.commandLine.replace(/^".*?" /, ""));
のようにして

322 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 01:35:06 ]
>>318
MSHTA.EXE フルパス.HTA
のショートカットを作ればいいだけじゃないの。


323 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 01:47:07 ]
過去の遺産になりつつあるbatchファイルでもいいんでないか?

324 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 19:26:29 ]
>>319-323 ありがとうございます。いろいろ方法があるんですね
即理解できるほど頭良くないのでじっくり吟味します。

325 名前:デフォルトの名無しさん mailto:sage [2006/11/11(土) 17:17:33 ]
少ない内容を背景で誤魔化してる例見つけた
ttp://sei.qee.jp/program/hta/sample/bmi.html
HTAも結局デザインセンス如何で結構使ってもらえるかも

326 名前:デフォルトの名無しさん [2006/11/13(月) 01:23:02 ]
>>325
HTA自体、もともとIE(の普通のコンテンツ)からセキュリティと
GUIの制約を一部はずしたものなので、無理にデザインセンスとか
いわなくても、少しだけ気をつければダイアログベースのアプリ
のようなものなら、VBで作るexeのアプリとほとんど区別つかない
ものは比較的簡単にできると思う。

ttp://www2.wbs.ne.jp/~kanegon/
にある「jseval」とか、見かけダイアログだし、ほとんどキーボードで
操作できるし、普段HTAと意識することなく普通に便利に使ってる。
デザインよりも内容じゃないの。


327 名前:デフォルトの名無しさん mailto:sage [2006/11/14(火) 19:28:46 ]
>>324
レジストリ云々はこのあたりの話しじゃね?→ >>191
OSがXPSP2なら無問題ジャネ?

328 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 12:16:08 ]
それならHTAでの引数の扱い方も一緒に
>>281-283
それから
pc.2ch.net/tech/kako/1013/10135/1013527404.html
の182

329 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 16:48:11 ]
>>241の出典発見
ttp://www.vector.co.jp/soft/winnt/util/se408592.html
 >>241←Yさん本人? …まさかね



330 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 20:18:56 ]
こっちにHTAネタが
pc8.2ch.net/test/read.cgi/tech/1055075469/742

331 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 13:11:47 ]
>326
そこそこ詳しい人なら中身で評価するけどね・・・
パソ初級者レベルだと見た目が良くないとダメだよ。
うちの嫁がそう。
あとブランド名か。

332 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 17:13:03 ]
qooxdoo、Yahoo UI Library、Prototype Window Class とか
javascriptのライブラリ使えば結構リッチなGUIになるけどね。そいや >>198 もあったね。
スクリプタな人は嫌うのかな?

333 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 09:02:24 ]
HTAは一見単なるHTMLファイルと見紛うような
見た目のチープさがいいんだよ!!

334 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 16:13:50 ]
エエエエエェェ(;´Д`)ェェエエエエエエエエ

335 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 18:18:43 ]
GUIなしのHTAの利用法を忘れてはいけません。
インラインで書けるスクリプトホスト。
Windowオブジェクトが組み込みで使えるスクリプトホスト。
例えば、>>330


336 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 19:01:28 ]
>>335
batファイル作るんならもう一つwshファイル作った方が早くね?

と思ったが、doskeyマクロとかに登録するともしかしてコンソールで便利に使えるのかな?

337 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 19:44:42 ]
>>336
例えば、>>330をWSHファイルで作ると、どう?
かえって手間が掛かるのでは?


338 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 07:20:47 ]
現在の時刻に従って選択肢のデフォルトをAMかPMかに変えたいのですが、

<HTML>
<BODY>
AM/PM <SELECT name=selAmPm size=1>
    <OPTION name=optAm value=AM>AM</OPTION>
    <OPTION name=optPm value=PM>PM</OPTION></SELECT><BR>

<SCRIPT LANGUAGE><!--
d = new Date();
if (d.getHours() < 12){
    selAmPm.options(0).selected = true;
}else{
    selAmPm.options(1).selected = true;
}
//--></SCRIPT>
</BODY>
</HTML>

options(0)というようにインデックス0でなく、名前optAmで参照したいのですが、
どうやるといいのでしょうか?

    selAmPm.optAm.selected = true;
    selAmPm.options.optAm.selected = true;
    selAmPm.options("optAm").selected = true;

どれもダメだった・・・orz


339 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 09:03:25 ]
> selAmPm.options("optAm").selected = true;
で出来るよ。
但し「name=optAm」ではなく「id=optAm」ね。(両方でもいいけど)
HTA関係ないHTMLの基礎。



340 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 10:03:46 ]
セキュリティ脆弱性があるから、HTAの関連付けを外せ、と巷間で言われてますが、
そんなに危ない?
対策としては、拡張子を適当に変えるだけでもよいのでは?HTBとか。

341 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 10:38:44 ]
関連付け外したり、拡張子変えたりで対策出来ると思ってるようなバカには危ないかもな。
きちんと対策してれば何の問題もないけど。

342 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 15:28:49 ]
EXEもHTA同様に危ないわけだが

343 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 18:41:32 ]
>>341
バカバカってあまり言わないほうが、バカに見えないですよ。

344 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 20:09:28 ]
>>341 1回
>>343 3回

345 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 22:06:35 ]
バカバカバカバカ。ほらね、そうでしょ?

346 名前:338 mailto:sage [2006/12/15(金) 00:37:25 ]
ありがとうございました。

347 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 14:39:32 ]
関連付け外すのは、MSが
HTA の実行の脆弱性 - CVE-2006-1388
の回避策に挙げてるくらいだから、それなりに有効だろ。
でもそれじゃ不便だから、HTBに関連付けを変えれば、同等の効果があるんじゃないか。
HTA遣いのリスクを避ける知恵じゃないか。

348 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 17:49:17 ]
>>307
マイコンピュータゾーンの
「ドメイン間のデータ ソースのアクセス」が「ダイアログを表示する。」
になっていると、そうなるみたい。なんかメッセージと合わないですが。
マイコンピュータゾーンのセキュリティを強化して、
ローカルのHTAからローカルのファイルにアクセスできないのも困ったもの。
>>317の代替手段はあるけど、ちょっと面倒ですね。

349 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:09:33 ]
HTAでEscキーでウィンドウを閉じるようにはできないですか?



350 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:15:59 ]
できるよ

351 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 23:38:41 ]
ありがとう。できました。

こういうのがうまくいかないのはなぜなんでしょう?

<HTML id=maindoc onkeydown=fOnkeydown>
<BODY>
<SCRIPT>
//maindoc.onkeydown=fOnkeydown;
function fOnkeydown(){
    if (window.event.keyCode == 0x0D){
        alert("enter");
    }
}
</SCRIPT>
</BODY>
</HTML>

「//」を取ると動きますが・・・

352 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 11:54:35 ]
おぉ、HTAのスレがあったんですね。過疎ってますけど(ノ∀`)アチャー

自分の場合は、
番組表、天気予報、ニュースなどを取得する、
Samurizeのスクリプト(VBS)を使って、
出力結果をHTML+CSSで整形、単体で起動できるようにしてます。

353 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 12:06:11 ]
ありきたりな使い方だな
俺もありきたりな使い方しかしてないけど

354 名前:351 mailto:sage [2006/12/21(木) 00:39:13 ]
なんとなくわかりました。どうも。

355 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 15:42:17 ]
>>198 のよりも手軽に使えるかも
DHTML Suite for applications
ttp://www.dhtmlgoodies.com/index.html?page=dhtml-suite
注)ライセンス:LGPL  …なのが玉に瑕...か

356 名前:デフォルトの名無しさん [2006/12/23(土) 15:50:48 ]
起動時にウインドウの位置と大きさを指定したいのですが、
マウスボタンを下げた状態でresizeToした場合にエラーが出るので
念のためマウス状態を取得して場合分けしてみたところ、fireEventで
イベントを呼び出したためかevent.buttonがうまく機能してくれません。
onloadイベントを使うと画面表示後にリサイズして見栄えが悪いので
出来ればfireEventを使いたいのですが、
この場合たまに起こる程度のエラーは諦めるしかないのでしょうね。

<html><head><script language="javascript">
document.all.tags("html")(0).onclick = function (){
if (1 & event.button) return true;
resizeTo(300, 300);
moveTo(event.screenX -150, event.screenY -150);
document.all.tags("html")(0).onclick = null;
return false;
}
while (document.all.tags("html")(0).fireEvent("onclick"));
</script><hta:application></head></html>

357 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 16:03:05 ]
エラー拾ってリトライするか、
エラー無視してonloadで念のためもう一度やる、とかは?

358 名前:sage [2006/12/23(土) 17:57:10 ]
>>356
例外処理という方法があったのですね。
アドバイスありがとうございます、
おかげで期待通りの動作になりました。

359 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 14:37:26 ]
>>355 ライセンス:LGPL ねぇ…
Yahoo UI Libraryが出てるから魅力感じないス。
phpspotでも紹介してたスね。こっちのほうが速いけど。

// 何気にこのスレって面白い情報集まるのね >>39 >>85 とか早い時期から注目してるし。



360 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 11:07:58 ]
HTMLと同じように使えるので気に入ってます。
ただ,HTAではcookieは使えないようですね?
以前のデータをcookieのように保存するよい方法
がHTAにあれば,教えてください。

361 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 11:28:30 ]
バイナリに保存しちゃえばええんちゃう?

function readBinary(file){
var adTypeBinary = 1;
var stream = new ActiveXObject("ADODB.Stream");
stream.type = adTypeBinary;
stream.open();
stream.loadFromFile(file);
stream.position = 0;
var bin = stream.read();
stream.close();
var tmpElm = new ActiveXObject("Microsoft.XMLDOM").createElement("tmp");
tmpElm.dataType = "bin.hex";
tmpElm.nodeTypedValue = bin;
return tmpElm.text;
}

function writeBinary(file,hexBinStr){
var adTypeBinary = 1;
var adSaveCreateNotExist = 1;
var adSaveCreateOverWrite = 2;
var tmpElm = new ActiveXObject("Microsoft.XMLDOM").createElement("tmp");
tmpElm.dataType = "bin.hex";
tmpElm.text = hexBinStr;
var bin = tmpElm.nodeTypedValue;
var Stream = new ActiveXObject("Adodb.Stream");
Stream.Type = adTypeBinary;
Stream.Open();
Stream.Write(bin);
Stream.Savetofile(file, adSaveCreateOverWrite);
}

362 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 14:49:50 ]
>361
詳しいコードまで作成していただき,感謝です。これを改良して使わさせて
いただきます。

ところで,自分で教えていただいた
new ActiveXObject("ADODB.Stream");
をネットで検索すると,Ajaxの解説ページ,JavaScript Libraryのページ
などにありました。HTAに関連する他のnew ActiveXObject("...")の基本
的な機能を勉強するに,おすすめのサイトはございますか?

363 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 16:24:47 ]
>>362
ActiveXObjectはHTA用とか関係ないから。とりあえずMSDNにはMSが作ってる
ADODB.Stream、Microsoft.XMLHTTP、MSXML2.DOMDocumentや
WSH付属のWScript.XXXXX、Scripting.FileSystemObject、Scripting.Dictionaryなどの
解説があるし、MS製以外なら制作者のHPや付属ドキュメントみれば良い。

364 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 19:25:05 ]
>>360
cookie使えたような気がしたけど、俺の記憶違いかな

HTAらしさを醸し出すならやっぱし
behavior:url(#default#userData)

365 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:08:44 ]
HTAならテキストファイルの読み書きが出来るからiniでもxmlでも好きなようにするがよろしい。

366 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 07:00:27 ]
HTAで2ちゃんねるブラウザってありそうなんんだけど探したら無かった・・・

367 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 07:10:44 ]
×探したら無かった・・・
○検索スキルの低さ故に見つけられなかった

でしょ。ちゃんと存在してるんだから。

368 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 07:47:05 ]
HTA 2ちゃんねるブラウザ
で探したら無かった。


369 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 02:39:30 ]
>>368
俺はあるかどうか知らんけど、HTAで出来てることを強調していないブラウザはその方法じゃHitしないかもね



370 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 21:23:42 ]
HTAを起動した時に押されていたキーを取得することって出来ますか?

371 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 22:38:47 ]
HTAの窓をサイズ固定&常に最前面表示って可能でしょうか?
どちらか片方だけでもいいので方法があれば教えてください。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef