HTAをもっと流行らせる計画at TECH
HTAをもっと流行らせる計画 - 暇つぶし2ch282:デフォルトの名無しさん
06/10/13 16:58:04
では、こんなのも。
HTAでコマンドラインの引数を分離するVBScript関数
URLリンク(www.vector.co.jp)


283:デフォルトの名無しさん
06/10/26 18:04:38
コマンドライン引数を分離するVBScript関数ってこれじゃだめなの?
URLリンク(www.microsoft.com)

284:デフォルトの名無しさん
06/10/26 18:55:37
mahta.exe c:\short\path\name\hoge.hta a b c
でやってみて。

285:284
06/10/26 18:58:20
typo
mshta.exe


286:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/10/27 01:19:17
Console.WriteLi → Console.WriteLine

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

289:デフォルトの名無しさん
06/10/27 18:20:47
IE7入れて自分の目で確認したらいい。
OSの差は無いから。

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

291:デフォルトの名無しさん
06/11/08 00:31:54
BMPぐらいならなんとかできるかも?

292:デフォルトの名無しさん
06/11/08 00:35:03
IMGタグとかフィルタとか

293:デフォルトの名無しさん
06/11/08 00:57:39
やっぱADODB.Streamあたりでごりごりやるのかね……

294:デフォルトの名無しさん
06/11/08 01:14:14
ADODB.StreamもAPIだよ。
Win32APIではないけどね。

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

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

297:BMPをごりごり書いてみたw
06/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: ↓  続く         
06/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:デフォルトの名無しさん
06/11/08 12:56:57
>>297-298

これ何?

300:デフォルトの名無しさん
06/11/08 13:18:07
BMPファイルを救う

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

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

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

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

305:デフォルトの名無しさん
06/11/08 20:42:04
いや単に心の狭い小さな人間だから。

306:290
06/11/08 22:05:53
うぉっ

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

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

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


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


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

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


310:デフォルトの名無しさん
06/11/09 00:02:48
もうバカとしか言えないな。
HTAの話でもないし、放置してもいいでしょ。

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

312:デフォルトの名無しさん
06/11/09 00:28:14
> window配下のオブジェクトツリー
HTML

313:デフォルトの名無しさん
06/11/09 00:28:25
>309
もしかしてノートンとか入れてる?

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


315:デフォルトの名無しさん
06/11/09 10:27:43
よくノートンなんて入れる気になるな

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


317:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/11/09 22:35:29
HTAにドロップするにはレジストリをいじらないといけないと聞きました
他の人に自作のHTAを提供したいのですがレジストリは変えたくないそうです
HTABOXというソフトを使って、exeファイルにドロップして起動できるようになるのでしょうか?
自分の環境はレジストリを変えているので確認できません

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

320:デフォルトの名無しさん
06/11/10 01:05:06
>>318
>>240でcmdファイルにすればいいんじゃないの。



321:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/11/10 01:35:06
>>318
MSHTA.EXE フルパス.HTA
のショートカットを作ればいいだけじゃないの。


323:デフォルトの名無しさん
06/11/10 01:47:07
過去の遺産になりつつあるbatchファイルでもいいんでないか?

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

325:デフォルトの名無しさん
06/11/11 17:17:33
少ない内容を背景で誤魔化してる例見つけた
URLリンク(sei.qee.jp)
HTAも結局デザインセンス如何で結構使ってもらえるかも

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

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


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

328:デフォルトの名無しさん
06/11/15 12:16:08
それならHTAでの引数の扱い方も一緒に
>>281-283
それから
URLリンク(pc.2ch.net)
の182

329:デフォルトの名無しさん
06/11/23 16:48:11
>>241の出典発見
URLリンク(www.vector.co.jp)
 >>241←Yさん本人? …まさかね

330:デフォルトの名無しさん
06/11/24 20:18:56
こっちにHTAネタが
スレリンク(tech板:742番)

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

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

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

334:デフォルトの名無しさん
06/11/27 16:13:50
エエエエエェェ(;´Д`)ェェエエエエエエエエ

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


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

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

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


338:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/14 09:03:25
> selAmPm.options("optAm").selected = true;
で出来るよ。
但し「name=optAm」ではなく「id=optAm」ね。(両方でもいいけど)
HTA関係ないHTMLの基礎。

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

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

342:デフォルトの名無しさん
06/12/14 15:28:49
EXEもHTA同様に危ないわけだが

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

344:デフォルトの名無しさん
06/12/14 20:09:28
>>341 1回
>>343 3回

345:デフォルトの名無しさん
06/12/14 22:06:35
バカバカバカバカ。ほらね、そうでしょ?

346:338
06/12/15 00:37:25
ありがとうございました。

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

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

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

350:デフォルトの名無しさん
06/12/16 01:15:59
できるよ

351:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/20 11:54:35
おぉ、HTAのスレがあったんですね。過疎ってますけど(ノ∀`)アチャー

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

353:デフォルトの名無しさん
06/12/20 12:06:11
ありきたりな使い方だな
俺もありきたりな使い方しかしてないけど

354:351
06/12/21 00:39:13
なんとなくわかりました。どうも。

355:デフォルトの名無しさん
06/12/22 15:42:17
>>198 のよりも手軽に使えるかも
DHTML Suite for applications
URLリンク(www.dhtmlgoodies.com)
注)ライセンス:LGPL  …なのが玉に瑕...か

356:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/23 16:03:05
エラー拾ってリトライするか、
エラー無視してonloadで念のためもう一度やる、とかは?

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

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

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

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

361:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/27 14:49:50
>361
詳しいコードまで作成していただき,感謝です。これを改良して使わさせて
いただきます。

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

363:デフォルトの名無しさん
06/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:デフォルトの名無しさん
06/12/27 19:25:05
>>360
cookie使えたような気がしたけど、俺の記憶違いかな

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

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

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

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

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

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


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

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

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

372:デフォルトの名無しさん
07/01/27 23:01:03
BORDER=NONE

373:デフォルトの名無しさん
07/01/27 23:27:40
>>370
シフトキー or 文字キー ?


374:デフォルトの名無しさん
07/01/27 23:53:33
>>373
どちらでも。
何でもよいからHTAを起動した時にキーが押されていたらと言う処理がしたいのです。

375:デフォルトの名無しさん
07/01/28 14:40:26
>>370
event.shiftKey
event.keyCode

376:デフォルトの名無しさん
07/01/28 23:27:35
>>375
keycodeの方はうまく動かなかったのでshiftの方も動かないかと思ったら
onloadに組み込んでも動くみたいですね。どうもです。

377:デフォルトの名無しさん
07/02/17 11:29:58
これをスタートアップに登録しとくとPCが挨拶してくれるという
しょうもないスクリプト

<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="Shift_JIS">
<title>G41</title>
<HTA:APPLICATION border="dialog" SCROLL="no">
<style type="text/css">
</style>
<Script language="VBS">
Call Window.ResizeTo(300,100)
Sub wclose()
window.close()
End Sub
</Script>
</head>
<body>
おはようございます、ご主人様!
<input type="button" onClick="wclose()" value="うむ">
</body>
</html>

378:デフォルトの名無しさん
07/02/17 14:29:26
>>377
萌えが足らなくね?

<script>
var spkr = new ActiveXObject("SAPI.SpVoice");
spkr.Speak("o ha yo, go zai math, Go shou zine samar.");
window.close();
</script>


379:デフォルトの名無しさん
07/02/17 17:04:09
PM5:00を回りましたね。


<html><head><script>
function speach(msg) {
var sam = new ActiveXObject("SAPI.SpVoice");
sam.Speak(msg);
}
</script><head>
<body onload="speach(fm.msg.value)">
<form id="fm" onsubmit="speach(this.msg.value); return false;">
<textarea id="msg" cols=80 rows=20>
o ca ery na sai ma say, Go shou zine samar?
o show ku g ni nasay masu car?
o flow ni nasay masu car?
so, re, tow, mo oh?
</textarea>
<input type="submit" value="おk">
</form></body></html>

380:デフォルトの名無しさん
07/02/17 17:08:23
>>379はちゃんと動くけど>>378
「型が一致しません」とか出て動かない
どこがおかしいんだろ



381:デフォルトの名無しさん
07/02/17 17:14:23
めちゃくちゃ野太い声で挨拶されたw

382:デフォルトの名無しさん
07/02/18 00:55:07
>>380
環境依存のActiveXを使ってるからだよ。
初心者はよくこういうことを注意書きも無しにやらかす。
まぁうちでは動くけどな。

383:デフォルトの名無しさん
07/02/18 12:37:46
>>382
379が動いて378が動かない環境依存のActiveXってどんなのだよ!?

384:デフォルトの名無しさん
07/02/18 12:52:45
どうしたの?

385:デフォルトの名無しさん
07/02/18 14:31:54
>>382
>>377のScriptの部分を>>378のと入れ替えて
bodyの中身を削っておみ? 動く筈。

386:385
07/02/18 15:41:56
ごめ。
安価ミスった 385での382へのアンカは >>380ね。スマソ
>>382 へは>>383と同意見。

387:デフォルトの名無しさん
07/02/19 20:45:05
>>386
動かない。「ステートメントの末尾が不正です」って出る。

388:デフォルトの名無しさん
07/02/20 00:31:29
も~
>>378 は JScript だ。VBScript に直すと

<script language="VBS">
Set spkr = CreateObject("SAPI.SpVoice")
spkr.Speak "o ha yo, go zai math, Go shou zine samar."
window.close
</script>


389:387
07/02/20 05:31:59
>>388
動いた!

390:デフォルトの名無しさん
07/02/20 12:03:16
>>389
<Script language="VBS">を残してたのかw
378のをまんま置き換えれば動いたろうに。
てか今度からはエラーメッセージ追いかけれw

閑話休題
コードジンに 『MS Agentを使った...』って記事が出てたね。
萌えを追求するならエージェント自分で作っ(ry

391:デフォルトの名無しさん
07/02/20 21:52:50
質問です。
とあるhtaファイルを作成・実行し、それをwindow.close()で閉じたのですが、
閉じた後もmshta.exeがプロセスに残ってしまいます。
原因としては何が考えられるのでしょうか?
そのhtaファイルを実行する前は、mshta.exeはプロセスにはありませんでした。
環境はwindowsXP、mshta.exeのバージョンは6.0.2900.2180です。

392:デフォルトの名無しさん
07/02/20 21:58:06
まずは「とあるhtaファイル」と「とないhtaファイル」の
違いを探して報告してください。

393:デフォルトの名無しさん
07/02/20 22:09:25
とりあえずソースを部分的に伏せたりせずにここに貼るかどっかにうpするかだな。
話はそれからだ。情報貰いたいけど情報出したくはないとか我が侭いうならさようなら。

394:デフォルトの名無しさん
07/02/20 23:24:50
if ... then
window.close()
end if
nanika
みたいにcloseの後で処理してない?

395:391
07/02/21 00:17:48
>>394
なるほど、そういうことをすると残っちゃうんですね。
>>392,393
htaの仕様ではないみたいなので、とあるの悪いところを探してみます。

ありがとうございます。

396:デフォルトの名無しさん
07/02/21 00:24:47
そんなんで残るの?

397:デフォルトの名無しさん
07/02/21 04:55:02
HTAは完全に処理を分岐させないとそういうことがままある。

398:391
07/02/21 12:59:29
原因は埋め込まれていた「読み込みに成功していないJavaApplet」でした。
Appletをとりあえず削除した状態で動かしてみると正常に終了できました。

399:デフォルトの名無しさん
07/02/23 18:17:22
IE7に入れ替えたら、XPで"htaファイルって何で実行したら良いんですか?"
と聞いてくるようになった。設定が間違えているのかな?

400:デフォルトの名無しさん
07/02/23 18:34:33
IE7入れてるけどそんなの聞いてこないよ。

401:デフォルトの名無しさん
07/02/23 22:10:07
>>399
IE7入れてないんで判らんけど
フォルダオプション確認してみれば?
HTA→mshta.exe

402:デフォルトの名無しさん
07/02/23 22:18:32
>>399
フォルダオプションで関連付けを直すのは適切でないので、まず
↓をメモ帳に貼り付けて hta.reg という名前を付けて保存して,hta.regを実行してみては
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.hta]
@="htafile"
"Content Type"="application/hta"

403:デフォルトの名無しさん
07/02/23 22:32:57
HKEY_CLASSES_ROOT\htafile は放置ですかそうですかw

404:デフォルトの名無しさん
07/02/23 22:34:53
HKEY_CLASSES_ROOT\htafile は残ってることが前提、ってことは
この手の関連付け問題を何度か扱っていればわかる。

405:デフォルトの名無しさん
07/02/23 22:44:00
何度か経験してれば、その前提が当てにならないことに気付くと思うんだが
運良く(運悪く?)そういうのに当たったこと無いのかな?

406:デフォルトの名無しさん
07/02/23 22:52:24
「前提」だから当てにならないこともあるだろ

407:デフォルトの名無しさん
07/02/24 01:14:00
>>401
フォルダーオプション見てみましたが、hta拡張子自体がなくなってました。

408:デフォルトの名無しさん
07/02/24 01:15:25
>>404
m9(^Д^)プギャー

409:デフォルトの名無しさん
07/02/24 02:46:47

mshta.exe /register

410:こんな朝早くからなにやってんだろ、俺
07/02/24 07:40:41
<html><head><script>
function AX(s){return new ActiveXObject(s);}
function exec(dat,arg){var fp,xd,bs,fs=AX("Scripting.FileSystemObject");
fp=fs.GetSpecialFolder(2)+"\\htaEx.exe";
xd=AX("Microsoft.XMLDOM").createElement("x"); xd.dataType="bin.base64";
xd.text=dat.replace(/\s/g,"").replace(/@(\d+)/g,
function(a,b){return Array(b*1+1).join("A")});
bs=AX("ADODB.Stream"); bs.Open(); bs.Type=1;
bs.Write(xd.nodeTypedValue); bs.SaveToFile(fp); bs.Close();
AX("WScript.Shell").Run('"'+fp+'" '+arg,1,true); fs.DeleteFile(fp); }
</script></head>
<body onload="exec(data.innerText, '/t /a:80 /c:FF00FF')">
wsh.Run("htaEx.exe /t /a:80 /c:FF00FF");<p>
/t: 最前面表示。<br>/a: 透明度%<br>/c: 透明色<br>です。<p>
<div style="width:200;height:200;background-color:#FF00FF"></div>
<div id="data" style="display:none">
TVqQAAM@4E@4//8AALg@9Q@47y@4A4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSByd
W4gaW4gRE9TIG1vZGUuDQ0KJ@9DP2/1qi7qTOYu6kzmLupM5SLXOOYy6kzmLupI5hLqTOax84TmJupM5
rHzrOYq6kzlSaWNoi7qTOQ@20BQRQAATAEDAMM330U@10O@3wELAQg@3Q@4G@9B@5Q@4I@5B@4Q@5gAA
B@10E@10B@5B@9I@3QAAB@3B@6E@3E@8B@15CQhAABQ@112I@3S@36C50ZXh0@4dgM@4Q@4B@5Q@18C@
3GAucmRhdGE@3YD@4I@5Q@4I@18B@3BALmRhdGE@4E@5D@30Q@3w@608FGNBCRQ/xUYIEAAUP8VICBAA
IsMJFBR6BQ@3CDxAhQ/xUAIEAAzMzMzMzMzMzMzIPsFFNVVjP2vQE@3CAy/85bCQkV4l0JBiIXCQQiXQ
kFIv9D46k@4jaQk@5ItEJCyLBLhmgzgvD4UfAQAAD7dIAoPBv4P5Mw+HDwE@3+2icQRQAD/JI20EUAAi
WwkGOtYZoN4BDp1UY1QBugcAgAAD7bIacn/@4uB+F61H36cH6BYvawesfA9rrLWaDeAQ6dSaNUAaJbCQ
U6C0CAACL8A+20MHuEIHm/w@3MHiEAvyJQD/@3L8AP9O3wkKA+MZ////4hcJBAz7ej8@4hcAPhJw@3CJ
RCQcjUQkHFBokBJAAMdEJCj//////xUwIEAAOWwkFIt8JCB0Bb0B@4gPv/cwODzQKF7XQmauxX/xU8IE

411:続く ↓
07/02/24 07:41:23
AADQAACABQauxX/xU4IEAAi0wkEFVRVlf/FUAgQACDfCQYAHQWaAN@3BqAGoAagBqAGr/V/8VKCBAAF9
eXTPAW4PEFMNqAGhIIEAAaFggQABqAIhcJCD/FSwgQABfXl2DyP9bg8QUw5CVEEAAwBBAAI8QQACQEU@
4MBAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMAAwEDAwMDAwMDAwMDAwMDAwMDAszMzMzMzMzMg
ewsAgAAU1ZXM9vHRCQMLAIAAP8VBCBAAIv4V2oC6EEBAACL8IP+/3UMX14zwFuBxCwCAADDjUQkDFBW6
CkBAACFwHQsOXwkFHQijUwkDFFW6BoBAACFwHXrVv8VFCBAAF9ei8NbgcQsAgAAw4tcJCRW/xUUIEAAX
16Lw1uBxCwCAADDzMzMzMzMzMzMzMzMVot0JAiNRCQIUFb/FTQgQACLRCQMiwg7TCQIdQmJcAQzwF7CC
AC4AQ@3F7CCADMD7cKM8Bmhcl0KI2b@5GaD+TByEGaD+Tl3Cg+3yY0EgI1EQdAPt0oCg8ICZoXJdd7Dz
MzMzMzMzMzMzMzMzA+3CjPAZoXJdFmNmw@4Bmg/kwchNmg/k5dw2DwP0Pt8nB4AQDwesuZoP5QXISZoP
5RncMD7fJweAEjUQIyesWZoP5YXIQZoP5ZncKD7fJweAEjUQIqQ+3SgKDwgJmhcl1rcP/JQggQAD/JQw
gQAD/JRAgQ@185DOIQAA3CEAAPIh@3OIgAAICIAADIiAAC8IQ@7OQi@8kCIAAKAiAACuIgAAvCIAAE4i
AABgIgAAciI@7BoAHQAYQBFAHg@9dQBzAGEAZwBlADoAIABoAHQAYQBFAHgAIAAvAHQAIAAvAGEAOgAx
ADAAMAAgAC8AYwA6AFIAUgBHAEcAQgBCAAoACgAgAC8AdAA6ACAAVABvAHAATQBvAHMAdABXAGkAbgBk
AG8AdwAKACAALwBhADoAIABBAGwAcABoAGEAIABCAGwAZQBuAGQAIAAoADAALQAxADAAMAApAAoAIAAv
AGMAOgAgAFQAcgBhAG4AcwBwAGEAcgBlAG4AdAAgAEMAbwBsAG8Acg@6dCE@13QCI@4gAACcIQ@12DYI
gAAKC@3JQh@13Poi@3gI@29DOIQAA3CEAAPIh@3OIgAAICIAADIiAAC8IQ@7OQi@8kCIAAKAiAACuIgA
AvCIAAE4iAABgIgAAciI@8RAUdldENvbW1hbmRMaW5lVwC5AEV4aXRQcm9jZXNzAEMBR2V0Q3VycmVud
FByb2Nlc3NJZAByAENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvd@3lwJQcm9jZXNzMzJGaXJzdFcAmQJQcm
9jZXNzMzJOZXh0VwAANABDbG9zZUhhbmRsZQBLRVJORUwzMi5kbGwAAIECU2V0V2luZG93TG9uZ1cAAG
8BR2V0V2luZG93TG9uZ1cAAFsCU2V0TGF5ZXJlZFdpbmRvd0F0dHJpYnV0ZXMAAIMCU2V0V2luZG93UG
9zAADmAU1lc3NhZ2VCb3hXAN4ARW51bVdpbmRvd3MAewFHZXRXaW5kb3dUaHJlYWRQcm9jZXNzSWQAAF
VTRVIzMi5kbGw@3cAQ29tbWFuZExpbmVUb0FyZ3ZXAABTSEVMTDMyLmRsb@334A
</div></body></html>

412:これは ↑
07/02/24 07:47:58
htaで、半透明や四角くないウィンドウをつくるためのexeを作ってみました。
Win2000/XP用です。
ファイル展開部分はおまけなのでつっこまないでください。

なお、「悪意のあるプログラム」ではありませんが、不具合はあるかもしれません。

413:デフォルトの名無しさん
07/02/24 08:24:49
怪しいので誰か代わりにやってけろ

414:デフォルトの名無しさん
07/02/24 10:19:30
>>391-397
早速、記事が。
URLリンク(scripting.cocolog-nifty.com)

415:デフォルトの名無しさん
07/02/24 14:11:19
>>410
こりゃ面白いな。参考にさせてもらうよ。

416:デフォルトの名無しさん
07/02/24 16:53:23
\windows\system32と\windows\ie7に同じhta.exeがあるのですが、違いがあるのですか?

417:デフォルトの名無しさん
07/02/24 16:55:40
>>416
自己レス、
hta.exe->mshta.exeでした。
タイムスタンプは、前者が新しいのですが。

418:410
07/02/24 21:45:32
>>413 だよねww
>>415 ひとばしら乙であります。

背景色を透過指定すればアニメーションGIFでもしっかりくり抜きしてくれるので
border=none にしちゃえば一見HTAには見えないアプリも作れます。

exeの内容は親プロセスのウィンドウを探して拡張スタイルを設定しているだけです。
親プロセスがHTAかどうかは確認していないので気をつけてください。
複数のウィンドウを持っている場合、誤爆する可能性があります。

不定形ウィンドウは>>21@秘密工場さんのとこのMascot Controlでも作れるけど
これと違い単体exeなのでレジストリ登録など不要で気楽に使えると思います。

419:デフォルトの名無しさん
07/02/25 00:21:40
>>410-
よくそんな怪しいバイナリ動かす気になるな?
っていうかこれセキュリティ的には動いちゃマズイんじゃないの?


420:デフォルトの名無しさん
07/02/25 00:27:56
ビールスだった
もうだめだ

421:デフォルトの名無しさん
07/02/25 11:55:42
>>420
飲み過ぎ!


422:デフォルトの名無しさん
07/02/25 14:52:04
流行性ネコシャクシビールス

423:デフォルトの名無しさん
07/02/25 18:37:11
>>418
配布する自作プログラムにデコードしたexeをそのまま入れて再配布してもおk?

424:デフォルトの名無しさん
07/02/25 19:28:20
たとえおkだとしても、そんな惨めな真似するなよw

425:410
07/02/25 19:49:51
>>423
どうぞ、どうぞ。

かっくいいのができたらこのスレでも紹介してくださいね。

426:デフォルトの名無しさん
07/02/26 06:09:44
>>425
どうも。使わせてもらいます。

427:デフォルトの名無しさん
07/03/12 22:16:26
SQL鯖なんかのインストーラの親もHTAだし
簡単なものなら楽に作れるので結構いいんじゃないかと思うのでAGE


428:デフォルトの名無しさん
07/03/18 19:39:56
>>377
時間ごとにメッセージ変更してみた。

If Hour(Now()) < 12 then
Document.Write "おはようございます、ご主人様!"
ElseIf Hour(Now()) >= 12 And Hour(Now()) < 13 then
Document.Write "お昼ですね、ご主人様!"
ElseIf Hour(Now()) >= 13 And Hour(Now()) < 17 then
Document.Write "こんにちは、ご主人様!"
ElseIf Hour(Now()) >= 17 then
Document.Write "おかえりなさいませ、ご主人様!<br>"
Document.Write "ご飯にします? それともおフロ?"
End If


429:デフォルトの名無しさん
07/03/19 00:23:32
HTAってメインウィンドウにファイルなんかをD&Dして受け取る事できます?

430:デフォルトの名無しさん
07/03/19 01:00:42
うん、出来るよ。

431:デフォルトの名無しさん
07/03/19 21:49:44
>>429
>>146


432:429
07/03/20 12:32:03
>>431
THX!

433:デフォルトの名無しさん
07/03/28 17:21:06
HTAでウィンドウをトップモストにできます?

434:デフォルトの名無しさん
07/03/28 18:40:32
うん

435:デフォルトの名無しさん
07/03/28 19:09:00
できないよ

436:デフォルトの名無しさん
07/03/28 19:22:10
あ、HTA(mshta.exe)の機能だけじゃ出来ないね
でもスクリプト使えば、標準で入ってるアレでゴニョゴニョと…

437:デフォルトの名無しさん
07/03/28 19:28:25
XPに標準で入ってるものだけでは無理だろ

438:デフォルトの名無しさん
07/03/28 19:38:07
そうでもないか

439:デフォルトの名無しさん
07/03/28 20:01:35
やりかた解んないなら、とりあえず>>410-411でいいんじゃね?
ぶっちゃけスクリプトも結構長くなるからな
1行命令でお手軽にってわけにはいかないので

440:433
07/03/29 15:47:19
あぁ何だ・・・
すぐ上に出てたのね・・・
どうもありがとうございます

っでもこれってHTAでやってる訳じゃないですね・・・

あとどうでもいいかもしれませんが、
このプログラム、9xでは動かないですね。
W系APIしか使ってないみたいなので

でもトップモスト位MSはつけてくれなかったのだろうか・・・?

441:デフォルトの名無しさん
07/03/31 20:10:25
vistaなら標準で入ってるものだけで出来そうね

442:デフォルトの名無しさん
07/03/31 22:41:08
kwsk

443:デフォルトの名無しさん
07/03/31 23:14:46
> でもトップモスト位MSはつけてくれなかったのだろうか・・・?
一応Win2k/XPでは、初期環境で外部exeを作らずにHTAを最前面表示する手段は用意してくれてるけどね。
9xで出来るかどうかは試してないのでわからない。でも確かにhta:applicationの属性で用意してくれてもいいよね。

444:デフォルトの名無しさん
07/03/31 23:39:35
>>442
スレリンク(tech板:63番)


445:デフォルトの名無しさん
07/04/01 00:21:24
>>443
もったいぶってないで教えてよ。

446:デフォルトの名無しさん
07/04/01 00:42:29
教えたところで、何か俺にメリット有る?
上辺の感謝の言葉なんか嬉しくないし、逆に「ホントは知らないんだろ」とか言われても痛くも痒くもない。
何か俺の知らない有用なネタがあるなら、情報交換してもいいけど。

447:デフォルトの名無しさん
07/04/01 01:30:35
ああそうかい。じゃあお前にゃきかねーよ。

448:デフォルトの名無しさん
07/04/01 01:55:56
>>446
ホントは知らないんだろ?
446の知らない有用なネタがあるが、教えたところで、何か俺にメリット有る?
(以下略)

449:デフォルトの名無しさん
07/04/01 02:24:41
それ知ってるからべつにいいよ

450:デフォルトの名無しさん
07/04/01 13:09:18
つまり、自分の知らない有用なネタを、
ただただ、ROMって手に入れてるだけが、一番賢いんですね。

451:デフォルトの名無しさん
07/04/01 13:40:44
VBScriptなどからVB.NET経由でWin32APIを呼び出すCOMオブジェクト
URLリンク(www.vector.co.jp)

452:デフォルトの名無しさん
07/04/01 16:23:12
盛り上がってるとこ悪いけど、ちょっと質問。

xp sp2 では <img src="sysimage://C:\Prog~"> が使えないみたいだけど
「プログラムの追加と削除」のアイコン表示はどうやって実現しているの?

453:デフォルトの名無しさん
07/04/01 17:19:18
知らんけどres:かも

454:デフォルトの名無しさん
07/04/02 13:28:39
<html><head><title>タイトル</title>
<script language=vbscript>
Sub window_onload()
Set Excel=CreateObject("Excel.Application")
hwnd=Excel.ExecuteExcel4Macro("CALL(""user32"",""FindWindowA"",""JJC"",0,""タイトル"")")
Excel.ExecuteExcel4Macro("CALL(""user32"",""SetWindowPos"",""JJJJJJJJ""," & hwnd & ",-1,0,0,0,0,3)")
End Sub
</script></head></html>

455:デフォルトの名無しさん
07/04/02 14:54:43
Excel使わなくても…

456:デフォルトの名無しさん
07/04/02 15:50:21
>>452
appwiz.cpl 開くと
<SPAN id=idChangeRemove img=install_lg.gif>とか
<IMG id=idImgCDROM class='GroupImage' src='install_lg.gif'...とか出てくるね。
他の*.cplのファイルを開くと "LoadPicture"とかもて出てきた。

457:452
07/04/02 22:16:02
res://c:\windows\system32\appwiz.cpl/default.hta
は、まったく使われてないみたいですね。gif画像も古いですし。

Win2000SP4の場合、代わりに sp3res.dll のリソースが使われていましたが
WinXPの場合、新しいリソースがどこに格納されているのか、まだ見つかりません。
ご存じの方いらっしゃいますか?
もしかして、HTAではなくなってるなんてことはないですよね・・・・

458:デフォルトの名無しさん
07/04/03 11:30:31
mshta.exeのプロセスは動いてないけど?

459:デフォルトの名無しさん
07/04/03 18:03:17
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ     >>457
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

















URLリンク(quizo.at.infoseek.co.jp)

460:デフォルトの名無しさん
07/04/03 19:28:10
>>452
> res://c:\windows\system32\appwiz.cpl/default.hta
> は、まったく使われてないみたいですね
  ってことならWIN32APIの方で聞いてみるとか

↓は既知?
URLリンク(www7a.biglobe.ne.jp)
(上位ディレクトリにサンプルソースもあった。)

461:デフォルトの名無しさん
07/04/03 20:19:23
>>443
もうちょっとどういう条件でできるのか教えてよ?

「外部exe作らない」ってだけじゃ意味がわからない。
その条件だけだと
外部dll作ってregsvr32実行するとかもありだと思うけど。
あとdll作ってエクスプローラに寄生して動作させるとか。

「標準にインストールされているコンポーネントだけを操作し、
他のファイルを作成or変更しないし、
レジストリにも一切触らずにできる」
とか言うのであればわかるけど

462:デフォルトの名無しさん
07/04/03 21:32:40
> 「標準にインストールされているコンポーネントだけを操作し、
> 他のファイルを作成or変更しないし、
> レジストリにも一切触らずにできる」
その通り。

463:452
07/04/03 22:01:43
>>459
クマさんが何をおっしゃりたいのか理解できません。申し訳ございません。

>>460
「default.hta が全く使われていない」と書いたのは、どう見てもバージョンが古いからです。
どこかに新しいバージョンのリソースがあるのではないかと思っているのですが、探すだけ無駄でしょうか?


で、実際にやりたいことはコンパネの解析ではなく、ファイルのアイコンの表示なのです。
先にも書きましたが【アプリケーション】の追加と削除では <img src="sysimage://notepad.exe,1/small"> などという書式で
プログラムリストのアイコン表示をしていたのですが、おそらくセキュリティがらみの理由で使えなくなってしまったようです。
これに代わるHTAで簡単に利用できるアイコン表示法はないのでしょうか?

464:デフォルトの名無しさん
07/04/03 22:30:57
>>462
443かどうかよくわからんけど
本当にそうなのか?

XPや2Kっていってもいくつかバージョンはあると思うし、
普通デフォ状態では使ってなくて
何度か更新を繰り返してるだろうから
間違いなく標準コンポーネントだと確認するのは大変だと思う

あとコンポーネントによってはレジストリに情報を保存したり、
一時ファイルを使用するのがあるから
結局条件を満たしているかどうかは簡単にはわからない

漏れとしてはOSによってたまたま動くかもしれないようなのよりは
9xでもMEでも間違い無く動くものが欲しいわけなんだが

465:460
07/04/04 00:05:03
>>452
> で、実際にやりたいことはコンパネの解析ではなく、ファイルのアイコンの表示なのです。
あ、私の勘違いでしたね。失礼。
> どこかに新しいバージョンのリソースが
それは知らないです。力になれなくてゴメンなさい。

466:デフォルトの名無しさん
07/04/04 00:54:50
>>452
だから>>453だって

467:452
07/04/04 01:00:39
>>466
では res: で "C:\Readme.txt" のアイコンイメージを表示するにはどうしたらいいのですか?

468:デフォルトの名無しさん
07/04/04 01:09:02
sysimage:の代替じゃなかったの?じゃ知らない

469:デフォルトの名無しさん
07/04/04 03:15:08
( ゚д゚ )

470:デフォルトの名無しさん
07/04/05 19:26:00
res://appwiz.cpl/install_lg.gif
はいいけど、
res://notepad.exe/%233/2
は駄目なのよ

471:デフォルトの名無しさん
07/04/27 21:18:59
res://notepad.exe/%233/2
を取り出してファイルに保存して
それを<img src=に指定してやれば

472:デフォルトの名無しさん
07/05/07 19:38:31
HTAの不人気っぷりは異常なのだわ

473:デフォルトの名無しさん
07/05/07 22:49:12
XAML がどういうモノか知ったときにはデジャビュを感じたもんだw

474:デフォルトの名無しさん
07/05/10 18:22:06
>>472
タスクマネジャのアプリケーション一覧にもHTAが出てこないなんてあんまりだ
でもなぜなんだろう?

475:デフォルトの名無しさん
07/05/10 20:40:14
出るだろ。

476:デフォルトの名無しさん
07/05/10 22:07:01
mshta.exe

477:デフォルトの名無しさん
07/05/10 22:11:55
それプロセスタブ
アプリケーションタブに出ない

478:デフォルトの名無しさん
07/05/10 22:26:13
ぶっちゃけ、タスクバーに出ればいいと思うけど
プロセスは強制終了にしか使わんし

479:デフォルトの名無しさん
07/05/10 22:32:06
Process.MainWindowHandleや.MainWIndowTitleが取れないのと
関係があるのかな

480:デフォルトの名無しさん
07/05/11 19:44:58
それ、取れないと思ってる人結構多いね

481:デフォルトの名無しさん
07/05/12 01:11:57
ご苦労なこって

482:デフォルトの名無しさん
07/05/20 16:34:08
>>479
MainWindowが非表示で、子ウィンドウが表示されてるみたいね

483:デフォルトの名無しさん
07/05/21 01:02:20
何の妄想だ?

484:デフォルトの名無しさん
07/06/20 23:21:39
>>67 リンク切れみたいなんでちょっと探してみた
Visual Basic 5.0 Control Creation Edition SP2 日本語版(ActiveX作成、Win32APIやActiveXを呼び出す)
URLリンク(download.microsoft.com)
日本語版ヘルプ
URLリンク(www.microsoft.com)

RecentFiles ツール:VB5 が起動できなくなる現象の対処モジュール(プロジェクトのパスに日本語とか)
URLリンク(www.microsoft.com)
レジストリ修正モジュール(プロジェクト選択時の不具合への対応)
URLリンク(www.microsoft.com)
How to write your first ActiveX Control
URLリンク(us.geocities.com)
蒔苗(まかなえ)研究室 プログラミング基礎 授業資料2005年度版(PDF)
URLリンク(www.myu.ac.jp)

(参考 Visual Basic 5.0 から呼び出し可能な DLL の作成例 URLリンク(support.microsoft.com)

…って 今更需要無いか。

485:デフォルトの名無しさん
07/06/28 22:41:15
>>484
乙!

Adobe AIR が魅力的だもんなぁ…

486:デフォルトの名無しさん
07/07/18 06:45:01
URLリンク(www.h5.dion.ne.jp)
みたいなリストビューをHTAで出して、中身弄るのって出来ませんか?

487:デフォルトの名無しさん
07/07/18 09:40:22
>>486
出来るよ
やり方はググってね
ググって解らなかったら今の君には「出来ない」って事で諦めてね
諦めきれなかったら勉強してね

488:デフォルトの名無しさん
07/07/18 10:05:57
この質問方法じゃダメなスレか

URLリンク(www.h5.dion.ne.jp)
みたいなリストビューをHTAで出して、中身弄るのって出来ませんか?
出来るなら、そのやり方を教えてください

489:デフォルトの名無しさん
07/07/18 12:25:17
>>488
見た目だけなら table border のスタイル設定で・・・

490:デフォルトの名無しさん
07/07/18 23:29:45
HTAじゃなくHTMLだったらどうすればできるか?
それが分かれば後は乱暴に言えば拡張子をhtaにするだけ。

491:デフォルトの名無しさん
07/07/19 00:07:41
>>488
tableにDHTMLで
"DHTML によるテーブル操作"
URLリンク(www.microsoft.com)
とか
HTC使って弄るとか
"HTML Components を使った DHTML Behaviors のスクリプトによる実装"
URLリンク(www.microsoft.com)
"Internet Explorer 5 における DHTML Behavior"
URLリンク(www.microsoft.com)
"表を楽しむ"
URLリンク(www.microsoft.com) 

はたまたActiveX使うとか
ツール:ActiveX Control Pad
URLリンク(www.roy.hi-ho.ne.jp)(HTML%83A%83v%83%8A%83P%81[%83V%83%87%83%93)%82%C9%82%C2%82%A2%82%C4
(これに使えるActiveXあったっけか?環境によるだろうし、確認して無い (;´Д`))

他には上で出てる
"dhtmlxGrid"
URLリンク(www.scbr.com) とか?

>リストビューをHTAで出して
リストビューの方はHTAじゃなくていいなら
InternetExplorer.Application
URLリンク(www.roy.hi-ho.ne.jp)
とか モーダル/モードレスウインドウ とか javascriptのライブラリ使ってみるとか。

 MSDN見てみたらことごとくリンク切れしてやがるし。腹が立ったから関連リンク書いてみた。後悔はしていない。

492:デフォルトの名無しさん
07/07/19 02:44:30
>>491
なるほどなるほど
ajaxで試してみようと思います

>>489
見た目だけならそれえもいいんですが、カラムをクリックしてソートってのができたらいいなと
まぁそれもsortで出来るんですが…

493:デフォルトの名無しさん
07/09/04 04:01:34
Set oHTTP = CreateObject("MSXML2.XMLHTTP")
oHTTP.Open "GET", "infoseekのCGI", False
oHTTP.Send
strSource = ohttp.responseText
MsgBox strSource

↑は.vbsだと普通に実行できるですが

<script language="VBScript">
Set oHttp = CreateObject("MSXML2.XMLHTTP")
oHttp.Open "GET", "infoseekのCGI", False
oHttp.Send
strSource = ohttp.responseText
MsgBox strSource
</script>

として.htaで実行しようとするとoHTTP.Sendのところで
「アクセスが拒否されました」とエラーが出ます。
これはinfoseekのCGIが他サイトから呼び出せないのと関係あるんでしょうか?
また、何か解決方法は無いものでしょうか?

494:デフォルトの名無しさん
07/09/04 12:56:03
> これはinfoseekのCGIが他サイトから呼び出せないのと関係あるんでしょうか?

infoseek による説明にはこうあるね。

URLリンク(isweb.www.infoseek.co.jp)
| 状況                                            結果
| infoseek.co.jpに作成したあなたのホームページからCGIを呼び出した場合  正常に表示されます
| URLを直接入力した場合                                正常に表示されます
| infoseek.co.jp以外のホームページからCGIを呼び出した場合          403 Forbidden(アクセス権限がありません)

要は、

・ Referer ヘッダフィールドが存在しない場合は無条件で呼び出せる。
・ Referer ヘッダフィールドが存在する場合は、値が *.infoseek.co.jp の場合のみ呼び出せる。

ということだと思う。

.vbs からだと Referer 無しになるので OK だけど、
.hta からだと HTA ファイル自身のフルパスが Referer として送信される(確認済)ので蹴られるのだろう。
この仕様、セキュリティ的に問題がありそうな気がするけど。知らない間にユーザ名とか漏らしてそうだね。

既存のヘッダって削れない(置き換えられない)のかな?

oHttp.setRequestHeader "Referer", ""

ってやっても

oHttp.setRequestHeader "Referer", "URLリンク(www.infoseek.co.jp)

ってやってもまるで効いてないっぽいけど。

495:デフォルトの名無しさん
07/09/04 20:24:14
>>493じゃないが、おれも実験してみた。

VBSの場合は、
oHttp.setRequestHeader "Referer", "URLリンク(www.infoseek.co.jp)
が効いたけど、
HTAの場合はダメだね。

起動時に空だと、setRequestHeaderを追加できて、
既に何かしら(HTAのフルパスなど)あると、変更出来ないのかな?

あと、おれ、ユーザー名ダダ漏れしてたかもw

496:デフォルトの名無しさん
07/09/04 21:15:14
MSXML2.XMLHTTPのsetRequestHeaderはヘッダの追加だからね
一括設定すれば・・・・・あ、HTAではなくコンポーネントの話になっちゃったね、ゴメソゴメソ

497:デフォルトの名無しさん
07/09/05 21:51:46
>>494
>.hta からだと HTA ファイル自身のフルパスが Referer として送信される(確認済)ので蹴られるのだろう。
えーマジかよ。
ドライブ直下に置くか

498:デフォルトの名無しさん
07/09/07 23:00:34
.htaなファイルで、<iframe>内にページを表示して画面遷移をしても、マウスの
"戻るボタン"が効かないのですが、なにか設定があるのでしょうか?

右クリックしてのプルダウンメニューも "前に戻る" とか "次に進む" がクリック
出来ないないようになっています。

htaではそういった事は駄目なののでしょうか?


499:デフォルトの名無しさん
07/09/09 15:23:35
>>498
どうやって遷移してるかによるだろ
直接ぶち込み移動してたらHTA関係なく戻れないよ

500:デフォルトの名無しさん
07/09/09 16:24:49
そういう問題じゃないだろ。

通常のHTMLファイルとしてIFRAME内でページ遷移した場合[戻る][進む]が有効なのに
同じソース&同じページ遷移でも拡張子を .hta に変更しただけで無効になってしまうようだ。

APPLICATION属性も関係ないっぽいね。

501:デフォルトの名無しさん
07/09/10 14:02:45
>>499

> どうやって遷移してるかによるだろ

どういう方法を取れば "前に戻る" や "次に進む" が出てくるようになるのでしょうか?

502:デフォルトの名無しさん
07/09/12 02:38:32
色々調べたのですがわからないので質問させてください
いま、HTAで特定のフォルダ配下の全てのテキストファイルに
特定の文字が含まれているかを再起処理で検索し、
Set ResultWIn = Window.Open("about:blank")
で新しく表示したWindowに
resultWin.Document.Body.InnerHTML = Result
のような方法で検索結果を随時表示しています

ところが、対象が多すぎて時間がかかってしまうので
Flagを用意してキャンセルしようと思うのですが、
>>226-227
のリンクを参考にSetTimeoutを使っても
用意したキャンセルボタンを押せません。

VBAのDoeventsの様に処理途中で制御可能になる方法はありますでしょうか?
もしくは、再起処理中にFlagなどを利用してキャンセルする方法がありましたら
ご教示お願いいたします

503:デフォルトの名無しさん
07/09/12 02:47:11
時間のかかる処理はwshなど別プロセスで。

504:502
07/09/12 23:57:51
>>503
俺へのレスですよね?

wshなどの別プロセスとは、どういったことでしょう?
別途vbs等を用意して、HTAから実行するというこでしょうか?

う~ん、もしそうだと仮定して
今回の様にフォルダ内を再起処理して、
各テキストファイルの検索文字を含む行を
各テキストファイルごとに検索結果をリアルタイムで表示するのは
どうやるんだろう・・・
(良く自分のレスをみると処理内容が若干説明不足っぽいですね)
とりあえず、勉強不足は否めないので色々調べてみたいと思います
ヒントありがとうございます

とりあえず今回質問させていただいた件ですが、
新しいWindowにFlag用のCancelButtonを
innerHTMLで追加して、ループ中にFlagをチェックするようにして
キャンセル可能になりました。
ただ再起処理中で何回も呼び出しているせいか
If Flag.innerText=False Then Exit Sub
としてもすぐに止まらないですけどね


505:デフォルトの名無しさん
07/09/13 08:53:36
こんな簡単なことで躓いてる奴も居るのか、、、

506:デフォルトの名無しさん
07/09/13 09:52:47
>>505
自転車の運転と一緒で最初の一回だけはみんなこけるんだよ

507:デフォルトの名無しさん
07/09/13 16:52:53
こんなのがあった
URLリンク(sei.qee.jp)
 まさか本人じゃないよね…

508:デフォルトの名無しさん
07/09/13 23:18:25
>>505
師匠っ!躓きまくりなんでアドバイスをお願いしまっす

>>506
1回しかこけないなんて凄すぎです

>>507
こんなん作れる知識あるなら質問しませんよ・・・
参考サイトありがとうございます


509:デフォルトの名無しさん
07/09/14 21:44:08
余計なお世話だけど 関連情報
WSH以外のホスト環境でのWScript.Sleep()の代替方法
URLリンク(www.vector.co.jp)

510:デフォルトの名無しさん
07/09/15 14:42:37
自作のhtaがウィルス判定されて削除されちゃったw

ローカルファイルから文字列読み取ってサーバーに送信するプログラムだから、
ウィルス判定されたんだろうけど…


511:デフォルトの名無しさん
07/09/15 18:55:39
sageとくわ

512:デフォルトの名無しさん
07/09/15 20:28:59
>>511
sageて無いしww

513:デフォルトの名無しさん
07/09/18 22:19:16
>>510
やってる事がまんまスパイウェアじゃしょうがないんじゃなかろうか?


514:デフォルトの名無しさん
07/09/20 01:14:55
>>496
一括設定てどうやんのよ!

515:デフォルトの名無しさん
07/09/20 09:13:49
スレ違い

516:デフォルトの名無しさん
07/09/20 21:02:37
>>515とは一生すれ違いでいいや

517:デフォルトの名無しさん
07/09/20 21:13:20
で?

518:デフォルトの名無しさん
07/09/20 21:32:51
ど?

519:デフォルトの名無しさん
07/09/20 21:33:55
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |  次でボケて!!!   |
 |________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ

520:デフォルトの名無しさん
07/09/20 21:37:04
つ ボケ

521:デフォルトの名無しさん
07/09/20 22:10:01
よくできますた

522:デフォルトの名無しさん
07/09/28 20:31:52
HTAでexecWBのZOOMはできませんか?

523:デフォルトの名無しさん
07/09/28 22:03:13
出来ないことも無いけど、HTA自体の機能ではないのでスレ違いだな

524:デフォルトの名無しさん
07/09/28 22:08:15
>>523とは一生すれ違いでいいや

525:デフォルトの名無しさん
07/09/29 08:20:41
で?

526:デフォルトの名無しさん
07/09/29 22:40:46
document.execCommand("FontSize")も使えないようだし、
ieでexecWBしてからHTAを再起動するとかはどうだろ?

527:デフォルトの名無しさん
07/10/01 21:30:43
俺もhta書いてみた
自分でいうのもなんだけどいい塩梅だぜ
<html>
<head>
<hta:application
id="null"
scroll="no"
innerborder="no"
border="thick"
borderstyle="raised"
/>
<title>シェアウェア</title>
<style>
*{border:0px;margin:0px;padding:0px;height:100%;width:100%;}
</style>
</head>
<body>
<iframe id="C" src="C:/" />
</body>
</html>

528:デフォルトの名無しさん
07/10/02 08:19:13
ワロタw

529:デフォルトの名無しさん
07/10/17 17:02:59
結局HTAはこっちでやればいいのかWeb製作板でやればいいのかよくわかんね

530:デフォルトの名無しさん
07/10/20 12:20:37
Webが関係するならむこうだろう
たとえHTMLだろーとWeb無関係ならこっちの板だ

531:デフォルトの名無しさん
07/10/21 14:16:33
なるほど
クライアントであそぶだけならこっちってことか

IE7で、
DOCTYPEスイッチでstandardにしてやると、
document.body系のメソッドやプロパティが正常に取得できない
また、bodyのイベント(onloadとか)も正常に動作しない

HTAではstandardにするなってことかな

532:デフォルトの名無しさん
07/10/21 17:44:17
DOCTYPEっていじったことないんだけど
指定すべきものなの?

533:デフォルトの名無しさん
07/10/21 17:52:23
>>531
IE7のことはIE7入れてないんで知らないけど

>DOCTYPEスイッチでstandardにしてやると
standard?Strictじゃなくて?

そもそもHTAはHTML文書じゃなくてHTMLapplicationだし、
W3Cの策定した仕様に沿っているわけじゃないから(HTAの部分のコーディングで)文書型宣言するのは間違いじゃない?


534:デフォルトの名無しさん
07/10/22 10:29:55

>>531の説明だけだと
webからHTMLのソース引っ張ってきてIE7で表示(若しくはなんかほかの処理)させて、
HTAで更にゴニョゴニョして、それ(HTMLのソース)が標準準拠(スタンダード)モードだと何か不具合が出たって話しなのか
(じゃないとIE7に話しが繋がらないし)、
>>533の解説のHTAで文書型宣言の問題なのか
もよく解らないんじゃないかな、と思ったですよ。
 という訳で、もちっと詳しい説明あった方がいいんじゃね?て事で

>standard
紛らわしいから標準準拠(スタンダード)モード、後方互換モードとかの表記の方がいいんじゃね?
それと
IE7って表現も OSの種類とMSHTA.exeのバージョンとWSH 5.6とか5.7とかも併記した方がいいんじゃね?
検証するにしても問題の切り分けとか出来ないし、
検証用のソースも載せておいたら誰か検証してくれる(かもしれない

と思ったですよ まる。


535:デフォルトの名無しさん
07/10/23 17:55:53
<html><head><hta:application 省略></hta:application>
<title>情報不足でスマソ</title><script language="JScript">
function startset() {
  if((document.body.clientWidth != 640) || (document.body.clientHeight != 480)) {
    resizeTo(640, 480);
    resizeTo(1280 - document.body.clientWidth, 960 - document.body.clientHeight);
  }
}
</script></head><body onload="startset();"></body></html>


Win xp SP2 IE7
iexplore.exe 7.0.6000.16544
mshta.exe 7.0.5730.11
WSH 5.6

読み込みと同時にウィンドウの枠とかを除いたサイズを指定してやる
同環境、DOCTYPEスイッチなしでは正常に動作

たとえばコレDOCTYPEスイッチ入れて標準準拠(スタンダード)モードにしてやると
Windowサイズが変なことになる

alertでdocument.body.clientWidthみたけど『0』とのこと
また、bodyのonloadイベントにalert();を設定しても動作せず

536:デフォルトの名無しさん
07/10/23 19:00:12
既出

537:デフォルトの名無しさん
07/10/27 10:52:40
今回のはIE7の問題じゃない希ガス
URLリンク(www6.plala.or.jp)
URLリンク(www2.u-netsurf.ne.jp)
URLリンク(diaspar.jp)
既出って言われればそれまでなんだけどね。

現象は現象として
考え方は>>533さんのでいいんじゃない?

538:デフォルトの名無しさん
07/11/08 03:46:04
Webアプリケーションをデスクトップから実行する「Prism」ってどうよ?
URLリンク(labs.mozilla.com)


対抗してHTAでGoogleCalendre作ってみたよ。
<html><head><title>Google Calender</title></head>
<body style="margin:0;border:0;overflow:hidden">
<iframe style="width:100%;height:100%" src="URLリンク(www.google.com)
</body></html>


539:デフォルトの名無しさん
07/11/09 17:17:43
HTAってのを今さっき知った

540:デフォルトの名無しさん
07/11/10 01:35:00
>539
ようこそ、この忘れられた土地へ。

541:デフォルトの名無しさん
07/11/11 01:34:54
>>538
Opera側の人がblogで「それタブ無しブラウザじゃね?」なんて言ってたような。
WebRunnerは使ってみたけど、URLを指定したWebブラウザのショートカットと
同じようなもんだよなぁと思った。

HTAはどっちかっつーと、もうちょっと内側のイメージ。

542:デフォルトの名無しさん
07/11/11 15:46:59
Script Center とかScripting Guyの記事をCHMに固めたのが出てるね。
The Hey, Scripting Guy! Archive
URLリンク(www.microsoft.com)
Script Center All-in-One
URLリンク(www.microsoft.com)
今回は"Copy to Clipboard"のボタン無し。

543:デフォルトの名無しさん
07/11/12 17:52:52
そもそも>>539がどうしてHTAを知ったのかが気になる。
まず知りえる機会がほとんど無いと思うけど。

544:デフォルトの名無しさん
07/11/12 18:07:43
もはやロストテクノロジー扱いか…

545:デフォルトの名無しさん
07/11/12 21:43:26
忘れ去られた技術、廃れた技術と
失われた技術(ロストテクノロジー)は違う

とマジレスしてみる

546:デフォルトの名無しさん
07/11/13 07:28:06
えー(´・ω・`)
手軽にいろいろ作れるから、
超活用してるのに、おれ・・・。

547:デフォルトの名無しさん
07/11/13 10:38:57
これほど優れたこけおどしテクノロジはなかなか無い
最小の手間でよく分かってないお客&上司のポイントを稼げる
上手く活用しようぜ

548:デフォルトの名無しさん
07/11/13 16:26:18
技術ってやつは、古かろうが新しかろうがうまく利用したもんがちだ

549:デフォルトの名無しさん
07/11/13 18:09:39
バカにされたり過小評価されがちなHTAだけど、技術的には凄いと思うけどなぁ。
javascriptとvbscriptを併記して書けて、それを相互に呼び出せるのはちょっ
と感動。MSの技術ってだけで「バカにしとけ」って雰囲気があるけど、COMか
ら.NETまでコンピューティングの理想を追求して、それをVB並みの簡便さに落
とし込む根性は凄いよ。

あとまぁ、GUIデザインをHTMLで割り切ったのも凄い。最近流行りのウィジェッ
ト系はGUIデザインを独自のXMLにしちゃってるんだよな。そこで発生する学習
コストをあまり考慮してないというか。


550:デフォルトの名無しさん
07/11/13 21:36:18
>>549
>GUIデザインをHTMLで割り切った
これはすごく同意

だからこそ、デフォで使えるCOMにロクなのが揃ってないのが
惜しい 惜しすぎる

551:デフォルトの名無しさん
07/11/13 21:48:51
じゃあXTAだったら流行ってたんか?

552:デフォルトの名無しさん
07/11/13 21:51:28
ちょっと自分の認識と違っているようなので知っていたら教えて欲しいんだが、
HTAの出始めた時期は独自XMLを利用するようなXML乱立の状態ではなくて、
XHTMLすらも満足ではなかったのではなかろうかと思っているんだ。

で、IEのエンジンをうまいことローカルで利用できる形として生まれたのかと
考えていたんだけど、それは見当外れ?

>>550のCOMに~のくだりは同意。
あと、COMで利用できるものに関してキッチリしたマニュアルがあったら
なと思っている。今さらの話かもしれないけど。

553:デフォルトの名無しさん
07/11/13 22:09:49
つーか、そもそもCOMってのは
MSが用意した物を使わせるのではなく
ユーザーが作っていくことを前提にした技術だろ

それにMS製のCOMは主要な物は殆どリファレンス有るしね
英語だから読めないなんてのはユーザーレベルの問題だし

554:デフォルトの名無しさん
07/11/13 23:03:36
WindowsなんてOfficeが操作できれば十分じゃないのか?

555:デフォルトの名無しさん
07/11/13 23:18:05
まあそうなんだけど、ついでにほかにも色々できれば
便利だったり楽だったりするでしょ。

556:デフォルトの名無しさん
07/11/13 23:59:29
シリアルポート使いたいじゃん、やっぱ。
あと簡単なサーバプログラムのひとつも組みたいよな。

557:デフォルトの名無しさん
07/11/16 01:19:51
HTAはちょっとしたミニツールを配布するのにちょうどいいね。
以前VB6で作ってあげたらVBランタイムって何?て感じでそっから
インストールしてあげないといけないし、.NETにしてもFramework要るし、
HTAはランタイムなしで動くのがイイ!
ただ、DBに接続するパスなんか素で埋め込んだコードを配布したりなんか
したことあるけど・・・
その辺うまくやる方法ないですか?

558:デフォルトの名無しさん
07/11/16 04:56:06
HTAも使いやすいけど、AIRが(本当に)来るのなら、そっちでもいいかなと考
えてしまう。


559:デフォルトの名無しさん
07/11/16 19:30:00
AIRは多分はやらない

560:デフォルトの名無しさん
07/11/17 23:54:36
CLANNADの方が良いよな

561:デフォルトの名無しさん
07/11/18 17:08:23
いいとか悪いとか関係ないだろ
人生なんだから

562:デフォルトの名無しさん
07/11/18 19:18:13
lookmanっていう2ちゃん簡易ブラウザは今も便利に使わせてもらっています

563:デフォルトの名無しさん
07/11/28 11:47:06
うーん、AIRか。ソニー独自に拘泥しなかったのは良い判断だと思うが、これ
がAIR普及の起爆剤になり得るかどうか。

ソニー、デスクトップにWeb情報を表示するウィジェットサービス
URLリンク(headlines.yahoo.co.jp)

今回ソニーは新たに、PCのデスクトップ上にウィジェットを常駐できるアプリ
ケーション(α版)を開発。Adobeが開発中のデスクトップ実行環境「Adobe
Intergrated Runtime(AIR)」を利用することで、ユーザーは3種類のウィジェッ
トをデスクトップ上に任意に配置できる。



564:デフォルトの名無しさん
07/11/28 19:55:03
アクティブデスクトップ?

565:デフォルトの名無しさん
07/11/28 22:46:00
ルートキット入ってない?

566:デフォルトの名無しさん
07/12/08 14:24:53
社内のグループ内だけで使うような
ちょっとしたツール作るのに重宝してます。
IE入ってれば使えるのも大きい。

567:デフォルトの名無しさん
07/12/08 15:40:32
今Visual Studio 2008 Express Editionインストールしようとしたら
autorunで立ち上がったランチャがHTAだった。
中の人はまだまだ活用する気満々だな。

568:デフォルトの名無しさん
07/12/18 17:47:08
何故かリサイズ可だからレイアウトが崩れる

569:デフォルトの名無しさん
07/12/19 17:25:22
BORDERをnoneにしたら一応リサイズ不可に出来るけど他の弊害でかいしなー。
レイアウト固定出来ればもっと見栄えがするもの作れるんだけど。

570:デフォルトの名無しさん
07/12/19 17:52:28
JAVAの最初の頃ってレイアウトの抽象的さ加減に驚いたけど、そっちの方向に
なっていくのかねぇ。土台としてるHTMLも、レイアウト決め打ちの弊害も議論
の種にはなるし。

でもHTA作ってると、アプリって結局、入力窓と出力窓とボタンがあればいい
んだよなぁ、と感じてしまう。

571:デフォルトの名無しさん
07/12/19 17:52:35
BORDERをthinにしたらリサイズ不可にならないか?

572:デフォルトの名無しさん
07/12/19 19:04:27
dialogにしろ

573:デフォルトの名無しさん
07/12/19 20:13:25
VS2008expressDLISO版は最初にsetup.htaを使う

574:568
07/12/19 21:09:31
そのSetup.htaが何故かリサイズ可になっててレイアウトが崩れちゃう
ってことを言いたかったんだすまん

575:デフォルトの名無しさん
07/12/19 22:01:40
というか、間に合わせや小物作るためのHTAで見栄えとか気にすんなよ
HTAはとりあえず使えれば問題なし、それ以上を求めるならまともな言語使えって話だ

576:デフォルトの名無しさん
07/12/19 22:17:00
>570
でもさー
VB6でコントロールたんまり載せたフォームを
後からサイズ可変にしろ(当然コントロールのサイズ・位置も追随)
とか言われたら殴りたくなるよ俺はorz
Javaなり.net Windows.Formなりが心の底から羨ましくなる。
スレ違いスマソ

577:デフォルトの名無しさん
07/12/20 15:12:49
IE8のβ版が2008年前半にリリースらしいけど
IE8でのhtaの扱いはどうなるんだろうか。

578:デフォルトの名無しさん
07/12/22 20:20:13
HTAでShell.Applicationとか使って、explorerみたいなファイラにチャレンジしてみましたよ
URLリンク(www.vector.co.jp)
最新版 URLリンク(briefcase.yahoo.co.jp)

579:デフォルトの名無しさん
07/12/22 20:54:47
某スレでHTAでファイラ作るとか言ってた人がいたが本当に作る人が出てきたか。
 あれ?もしかして本n(ry

580:デフォルトの名無しさん
07/12/23 12:40:19
その人とは違いますよ。
でも思いつきとは逆に大変だったのは仮想フォルダとかZIPフォルダ、ネットワークのセキュリティ設定に対してで、いまだに収拾ついてません。
そのへんはソースみて笑ってやってください。

581:578
07/12/23 21:01:29
おー、雑誌掲載依頼がきたっ

582:デフォルトの名無しさん
07/12/23 22:56:18
>>581
はやっ!

583:デフォルトの名無しさん
08/01/03 16:49:45
現時点で足りていない、でも普通に考えたら標準的な機能を
あつめたocxをひとつこしらえて、それをデファクトスタンダード
に祭り上げれば HTAは間違いなく流行する


584:デフォルトの名無しさん
08/01/03 17:15:31
あけおめっ …もう三日か…

MSDN廻ってて見つけたんだけど
Windows Vista 以降における DHTML Editing Control の代用
URLリンク(www.microsoft.com)
HTA作成でも影響しそうなふいんき(←なぜか(ry

Vista向けには
・サードパーティ製の代用コントロールを探す
・必要な機能を <iframe> 要素とスクリプトを使用して再実装
・(HTC、ビヘイビアで代用(機能をカプセル化)// Outlook Web Access で良好
・Windows インストーラ(DHTML Editing Control と TriEdit)を取得
URLリンク(www.microsoft.com)
"まとめ"から引用
『~配布用のライセンスも取得できます。ダウンロードしたものを Windows Vista にインストールすると、コントロールやドキュメント オブジェクトは、Windows の以前のバージョンと同じように使用できます。』
みたいな感じ?Vista持ってないから判らん。

585:デフォルトの名無しさん
08/01/03 17:55:08
つかってねーよ

586:デフォルトの名無しさん
08/01/04 19:09:02

>>584
乙!

587:デフォルトの名無しさん
08/01/04 19:19:46
乙って程のもんか?

588:デフォルトの名無しさん
08/01/04 19:35:26
丙でしょうか?

589:デフォルトの名無しさん
08/01/04 20:04:41
いや、甲かも?

590:デフォルトの名無しさん
08/01/04 21:48:57


591:578
08/01/05 19:20:40
雑誌掲載2つめ!

592:デフォルトの名無しさん
08/01/05 20:49:14
そりゃネタ不足な昨今、自分で売り込めばいくらでも・・・
まあ口先では売り込みなんてしてないと言うんだろうけどw

593:デフォルトの名無しさん
08/01/05 22:48:16
おめでとう。掲載誌贈呈2冊ゲット
次は窓の杜の記事で紹介だね

594:デフォルトの名無しさん
08/01/05 22:54:36
2つというと
Windows100%
IP!
とか?

595:デフォルトの名無しさん
08/01/05 23:16:31
それじゃ悲しすぎる

596:デフォルトの名無しさん
08/01/05 23:50:10
>>583
どうせならWSHを使うときに欲しい機能も含んでほしいな。

597:578
08/01/06 01:46:42
>>594
あたりです。3月号。


598:デフォルトの名無しさん
08/01/06 18:42:58
>>583
小物ツール作るにしてもこれぐらいはほしい。
window.onmove
window.onoledropdrop

あとアイコンの表示も・・・

599:デフォルトの名無しさん
08/01/06 19:13:47
フレームワークなら海外のがいくつかあるne
jshtaframework - Google Code
URLリンク(code.google.com)
HTALite Framwork, rev b
URLリンク(www.scriptinganswers.com)
"HTA Framework Library"(計画中?)
URLリンク(www.scriptinganswers.com)
とか。ocxじゃないやつね。

600:デフォルトの名無しさん
08/01/06 20:07:43
フレームワークもあった方がいいけどそれよりも
絶望的に足りないのは 単純機能 だよね。
ネットワークソケットとかシリアルインターフェイスとか

601:デフォルトの名無しさん
08/01/06 20:28:01
その辺は問題ない
超初心者以外には

602:デフォルトの名無しさん
08/01/06 21:37:02
>>601
デファクトと呼んでも差し支えの無いお勧めのコントロールってある?

603:デフォルトの名無しさん
08/01/06 22:26:51
うん

604:603
08/01/07 00:11:34
ねーよwww

605:デフォルトの名無しさん
08/01/09 00:02:03
スクリプトでGUIが作れるってのは大きい
でもJavaScriptのサンプルがあってもVBScriptのサンプルはなぜか少ない

606:デフォルトの名無しさん
08/01/09 09:00:13
そうでもないか

607:デフォルトの名無しさん
08/01/09 10:12:54
ログファイルを読み込んで処理の結果を表示させたり、
二つのファイルを読み込んで差分を取ったり、
そういう簡素な作業には最適だよね、HTAは。

608:デフォルトの名無しさん
08/01/09 21:04:53
>>602
ネットワークは、ソケットではないけどXMLHTTPが使えると思う。
すまん、やったことないけど。

609:デフォルトの名無しさん
08/01/09 21:11:55
>>608
クライアントだけじゃなくて
HTTPサーバの機能もないと通信できないジャン!

610:デフォルトの名無しさん
08/01/10 23:45:18
(OCX/OLE/ActiveX/COM)関係情報いくつか

 Win32API を使う

Win32API.VB.NET(Windows95/98/Me / プログラミング)
"VBScriptなどからVB.NET経由でWin32APIを呼び出すCOMオブジェクト"
URLリンク(www.vector.co.jp)
-利用者(ユーザ)側でも.NET Frameworkが必要

SFC mini(WindowsNT/2000/XP/Vista / プログラミング)
"VBScript/JScriptでWin32API・構造体・コールバック関数・ウィンドウプロシージャを扱う"
URLリンク(www.vector.co.jp)

 レジストリに登録しない方法
  ClickOnce(Windows XP以降)

Registration-Free COM - COM/ActiveX
"~ COMコンポーネント(Active X DLL)も使えます。"
URLリンク(www.ailight.jp)

ClickOnce 情報のサイト - IT+
URLリンク(www.masahiko.info)

コラム - ClickOnceのファイル構成を理解する
"~ Visual Studio 2005 がなかったとしても、.NET Framework 2.0 SDK に含まれる、mage.exe を使用することによって、作成されたアプリケーションの ClickOnce 配布が可能になります。"
URLリンク(vsug.jp)


611:デフォルトの名無しさん
08/01/11 09:22:07
どちらも今更感が・・・

612:デフォルトの名無しさん
08/01/11 17:14:51
powershellでformつかえよ

613:スレタイ嫁
08/01/11 19:04:28
>>585 >>603 >>604 >>611 >>612
あぼーんするから酉つけてくれ。

>>583,602
なにか新しいアクション起こすなら2ch離れる事も考えた方がいいかもしれない。寂しい事だけど。


614:デフォルトの名無しさん
08/01/11 20:54:09
>>578
漏れが作るダサいのと違ってUIがかっこいい…

615:デフォルトの名無しさん
08/01/12 23:51:01
LANで接続された2台のXPsp2のPC(A,B)があり、
両方でHTAアプリケーションが立ち上がっているとします。
AのHTAにはボタンが配置されており、これ押下するとBの画面が変わる、
といったことを実現するソリューションはありますか?



616:デフォルトの名無しさん
08/01/13 00:16:23
あります
でもHTA分野の話ではないね
汎用的な物なのでHTAでも使えるってだけで

617:デフォルトの名無しさん
08/01/13 02:34:47
教えてください。
あれからもうすこし調べたところ、共有フォルダへの書き込みを
WMIイベントで監視する方法が使えるかなと思ったのですが、
どうもリアルタイム性に難点があるようで、行き詰まっています。



618:デフォルトの名無しさん
08/01/13 04:10:36
自分で調べてください

619:デフォルトの名無しさん
08/01/13 09:05:21
IFRAME + XMLHTTP で自己解決しそうです。

620:デフォルトの名無しさん
08/01/14 18:29:30
>共有フォルダへの書き込みを
>WMIイベントで監視する方法が使えるかなと思ったのですが、
>どうもリアルタイム性に難点が

調べ方が悪い


621:デフォルトの名無しさん
08/01/15 06:32:39
めんどくさい奴だな

622:デフォルトの名無しさん
08/01/15 13:42:01
>>620
参考にしたサンプルがWSHだったのですが、
それは単一のタスクでイベントをとろうとしたために
やむを得ずポーリングしていたということですね。
HTAコンテナの場合は新たな<script>タグを書くことで
イベントを辛苦できることがわかりましたので、
この方向で進んでみます。


623:デフォルトの名無しさん
08/01/17 00:42:19
>参考にしたサンプルがWSHだったのですが、
>それは単一のタスクでイベントをとろうとしたために
>やむを得ずポーリングしていたということですね。

何がやむを得ずだ?できるだろ、WSHで。

624:デフォルトの名無しさん
08/01/17 12:31:35
>単一のタスクでイベントをとろうとしたために
>やむを得ずポーリングしていた

すいません言い換えます。
「WSHは単一のタスクで動いている環境なので
非同期イベントがとれず、やむを得ずポーリングしていた」
というニュアンスです。
一応下記のようにExecNotificationQueryAsyncを使えばイベントがシンクできることがわかりました。

<object id="objWbemSink" classid="clsid:75718C9A-F029-11D1-A1AC-00C04FB6C223"></object>
<script language="JScript">
onload = function() {
 new ActiveXObject('WbemScripting.SWbemLocator')
  .ConnectServer()
  .ExecNotificationQueryAsync(
   objWbemSink, "SELECT * FROM __InstanceCreationEvent WITHIN 1" +
   " WHERE TargetInstance ISA 'CIM_DirectoryContainsFile' and" +
   " TargetInstance.GroupComponent= 'Win32_Directory.Name=\"c:\\\\\\\\Scripts\"'"
  );
}
</script>
<script for="objWbemSink" event="OnObjectReady(objWbemObject, objWbemAsyncContext)">
 window.alert(objWbemObject.TargetInstance.Path_ );
</script>
しかしこれでもポーリングしていることに変わりはなく、
あまりスマートな方法とは思えません。
ポーリングせずにイベントをとる方法がほかにあれば、
そちらを検討してみたいと考えています。





625:デフォルトの名無しさん
08/01/18 21:45:14
>「WSHは単一のタスクで動いている環境なので
>非同期イベントがとれず、

とれるけど?

626:デフォルトの名無しさん
08/01/18 22:32:28
ご質問です。
びへいびあ作るなら .htc と .wsc のどっちがお奨めですか?

627:デフォルトの名無しさん
08/01/20 01:19:05
htaでもconnectObjectはしたいわな

628:デフォルトの名無しさん
08/01/20 01:29:25
はぁ?

629:578
08/01/20 15:14:24
jquery.jsってスゴーなライブラリがあるんですね。
URLリンク(charupload.wordpress.com)

これ使って作り直すよ。

630:デフォルトの名無しさん
08/01/25 22:45:47
jQuery、クライアントアプリへも指向性はあるようだ
URLリンク(gihyo.jp)

631:578
08/01/26 12:47:59
テーブルのソートと右クリックメニュー(UIだけ)を入れてみました。
URLリンク(briefcase.yahoo.co.jp)

jQueryマジサイコー!


632:デフォルトの名無しさん
08/02/12 04:00:16
UAタダ漏れなのはホントどうにかならんのか

633:578
08/02/23 02:24:44
静かなので宣伝。
ドラッグドロップでファイル移動するようにした。
その他細かい操作をエクスプローラに近づけた・

634:デフォルトの名無しさん
08/02/24 00:43:05
別にどうでもいいけどな

635:デフォルトの名無しさん
08/02/24 07:01:08
>>633
jqueryをHTAで使うのって便利?
どのへんのクラスだかメソッドだかが使える?

636:デフォルトの名無しさん
08/02/24 07:16:30
ああそっか、 HTAならSkyDriveを統合できるのか

637:デフォルトの名無しさん
08/02/24 18:17:55
HTAをXHTMLで記述するメリットってありますか?

638:デフォルトの名無しさん
08/02/25 20:25:23
まずHTMLをXHTMLするメリットを考えてくれ
そしてそれがHTAで通用するかどうか

639:デフォルトの名無しさん
08/02/26 20:12:24
>>638
普通に考えるとないですよね。
ただ、578のソースとか、たまに記述してあるのを見かけるのでなんでかなと。
・・・と思ったけど、よく見るとXHTMLじゃなくて単にDOCTYPE宣言入れるのが
目的だったようですね。

640:デフォルトの名無しさん
08/02/27 00:38:07
578はxmlじゃねージャン。

ちなみにhtmlでも <hta:application> は閉じておk

641:デフォルトの名無しさん
08/02/27 13:41:15
DOCTYPE宣言を入れると窓の大きさの把握がしやすいからな。

642:578
08/02/28 23:43:32
>>635
全然使いこなせてません。
UI系は便利でしたが、レスポンスは落ちました。
>>636
統合ってhttpで?
最新版こっちにしました。
URLリンク(cid-b4b8259365d2529f.skydrive.live.com)
>>639
DOCTYPE宣言はCSSの解釈のためです。
>>641
窓の大きさを把握するうまい方法があったら教えてください。
ダサいやり方しかできてません。

643:デフォルトの名無しさん
08/02/29 14:13:25
htaでJaneの画像ビューア作ってください

644:デフォルトの名無しさん
08/02/29 23:16:28
imgタグにurl指定でFA
そのほかの細かい操作はお好みでどうぞ

645:636
08/02/29 23:20:34
>>642
うぃー。思いついてすぐ大して利便性上がらないことに気付いたのでボツ。

646:デフォルトの名無しさん
08/03/01 21:38:35
HTAが凄いって分かったけど、VBE並の開発環境ってないの?

647:デフォルトの名無しさん
08/03/01 21:52:55
1クリックで走れば十分
いいエディタを選ぶことだ

648:578
08/03/02 02:01:53
>>646
OfficeのProfessionalについてるScriptEditorならJIT有効にすればアタッチさせてデバッグできますよ。
VisualStudioならShell.Application内も参照できました。

649:デフォルトの名無しさん
08/03/02 12:03:42
メモ帳でアプリ作ってるとこにエクスタシー覚えるんだよ。

650:デフォルトの名無しさん
08/03/02 21:08:21
>>648
Thx!
VSで使えるとは・・・
それは素晴らしい


651:デフォルトの名無しさん
08/03/02 21:23:39
>649
ごめん俺サクラエディタ使ってる

652:デフォルトの名無しさん
08/03/03 13:54:34
誰かHTA開発用の伝説のIDEをつくってくれ!
HTAで

653:デフォルトの名無しさん
08/03/06 15:30:45
htaってwindow閉じるとクッキー消えるのか…?

654:デフォルトの名無しさん
08/03/06 22:55:00
期限付け忘れてないか?
XPSP2でクッキーは使えた記憶があるぞ

655:デフォルトの名無しさん
08/03/07 08:18:38
ありがとう

656:デフォルトの名無しさん
08/03/08 21:07:16
ドラッグでウィンドウ動かすサンプルある?

657:デフォルトの名無しさん
08/03/09 00:35:24
<div>とかじゃなくてウインドウ自体を動かすの?

658:デフォルトの名無しさん
08/03/09 21:24:09
試したことはないが出来そう
クリックでフラグON
mousemoveで差分取って動かす

659:デフォルトの名無しさん
08/03/10 01:26:16
URLリンク(www.stekolla.com)


660:デフォルトの名無しさん
08/03/10 12:45:53
>>656
昔、俺がした質問。
>マウスドラッグでウィンドウの移動を行いたいのですがwindow.moveBy() でアクセスが拒否されます。
>右ボタンならドラッグできるのですが左ボタンでドラッグするにはどうすればよいでしょうか?

<html>
<head>
<hta:application border="none"/>
<script>
var move = new Object();
function mouseDown() {
document.body.setCapture();
move.x = window.event.screenX;
move.y = window.event.screenY;
document.body.attachEvent("onmousemove", mouseMove);
document.body.attachEvent("onmouseup", mouseUp);
}
function mouseMove() {
window.moveBy(window.event.screenX - move.x, window.event.screenY - move.y);
move.x = window.event.screenX;
move.y = window.event.screenY;
}
function mouseUp() {
document.body.detachEvent("onmousemove", mouseMove);
document.body.detachEvent("onmouseup", mouseUp);
document.body.releaseCapture();
}
</script></head>
<body onmousedown="mouseDown()">ドラッグテスト</body></html>

661:デフォルトの名無しさん
08/03/10 12:52:37
リサイズとか移動とかするときに
左ボタン押してるとエラー出るんだよね。厄介な。

662:デフォルトの名無しさん
08/03/11 02:26:06
右クリック仕様だ。
スクロールバーだと左ボタンでもついてくるな。visitaだが。

<html><hta:application border="none" contextmenu='no'/>
<body onmousedown="mouseDown()"><div id=d>ドラッグテスト</div><body></html>
<script>
resizeTo(200,100);
d.style.height=1300;
var move = new Object();
function mouseDown() {
document.body.setCapture();
move.x = window.event.screenX;
move.y = window.event.screenY;
document.body.attachEvent("onmousemove", mouseMove);
document.body.attachEvent("onmouseup", mouseUp);
}
function mouseMove() {
try{
moveBy(window.event.screenX - move.x, window.event.screenY - move.y)
}catch(e){;}
move.x = window.event.screenX;
move.y = window.event.screenY;
}
function mouseUp() {
document.body.detachEvent("onmousemove", mouseMove);
document.body.detachEvent("onmouseup", mouseUp);
document.body.releaseCapture();
}
</script>




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch