1 :
あらかわ :
2005/08/21(日) 02:46:02
2 get
3 :
デフォルトの名無しさん :2005/08/21(日) 09:34:45
コンパネのアプリケーションの追加削除 も確かこれだよね、なにげに結構使われてる
6 :
デフォルトの名無しさん :2005/08/22(月) 10:33:44
知らんかった。
/WINDOWS/Help/Tours/WindowsMediaPlayer/wmptour.hta /Program Files/MSN/MSNCoreFiles/dwprivacy.hta Program Files; WINDOWS の中検索したけど、 これしか見つからなかった。アプリケーションの追加削除奴って何処?
appwiz.cpl
どうも。
10get
XULとHTAを比較するのって間違いでしょうか。 教えてエロい人。
13 :
デフォルトの名無しさん :2005/08/28(日) 01:25:53
誰か
>>4 を参考にWidget作れ。そして俺が使う。
14 :
デフォルトの名無しさん :2005/09/04(日) 01:31:39
これやるメリットって何
WSHに一番簡単にGUIをくっつけられる。 かな。
MS Moneyもこれ利用使ってんの?
17 :
16 :2005/09/04(日) 22:22:54
うへ
18 :
デフォルトの名無しさん :2005/09/05(月) 00:29:34
SFU入れるとすごいよ、GUI部分全部これ たしかSFU無料配布しなくなるからやりたい人お早めに
24 :
デフォルトの名無しさん :2005/09/30(金) 04:09:06
使えそうな気がするが使う気にならんのは何故
>>24 Windowsはプログラミング環境が
豊富で快適だからじゃね?
27 :
デフォルトの名無しさん :2005/09/30(金) 07:34:53
凄そうなんだけど何が出来るのかよくわからんので 実際に作られたソフトとかない?
すごい気のきいたツールだね
nlてオランダ?関係ないけどnlドメインで思い出した 治外法権、無法地帯、winnyとか裁判かけるまでもなく無罪、 ネット上の法が作られてない、市長とかが普通に割れ野郎
36 :
34 :2005/10/06(木) 12:11:03
>>37 >>4 はwidget利用者の裾野を拡げて widgetの作者が増えれば
(゚д゚)ウマー
本人乙
41 :
デフォルトの名無しさん :2005/10/23(日) 07:25:09
せっかくだからageとくか
>>44 サンプル見てみたら これってjsファイルを読み込んでそのjsファイルの中のデータを表示させてるみたいね。
本体はデータベースエンジンだから...
データ(jsファイル)作成をGUI操作の出来るHTAで、ってことなのかな?
あ、あとデータの取り出しもあるか。
(なんか、マクロ機能のあるエディタで処理出来ちゃう気もする...)
SQLが分かる人ならなんかいいアイデア出て来るかな?
# う〜ん、それにしてもイマイチ使いドコロが思い浮かばない。
>>44 ウンコだな。
function _Select (strPQuery) {
var temp = new String(strPQuery);
temp = temp.replace(/^select (.+) from (.+) where (.+) order by (.+)/gi,"this.SelectPrivate(\"$2\",\"$1\",'$3','$4')");
temp = temp.replace(/^select (.+) from (.+) where (.+)/gi,"this.SelectPrivate(\"$2\",\"$1\",'$3','')");
temp = temp.replace(/^select (.+) from (.+) order by (.+)/gi,"this.SelectPrivate(\"$2\",\"$1\",'','$3')");
temp = temp.replace(/^select (.+) from (.+)/gi,"this.SelectPrivate(\"$2\",\"$1\",'','')");
return (eval(temp));
}
しかも識別子、コメント共に英語じゃないときた。
47 :
45 :2005/10/25(火) 19:25:01
オートコンプリートを有効にしたいのですが・・・
>>49 オートコンプリートを有効にしたいのですが・・・
それだけじゃなんとも...
(深読みして)オートコンプリート機能を付加したエディタをHTAで作ってるのか..な?
どっかにそんなサンプル見た気もするが何処だったかな?
>>42 あたりから探してみた方が早いか?
>>50 いや、Googleなどで検索したキーワードとかIEが標準で覚えてくれるやつです。
自分で実装するのは・・・まんどくさい
>>53 いや、IEで有効にする方法はわかっているのですが。
HTAで有効にできないものかと・・・
>>52 一回htcで自作しようとして挫折したんですが
下手な小細工よりそういうのがいいですかね、やっぱり。
59 :
49 :2005/11/09(水) 20:51:39
>>56 それいいですね。そんな感じで簡単に機能付加できれば最高です。
それで、これHTAで使うにはどうすればいいんでしょう?
ウィンドウハンドル取得するとこからいきなり詰まりました。
何をオートコンプリートって言ってるの? 入力欄の真下で勝手に履歴がマッチングされてる機能の事? 単にフォーム内でnameかid振れば勝手になるよね <input name="q" />でグーグル履歴になれる、これの事じゃなくて?
62 :
49 :2005/11/09(水) 23:39:33
>>60 それのことです。
<form>
<input name=q>
</form>
上記で拡張子 .htm なら 履歴がでますが .hta にすると出てこなくなります。
あーもしかして、うちのPCが変なのかしら?
>>61 IEの履歴データをどうこうしたいわけではなく
HTAで作ったアプリの使いやすさをよくしたいだけです。
ご指示のサイトを回ってきます・・・
うそ?出る俺がへんなの? IE5.01sp4 mshta 5.0.3700.6699 あと関係しそうなのなんだ win2000 + msxsl3.0 だけどでる
>>67 "Perhaps in purging the vb5cce web page, ms forgot to purge the downloads."
アハハ 英語版 消えるのは時間の問題だね
71 :
50 :2005/11/10(木) 22:37:36
72 :
49 :2005/11/11(金) 01:42:19
73 :
67 :2005/11/11(金) 20:27:44
>>69 まぁ ねぇ。
VB5CCE入れるのに唯一ともいえるメリットは オブジェクトブラウザ が手に入る事、かな。
(確かActivePerl入れればオブジェクトブラウザも付いてくるんだっけ?アハハ...)
>>72 悪くないとはおもうけど、漏れの環境では del Text が効かなかったyo。
<input type="reset" value="del Text" /> じゃダメなのかな?
Vista のコンパネにある Add or Remove Programs が HTA でなくなったというのに
79 :
77 :2005/11/12(土) 23:25:51
>>78 ttp://www.microsoft.com/japan/msdn/columns/dude/dude07232001.asp 成る程 面白いネ。
でもサーバサイドでなくクライアントサイドでの技術だなぁ、と思た。IE限定だもんね。
今でもHTCなんかをweb上で使ってるサイトあるけど、
WEB標準だとか考えるとちょっと疑問感じるし。
閑話休題
自分がautocomplete.htaを使う(改造・弄る)としたら…
って考えてみたんだけど
やっぱり:
検索目的?
検索の用途?:
…例えば技術系MLや特定のBBSでの検索?
(だったら正規表現使えた方がいいのか?)
(予め自分が良く使うパターンを登録して置く?)
操作性:
表示されているテキストをダブルクリックなどのアクションで送信・検索 とか
フォーム(GUI)は?:
ここはHTAスレだからHTAで(HTAだと NAVIGABLE="yes"にすれば
HTAウィンドウ内に表示出来るし(ブラウザを余計に起動させなくて済むし))
時間がある時にでも弄ってみよかな(って放置プレイしてるモノが幾つあることか...(汗;)
なんども長文でスマソ
80 :
75 :2005/11/13(日) 10:45:49
>>78 >エディットボックス内の文字を削除するんじゃなくて
記憶している単語を削除するメソッドなんですが
あ…納得 てか勘違いしてた (汗;
前回のも今回のもちゃんと動いてます。
スマソ m(__)m
84 :
73 :2005/11/15(火) 00:30:33
86 :
79 :2005/11/15(火) 19:10:25
ここはまるで物置みたいなスレでつね
92 :
デフォルトの名無しさん :2005/12/25(日) 07:24:19
クリスマスだというのに流行らんなHTA
あけおめ
ついでに
>>39 (で紹介されてたYさん)受賞おめ
俺も一時期それをPukiwiki書式に変えて使ってたけど飽きていつしか使わなくなった
(´・ω・`)ショボーン
hta(by VBScript)で2chビューアを作っています 現在BBSMENUを(key:=タイトル, item:=URL)なDictionaryにする部分までできました なんだかんだでADODBとかXMLHTTPとか使ってるので環境依存が激しいです (V)( ´Д`)(V)
おもしろそうなの見付けた
ttp://www-sharp.com/clrhost/ "www-Sharp.ClrHost SDK includes HTA compiler as htac.exe.
It can compile HTML pages, images, video, Flash, XML
and other files into single compiled HTML application. "
"〜….Net framework (1.1 or higher is very recommended).
.Net framework is not required if .Net objects and controls
are not used and www-Sharp.ClrHost SDK is used only to produce compiled HTML applications〜…"
"〜…Use of www-Sharp.ClrHost is very easy.
All you need is to add OBJECT element in your HTML page,
set parameters with PARAM tags and use properties and methods from JScript,
VBScript or other ActiveX script language.
All www-Sharp.ClrHost elements except ClrControl
should be added in HEAD section ―
they are not visual. ClrControl should be added in BODY section as any other ActiveX control.〜…"
# レジストリ弄ってる。manifest fileがついてくる。 Freeware. ライセンスは EULA.
# 難をいえばコマンドラインからのコンパイルになること?
# GUIが欲しけりゃ2ちゃんねらだたら簡単なフロントエンドくらい自分で作るだろうから問題ないか。
get M$のInterDev使ってる
俺も100と同じ口だ 奴最高だよまじ、IEがぼこぼこ落ちなきゃ尚良し
102 :
99 :2006/02/24(金) 02:07:30
InterDevって今でいえば Visual Web Developer とかになるの? # 漏れはWebFormDesignerとかはリソースエディタみたな (GUIでフォーム作り)使い方してるだけだし。 Webアプリとかじゃないからなぁ…。多分使わないだろナ...。
ローカルで動かすだけなら InterDev や Web Developer なんてもの使わなくても Office についてくる Script Editor だけでも充分にデバッグできると思う でもいまや VS2005 Exp は無料になったから素直に VS 使った方がいいんだろうけど
てるてる坊主はHTAさんを愛していました。
雨音キター
106 :
デフォルトの名無しさん :2006/03/24(金) 17:49:45
htaってヘルプファイルみたいに画像とかも自動で組み込んでくれればいいんだけどな
107 :
99 :2006/03/24(金) 19:04:51
>>103 Office についてくる Script Editor だけでも充分にデバッグできると思う
MSEですか...自分、office 持ってないス...。
フリーで デバッグの環境なら
WSH editor
http://www.vector.co.jp/soft/win95/prog/se084701.html あたりが有名なんですかね?
自分はそれほど込み入ったコード書かないもんで実際に走らせてエラー表示から追っていって...
で間に合ってたんで いままで無頓着でしたネ。 う〜ん...VSの導入、考えてみよかな。
# チラシの裏
DanProgrammer 、日本語 化けたデス。
/* VBS→EXEファイル生成がウリの一つみたいだけど、ウチの環境ではエラー。
次のバージョンで修正されるらしいですが。
日本製でおんなじ機能のソフトがあるんでそっちを選ぶべきでスネ。
HTAスレなんでチラシの裏にしてもこれ以上は怒られるのでこの辺で。 */
111 :
99 :2006/05/08(月) 21:48:21
お邪魔しマス
>>107 へ自己レス
デバッグ機能がつく前に"WSH editor"って開発 途中で終わってたんですね...
代わり でもないですが 使える、と思えるエディタ見付けたので
>>107 を自分でフォロー ...
Vbsedit
ttp://www.adersoft.com./ シェアウエア(製品版?)なんですが、評価版としてならそのまま使えるようです。
価格 : Single user license - $49.00
"The evaluation version never expires. The only restrictions are related to the debugger. "
機械翻訳:
"評価版は、決して期限切れになりません。唯一の規制は、デバッガーに関連があります。"
起動時とデバッグ時に登録を促すダイアログが出て来ますが、それ以外は問題なく使えてます。
日本語も通るのでコメントも文字化けしませんでした。
自分は Visual Web Developerを入れた後なのでMicrosoft Script Debuggerを入れる訳にいかず連携等使い心地を試してませんが
それ以外にWindows Script 5.6 ドキュメント(script56.chm)でワンキーヘルプ、コードスニペット、オートコンプリート等々、
一応機能は揃ってると思いますし、サンプルスクリプトも結構豊富です。
お邪魔しまシタ
こういうのが出てた
HTABOX(エイチティーエーボックス)
http://www.vector.co.jp/soft/winnt/util/se400306.html HTMLやHTAをEXE形式で配布にするボックス
…って これって
>>29 で紹介されてたサイトの人なのね
VBScript/JScriptをExeファイルにするツールなら既にあるけど
HTAのは初めて?
今のところ、
アプリの外部ツールとかで実行ファイルじゃないと登録出来ない場合とか、
それくらいしか使い道が思いつかないけど。
「…〜EXE形式で配布にするボックス」 "配布"する場合ならアリか。
114 :
hidebou :2006/05/21(日) 20:19:37
>>114 俺、ファイルシステムのフィルタードライバーのコード書いたことあるけど、
そーゆー類のもの使われるとどんなに頑張ってもファイルに展開する以上はソース見られちゃうよ。
116 :
hidebou :2006/05/22(月) 00:49:40
一時的にソースを置くというのは「完全に隠す」とは程遠い状態なのは承知しています。 でも見えにくくすることは製作者の権利を守る点で重要だと考えています。この程度の ことでもエンコードされたファイルを置き続けるよりは見れる人が限定されるかと。 ローダーとしてコンパクトなHTAを実行させnamedpipeで本体を送るバージョンもテスト が完了しました。パイプ名を予測不能なものにすればファイルよりは見えにくくなる はずです。
>>116 権利を守る(何権?)のにはそれほど役に立つとも思えないけれど
きたないソースを見られるのがイヤな時には役に立ちそう♪
どうせなら外部css,js,画像ファイルなんかもexe内に埋め込めたら
アプリケーションの配布が楽になっていいかも。
>>113 > Delphiみたいに
どっちかっていうとwxwidgets(wxWindows)での
wxGladeみたいのの方がイメージとしては近い希ガス。
どっちにしても例えとしては強引過ぎる気はするけど。
>WebFormDesignerの機能を膨らましたような
それならWYSIWYGなHTMLエディタで代用出来るんじゃ?
じゃなければそれこそ
>>57-58 みたいに自作するとか。
> ちょっと妄想してみた。反省はしてない。
… (´・ω・`)
// 久々に詳しい人達が来てスレが盛り上がるかな?
119 :
113 :2006/05/23(火) 18:34:27
>>118 HTML文書作成では敬遠されがち?な『WYSIWYGなHTMLエディタ』
でもHTAなら問題ない?訳だ。成る程ね。
てか気が付よ自分…。
120 :
hidebou :2006/05/26(金) 21:55:20
なんつーか、物凄く惜しいって感じだよな ダッシュボードの元祖なんだろうけど普及せんかった でもアプリケーションの追加と削除とか VS.NETの一部の画面でこれ使ってるんだよね?
WEBコントロールならそこらじゅうで使われているが
それをHTAとは呼べないね。
>>121 アプリケーションの追加と削除は .NET 関係ないような気がするが
スレタイスレタイ。関係してる箇所が違う。
124 :
117 :2006/05/28(日) 15:48:59
>>120 外部ファイルの埋め込みに対応予定ならかなり期待して待っておきます…
昔作ったのがリソースにファイルぶち込んで mshta.exe "res://自分.exe/main.hta" を実行するだけのもの。 画像やcssなんかは問題なく使えるけど TDCやフラッシュなどがうまく動かなかった。 あと、サブフォルダがつかえねーw
127 :
125 :2006/06/05(月) 20:48:56
ちょっ、変なスレに勝手に転載スンナよwww
>>120 なんていうか、要望でもないし、bug報告でもないんですが、
ちょっと気づいた事。
今のヴァージョンでは生成したexeファイルにはD&Dの機能がなくなるんですね。
ほかのscript→exeのツールではD&Dが機能していたのでちょっと気になりました。
/* ここ、過疎ってるからこの程度のカキコミは 大丈夫かな?
目障りだったらスマソ */
>>129 そのwww-Sharp.ClrHost HTA compiler(htac.exe)っていうのは
MS HTML help (.chm)のレンダリングエンジンを利用してレンダリングをして、
(この過程で複数のファイルを一つにしているのか??)
それを .Net framework でexeにして、実行時にはmshta.exeを利用する、って解釈であってる?
なんか、よく判らなひ…。
(そういえばVBScriptを .Netでexeにするのは たしか Vectorで見たっけ。)
拡張子を exe に書き換えれば実行ファイルになる・・・ そんなふうに考えていた時期g(ry
>>130 > MS HTML help (.chm)のレンダリングエンジンを利用してレンダリングをして、
(この過程で複数のファイルを一つにしているのか??)
>>129 の元記事から -
"Recognized features: www-Sharp.ClrHost HTA compiler does not have rendering
engine, it uses IE - the same engine as used by MS HTML help files (.chm)."
機械翻訳 -
"認められた特徴:wwwSharp.ClrHost HTAコンパイラにはレンダリングエンジンがありません、
それはIEを使用します - MS HTMLヘルプファイル(.chm)によって使うのと同じエンジン。"
現物を確認した訳じゃないけど、多分 MSHTML(Mshtml.dll)の事じゃないのかな?
例えとして MS HTML help files (.chm)を持ってきただけで、直接関係は無いように見えるけど。
// エロイ人、誰か人柱になってレポしてみません?
133 :
132 :2006/06/10(土) 18:29:35
× → 多分 MSHTML(Mshtml.dll)の事じゃないのかな? ○ → 多分 MSHTML(Mshtml.dll)の事をいっているんじゃないのかな? 確認した訳じゃないので。 どの道、あの元記事は当てにしなくていいんじゃないかな、と思う。 ヘルプやreadmeを読めば済むだろうし。
.batだとドラッグ&ドロップで引数を渡せる。 これを利用して.htaに引数を渡すサンプルを作ってみた。 レス上でのインデントのためタブを全角スペース2文字に置換してる。 --[サンプル.hta.bat]------------------------------ rem [[remove_tag]] <!-- .htaのままだとドラッグ&ドロップで引数を渡せないのでbatを利用する。 start mshta.exe %0 %* exit /b 0 --> <html> <head> <hta:application id="app"/> <script type="text/javascript"> function ev_onload(){ //1行目のコメント行を消す for(var node=document.body.firstChild; node!=null; node=node.nextSibling){ var s = node.nodeValue; if(typeof(s)=="string" && 0<=s.indexOf("[[remov"+"e_tag]]")) { node.nodeValue = ""; break; } } //コマンドラインを取得 document.getElementById("cmd_line").value = app.commandLine; } </script> </head> <body onload="ev_onload()" style="margin:5px;"> コマンドライン<br> <input type="text" id="cmd_line" size="150" value=""><br> </body> </html>
>>132 エロい人じゃなくて悪いんだけど、前にいれた事があるんだな。
エロくないから、レポは遠慮しておくんだな。
>>130 *.exeじゃ無かったな、確か。独自形式の*.wsits だったな、確か。
137 :
デフォルトの名無しさん :2006/06/12(月) 12:55:13
質問です。 フレームで縦分割して左はメニュー右はメニューから呼び出されたHTAファイルを表示したいのですがうまくいきません。 メニューの項目はa hrefでリンクにしてます。 フレームの定義でメニュー用ソースにHTAファイルを指定した場合の問題点 ・別ウィンドウに表示されてしまう ・HTAファイルを実行するかというセキュリティの警告が出る 回避方法はありますか? それでメニュー用のソースをHTMLファイルに変更してみました。 問題なくメニューは指定のターゲットに表示されます メニューからリンクをクリックすると同じようにセキュリティの警告が出て別ウィンドウに表示されます 根本的に間違ってるのでしょうか? いい方法を知ってる方教えてください
<FRAME SRC="filename.htm" APPLICATION="yes">
140 :
hidebou :2006/06/16(金) 15:49:06
141 :
hidebou :2006/06/16(金) 16:49:33
>>128 「生成されたEXEへのドロップをHTAへの引数に」というのは気づいていませんでした。
もちろんそうすべきですよね。教えていただいてありがとう。
143 :
hidebou :2006/06/22(木) 13:26:36
>>142 HTAへの直接ドロップに関しては回答するほどの知識を持っていませんが、改めて
XP SP2で実験してみると、ドロップファイルを引数とは認識していないようです。
レジストリを書き換えてそれを有効にする方法があるようですが、試したことは
ありません。
HTABOX3.00はEXEですので、ドロップされたファイルを引き数として認識します。
この文字列を子プロセスとして実行するHTAへ文字列として渡すのでレジストリ
を書き換えずにHTAへドロップファイルのパスを渡せます。
144 :
hidebou :2006/06/22(木) 16:24:25
追記です。 HTAアプリケーションとして既に開いているウインドウへのドロップと起動時の 引数としてのドロップがごっちゃになった発言をしてしまったかも知れません。 起動時の引数としてのドロップならばOSに関わらず134の例のように何らかの 細工がないとできないと思います。
145 :
hidebou :2006/06/23(金) 20:52:40
HTABOXにHTAを入れて実行した場合、生成されたEXEがHTAと同一なフォルダに必ず 存在している事になります。EXEの方はHTAが実体化されると何の仕事もしていない のですが、HTAからパイプ経由で呼び出されるサービスルーチンを持っていたら、今 まで煩雑なコーディングが必要だった部分をスマートに記述できるかもしれません。 具体的には 「生成.EXE コマンド 引数」をHTAから実行して用意されたWIN32APIの 結果をその標準入出力を利用して取得するものです。(生成.EXEは非表示実行) 例えばEXEがファイルのバイナリデータをパイプしてHTAは16進文字列として入出力 できるというのを手始めに用意しようと思っています。私はHTA歴が浅いので発想が 貧困なのですが、こんなサービスルーチンがあったらというご意見をいただければ 可能な限り実現してゆきたいと考えています。
HTAのD&Dといえば、
>>39 ,142でもお馴染みのYさん作「Clipboard.HTA」の方法もある。
環境依存?そんなん知らねーよって方に。
147 :
142 :2006/06/24(土) 12:07:49
htabox 自分だけが例外なのか起動時に一瞬エラーメッセージちらつかん? メッセージが疾風のように現れて疾風のように去ってゆく 利用には困らないんだけど何て書いてあるのか読めなくて気になる 再現手順、htaboxで作ったexeをデスクトップにおきダブルクリック。 2つ目以降の起動では出ない、キーボード操作での起動だと出ない、 英語圏なパスに置けばダブルクリックでも出ない os2kのie5sp4を使ってて動体視力に自信ある人は試してくれないか?
149 :
hidebou :2006/06/24(土) 21:53:22
起動時のエラーメッセージということですが、大変興味があります。場合によって は問題解決用にワンステップづつ動作を停止するバージョンを用意します。 c:\日本語 というフォルダでテストしていますが、症状が再現できていません。 よろしかったら具体的なフォルダ名を教えていただけないでしょうか。
150 :
hidebou :2006/06/24(土) 22:16:15
追記 一つ思い当たるのはMSHTA.EXEのプロセスメモリを読むためにMSHTAを一度実体化 させる必要があるんですが、ここでmshtaにalertダイアログを表示させメモリ 確認後ターミネイトしています。ここのalertダイアログが一瞬見えてしまっている のかもしれません。ディスクキャッシュがきく2回目からは動作がスムーズになる ので気にならないというのもありそうな話です。この部分は改良の余地があると認識 しておりましたので対策を行いたいと思います。
151 :
hidebou :2006/06/24(土) 22:38:09
152 :
hidebou :2006/06/24(土) 23:20:24
単にalert()をやめると空のHTAウインドウが目立つのでプロセス生成時にウインドウ 非表示を指定するようにしました。本当ははじめっからそうすべきだったんですけど 動くと興味を失って細かいチューニングをやらないというのが私の欠点なのです。 これで気になるメッセージが見えなければいいのですが。
上のは関係ない情報だきっと!まざっちった!失礼 いろいろなソースでやって見たけどなんかの規則で出るのは出る 的外れかもしれないけど出るパターンのソースにだけ含まれてた怪しげな部分 css { behavior: url(#default#download); } document.cookie <iframe /> どれか入れると出るかも?いまいちわかんない。お騒がせしました
155 :
hidebou :2006/06/25(日) 02:11:54
>>153 mshta確認のための処理は mshta.exe javascript: を行い、実体化したところで
メモリを読みターミネイトしています。ちなみにDOS窓から上記コマンドは実行できる
でしょうか?。そこのエラーではないとすると次の本体起動時になるわけですが、
これもBOXに入れない状態でDOS窓からコマンド起動してみたら何かつかめないで
しょうか。それと、もしCGIが記録した
JST2006-06-25-00:26:58Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
がアクセスしていただいたログだとしたらIEのバージョン問題かもしれません。
ご迷惑をおかけします。
>>155 mshta.exeを差し替えることが出来るユーザ相手に
この程度の隠蔽はほとんど役に立たないんだから
プロセスメモリ解析なんて意味ないじゃん。
どうしてもmshta.exeをチェックしたいならMD5とか使えば?
TerminateProcessにしたって出来るだけ使うなってなってるはずだし。
157 :
hidebou :2006/06/25(日) 08:47:42
ドロップされたHTML、HTAのスクリプトコードをNamedPipeでやりとりする事 もできます。ただPC内で行われていることですので何かをまったく隠すというのは 無理なのですが、見る気をおこさせない、面倒だという状態をつくります。 もちろん、次期バージョンではドロップしたユーザーがmshtaのチェックやファイル の消去などの動作を選択できるようにすべきですよね。
>>157 隠蔽されたファイル、スクリプトを取り出そうとする場合
mshta.exeを差し替えたりAPI弄ったりしないってこと。
もっと簡単な方法がある。NapedPipe使ってあっても同じ。
mshta.exeを差し替えるスキルがあるユーザなら当然そっちの方法を使うでしょ。
だからmshta.exeチェックのために特定のバージョンに依存したり、
TerminateProcessするといった暴挙はデメリットでしかないよ。
自分の駐車場に勝手に車を止められたくないからって
隣の駐車場にチェーンをはってる感じ。意味無し。
159 :
hidebou :2006/06/25(日) 17:34:43
ご意見は真摯に受け止めます。
M$ってば
>>19 "HTA Helpomatic"なんてユーザーにばら撒いておいて…
(あまりひろまってないみたいだけど)
もしかしてHTAでプログラミング初心者ユーザーを慣らしておいて
Gadgetsへの誘導が目的だったとか?
考えすぎ?
MacとかFireFoxでもやってるから、そのマネだよ。 UIを「HTMLで」ってのは、入り口は簡単だがこだわるとかなりメンドクサそう。 得意の独自拡張をさらに追加するのかな。
HTABOXの対抗馬?
eBook Maestro FREE
ttp://www.ebookmaestro.com/features.html Supporting any files.
You can include absolutely any files into your eBooks:
HTML pages, Graphic Files, Java Scripts, VB Scripts,
Cascade Style Sheets, Flash Files, Shockwave Files,
ActiveX Files, Sound Files, Video Files, Java Applets, etc.
Supporting all character sets.
You can create eBooks written in any languages with any character sets.
Full Windows Script Host (WSH) support.
You can use the entire range of WSH and Microsoft object features in your eBooks.
For example, you can use Scripting.FileSystemObject to work with files/directories,
Microsoft.XMLDOM to open/save/manage XML data, etc.
HTML HELPっぽいつくり。
Free版にはステータスバーにebookmaestro.comのURLが出るけど。
>>164 全くコンセプトの違うものに見えるのだが・・・
167 :
162 :2006/06/27(火) 18:20:59
>>163 CSS3になれば色々出来るようになるだろうし、
これ以上HTMLの独自拡張は増やさないんじゃないですかね?
M$、前にこれ以上独自拡張は増やさない、って発表してなかったかしらん?
↑記憶が定かでナイデス
>167 M$には舌が1024枚ありますから
169 :
デフォルトの名無しさん :2006/06/28(水) 02:23:07
独自拡張はdocument.allだけでもうたくさん。
170 :
162 :2006/06/28(水) 18:04:08
171 :
デフォルトの名無しさん :2006/06/28(水) 20:36:29
こんな素敵なスレが。
HTAって、Windows(
>>7 )の中でも使ってたのね。
>155 おーーすげーー! mshta javascript:でエラー出る。メッセージは インターネットサイト: javascript: を開けません。 操作は中断されました。 です。 mshta javascript:alert("aaaa"); こうしたらエラーがとまって読めた、 もろこれだ!すっきりした。これおもしろいね機能するのにIEいかつい
>>171 同感
『流行らせるスレ』だからか参考リンクが多いから
リンク先見て回るだけでも面白い
コマンドラインヘルプの奴はまじですごいな。
>>39 のvectorのプロセス操る奴もなかなか。ここまでできるかHTA。
いや、すごいのはShell.Applicationか?
Yahoo! WidgetsとMozillaのXULは、タグを覚えんの面倒くさいんで流行らないでしょ。
「スタンドアロン型リッチクライアント」という捉え方は間違いではないと思います。 以下は個人的な意見ですが HTAでそれ(スタンドアロン型リッチクライアント) を前面に打ち出すのはちょっとキツイかな、とも感じます。 無理やり料理で例えて HTA以外の「スタンドアロン型リッチクライアント」を濃い味付けの料理だとすれば HTAは「豆腐」のように他の素材や料理と組み合わせたり 色々な使い方が出来るんだ、というようなアピールの方がいいんじゃないかと。 適当な例えが浮かばなくて。判りづらい文章ですいません。 どの道、「スタンドアロン型リッチクライアント」も 淘汰が始まっていくんじゃないか、と思いますし。 # 「利用者の生産性維持/向上」「Experience性の重視」といった考え方は有用だと思います。
社員さん乙
179 :
デフォルトの名無しさん :2006/07/01(土) 13:07:02
HTAってIE7の影響を度の程度受けるんですか?
181 :
175 :2006/07/02(日) 23:39:56
>>180 >
>>32 の "Cmd Help Wrapper" ですか?
そうそれそれ。グーグルのキャッシュでみたよ。
182 :
175 :2006/07/02(日) 23:46:22
184 :
hidebou :2006/07/04(火) 18:50:12
explorerのドロップハンドラがファイルの中身まで見ることは無い気がするけど・・・。 基本的には拡張子のShellEx(レジストリ)にDropHandlerが設定されているかどうかだよ。
187 :
185 :2006/07/06(木) 00:25:20
>>186 レス有難うございます。
DropHandler は確認済みでした。分かりづらい文章ですいません。
>>142 のカキコミ
" 参考 -
ImagePad.HTA
http://www.vector.co.jp/soft/win95/art/se306366.html 「Windows XP SP2より前は、HTAファイルにアイコンはなく、
ドロップも使えません。」
Win XP SP2 ではそういう配慮は不要…でいいんですよね?"
という風に確認がしたかったんですが、その後
XP SP2 でD&Dが出来なかった(引数を認識ない)というレスがあり
その原因が知りたかったので色々調べていました。
紛らわしいカキコミで失礼しました。
Windows XP SP2でのHTAアイコンへのドロップでは
HTAアプリにID属性を付けておくことが必要、
こちらでも実験してみた。
こちらの環境 Windows XP SP2,IE6
通常のドロップのほかに
SendToに置いたショートカットへのドロップの有効も確認
>>187 GJ
とりあえず HTAアプリにはID属性をつけておこう、ということで FA?
189 :
188 :2006/07/07(金) 07:35:43
>>188 自己レス
うわっ 朝になって読み返してみると表現がちょっとおかしく思えてきた
HTA:APPLICATIONタグにはID属性を もしくは
HTAアプリにはIDを振っておこう
の方がいいのか?
191 :
189 :2006/07/07(金) 21:04:14
>>190 >用語の使い方で
"HTA:APPLICATIONタグ"ってあたり?ちょっと修正&加筆してみた
* Win XP SP2 では レジストリ
htafile\DefaultIcon と
htafile\ShellEx\DropHandler がデフォルトで設定済。
HTAアプリケーションのアイコン、ショートカットへファイルをドロップして
ファイル名を 引数に渡すには
<HTA:APPLICATION>要素にID属性の設定が必要
Win XP SP2 以前のWin OSではレジストリの編集か
>>134 氏、
>>146 氏の様な工夫が必要
** Win XP SP2 以前のWin OSでレジストリの編集を手軽に済ませたいなら
>>142 氏が紹介されている
ImagePad.HTA
http://www.vector.co.jp/soft/win95/art/se306366.html にレジストリ結合用のhtafile.REGファイルが同梱されているので利用させて貰う
こんな感じでどうだろう?どこか問題ありならツッコミ、修正よろしく
htaってのはどーいった実行ファイルがどんな順番で起動されてるの?
HTAをもっと流行らせる計画 レス:192 件|得点:0|一日のレス:1 件/日|スレ年齢:321 日|予想寿命:1351 日 余命4年か...
できないし、する必要もない。
htaに特化したものであれば良いんだけど、 どうしてもhtml+wshになるしね・・・。
200 :
198 :2006/07/22(土) 21:47:41
たま〜に来て てきと〜に情報投げて、じゃやっぱり迷惑だよね…。 今までよく怒られなかったヨ。 過疎ってたせいもあるんだろうけど。 …これからは控えますです。
いや、迷惑じゃないと思うよ。
202 :
198 :2006/07/23(日) 13:34:53
203 :
デフォルトの名無しさん :2006/07/25(火) 20:12:28
204 :
デフォルトの名無しさん :2006/07/25(火) 22:44:06
これ解けたら神だよ!! hjuus htuuuiu4548""hh $%%458koiut #hdifhkla'' さあこのプログラムがわかるかな?
205 :
デフォルトの名無しさん :2006/07/27(木) 22:22:19
ヤバイ、MSの日本法人にちょっと萌えたw
>>208 MSの日本法人には日本人向けにドジっ娘属性が付けてあります♪
生意気な hta みかけたぜ <script> (new ActiveXObject("WScript.Shell")).SendKeys("^{ESC}{UP}~~"); </script>
HTAバカにしてきたけど、本格的なプログラムっぽい外観にできてかなりイイ!
自分のサーバー上に置いている自作のxxx.htaの中で、 <OBJECT CLASSID=clsid:38EE5CEE-4B62-11D3-854F-00A0C9C898E7 ID=DVD STYLE="height:420px; width:560px"> というMicrosoftのActiveXを読み込ますようにしています。 これの影響なのか、xxx.htaをダウンロードしようとしても、上記のActiveX が正常に機能しません。私のサーバーのURLをIEの設定で「信頼するサイト」 に登録すると、正常に機能します。 htaのウリは、「ブラウザから解き放たれた」はずです。IEのセキュリティに から解放する方法はございますでしょうか?(いちいち、ユーザーに私の サイトを「信頼するサイト」に登録するようにお願いするのは面倒です。)
そんなの出来たら、ウイルスばら撒くのに便利すぎる。 リモートで実行できる以上、なんらかのセキュリティは必須だから 「IEのセキュリティ」から解放されても「htaのセキュリティ」が必要になる。 無駄だから統合してあるだけのこと。
>>214 「ブラウザから解き放たれた」ってのはつまり普通の exe アプリケーションと
同じ扱いするってことで… .hta ファイルをローカルに保存して実行してくれってことでわ?
>>216 , 215
コメントありがとうございます。
> .hta ファイルをローカルに保存して実行してくれってことでわ?
明日試してみますが、ユーザーが自分のパソコンに「ローカルに保存」して私のhtaを
実行する」場合にも、そのユーザーはまず、私のサーバーを「信頼するサイト」と
してIEで登録しないと、214のようはhtaは実行できないのではありませんか?
もう1つ教えていただきたい点がございます。htaを開発しているWindows XPパソコ
ンには、Visual Studio 2005をインストールしていいて、htaにバグが発生すると、
自動的にVisual Studio 2005が立ち上がります。Visual Studioは便利なので、これで
初めからhtaを開発できたら便利だと思うのですが、可能でしょうか? 現在は、
エディターでhtaを書いています。
>>134 このbatがすごく自分のやりたい事に近いのですが、
batとJavaScriptにうとい為、いまいちどういう仕組みで
機能しているのか理解できません。
やっとこ調べて、%0がbatのパスを指すらしいことは分かったのですが
%* と s.indexOf("[[remov"+"e_tag]]") が良くわかりません。
vbsでいうところの、
For Each DropFile in Wscript.Arguments
MsgBox DropFile
Next
みたいにするには、どこを書きかえればいいのでしょうか?
>218 まぁ、ぶっちゃけ肝は > //コマンドラインを取得 > document.getElementById("cmd_line").value = app.commandLine; ここなんだけどね。 var cmdline = app.commandLine; var args = cmdline.split(/\s+/); for (var i = 0; i < args.length; ++i) { window.alert(args[i]); } ってすれば「vbsでいうところの〜」のよーなことになる。 (split()で単純に空白で区切ってるから空白入ったパスは寸断してしまうが。サンプルコードなんでカンベソ) ちなみに、バッチファイルの「%*」は「バッチファイルに与えられた引数全部」。 (バッチの中でshiftコマンド使うと話が変わってくるがそれはおいとく) 「s.indexOf("[[remov"+"e_tag]]")」は"[[remove_tag]]"という文字列が含まれてるかの検査 (vbsならInStr(s, "[[remov"&"e_tag]]")だな)だが DOMで全文書パースしてるからそこを"[[remove_tag]]"と書いてしまうとその部分も引っかかってわやになるので そう書いている。
220 :
218 :2006/08/10(木) 22:43:43
>>219 親切丁寧なScripting Guyに惚れそうです。本当に感謝です。
甘えてばっかもアレなんで、冗長っぽいコードですがVBS仕様にしてみました。
>>134 氏同様にインデントは全角スペースになっています。
Sub window_onLoad
Dim arg,FindCnt,StartCnt,FilePath,fso
'----- 一番上のコメント削除(完全流用) -----
For Each n in Document.body.Childnodes
If typename(n.nodeValue)="String" and 0 < inStr(n.nodeValue,"[[remov" & "e_tag]]") then n.nodeValue=""
Next
'----- CommandLineを整形 ------
arg = Replace(app.commandLine ,Chr(34) & Split(app.commandLine,"""")(1) & Chr(34) & " ", "") '自身のパス削除
StartCnt=1
Set fso = CreateObject("Scripting.FileSystemObject")
'スタート地点が文字数を超えない限りループ
Do While StartCnt < Len(arg)
'最初の文字が「"」かどうかで分岐(「"」で始まる場合は、パスの間に空白がある)
If Mid(arg, StartCnt, 1) = Chr(34) Then
FindCnt = InStr(StartCnt + 1, arg, chr(34))'パスの終わりの「"」を探す
FilePath = Mid(arg, StartCnt + 1, FindCnt - (StartCnt + 1))'パスの抽出
StartCnt = FindCnt + 2'スタート箇所を次のパスの頭へずらす
Else
FindCnt = InStr(StartCnt, arg, " ")'パスの区切りである「 」を探す
FilePath = Mid(arg, StartCnt, FindCnt - StartCnt)'パスの抽出
StartCnt = FindCnt + 1'スタート箇所を次のパスの頭へずらす
End If
Msgbox FilePath & vbNewLine & "Exists:" & fso.FileExists(FilePath)'抽出パスの確認
Loop
Set fso = Nothing
End Sub
221 :
218 :2006/08/10(木) 22:54:11
今さら真面目に
>>134 見てみたけど、面白いねこれ。
まず、拡張子は .bat だから基本的にこれはバッチファイル。
だから引数を %* で食えるんだね。
バッチだったら "<html>" 以下は文法エラーじゃないかと一見思えるが、
その2行上でexit してる。バッチはインタプリタなので exit 以下は無視
されるので問題ない。ふむふむ。
で、このバッチが何をしているかというと、自分自身を mshta.exe の引数
に渡してる。(2行目)
ここでこのファイルは HTAファイルとして mshta.exe に評価されることに
なる。
じゃー今度は <html> より上の部分が文字列として表示されてしまうじゃん
かというと、これはこれで<html>より上はしっかり HTML 的にコメントアウト
されてる。なるほど!
いやいや待ちたまえ、rem [[remove_tag]] はコメントアウトされてないじゃ
ないか。その通り。
そのために ev_onload() で「"[[remove_tag]]" という文字列を含むノード
は中身を空にする」って作業を入れてるわけだ。おもしろ〜い。
そこで
>>134 氏に2つ質問。
・数行前にはああ書いたけど、本当は前半の <!-- --> はオマケだよね?
<html>より上は1つのTextノードになるから、どっちみち ev_onload() で
除去される。
・"[[remov"+"e_tag]]" は必要なの?<script>はElementノードだから
nodeValue は null。影響ないんじゃない?
×ボタンが押された場合の処理ってjavascriptでどう検出して書けばいいんでしょうか… onunloadに書くと全てのウィンドウを閉じる操作をした場合に実行されてしまうので。 HTAでは×ボタンを表示しないようにするしかないのでしょうか。
自己レス フラグ立てれば済む話という単純なことに気づきませんでした…スマソ。
んがー、HTA+VBScriptでSleepは使えないのか。 ループの中でテキストボックスの中身変更しても反映されないorz
どうしても分からないんで助言をお願いしまっす HTAでIEのツール→インターネットオプションの詳細設定の 一番下の「背景とイメージを印刷する」を オン・オフするにはどうすれば良いでしょうか? 色々調べたんですが、探しかたが悪いのか全く情報が見つかりません。 どうか宜しくお願いします
>>228 \HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Print_Background
230 :
228 :2006/08/24(木) 14:37:01
>>229 素早い返事ありがとです。やっぱレジストリをいじいじするんですね。
こう言うキーの探し方ってコツとかあるですかね?
あと一つだけ質問です。
職場で動かそうとするとノートンに怒られ、
最終的には管理者に怒られてしまうので
レジストリとか手をだしたことがないんですけど
コレは大丈夫でしょうか?
質問ばっかりで申し訳ないんですが、宜しくお願いします
>>231 HTAだとSCRIPTがVBの時もあるのだけどそういうのをexeにするコンバータとか売ってる?
単純にexeにするのなら
>>98 のがある。
VB.NETや他の.NET対応言語で書き直すもよし。
235 :
228 :2006/08/24(木) 23:01:01
>>231 なるほど眺め続ければいーんですね。
ってキーの数とか半端ないんですけど…
んで、HTAの件ですがレジストリの読み込みは普通にできました。
ただレジストリを変更すると流石に反応するんじゃないかな?
と思ってるんでチャレンジしてません。
ノートンの知識がないんで、何に反応されるか戦々恐々なんですよ…
exeはただのjscriptでも可能なら考えてみたいです
>>232 大変かもしれません。
一度引っ掛かって、管理者の方がスットンできた経験あります。
原因がわかってるならいーけど?みたいな事を言われ軽く睨まれました。
引っ掛かった瞬間パニくって、速攻で丸ごと削除ったから
原因なんて分かる訳ないじゃん?とはチキンなんでいえませんでした。
>>235 手動でIEの[ツール]の[オプション]を変更して反応しなければ
他のプログラムでレジストリの該当部分を変更しても大丈夫だと
思うけど。
レジストリを変更したプログラムを一々監視してたとしたら別ですが。
>>234 ,237
ありがとう。
しかし同じ動作するのにexeだとOKでhtaじゃ嫌と言う社内の空気がワカラン orz
アイコンつけられるかつけられないかの違いだったらモットワカラン orz
ノートン先生ってHTAには警告出すけど EXEはスルーするよね。
>>134 >>222 もっと簡単に、
@START MSHTA.EXE "%~f0" %*
@GOTO :EOF
<script language=vbscript>document.body.innerText=""</script>
<html>
〜略〜
更に、#!行みたいに、1行で、
@START MSHTA.EXE "%~f0" %* & GOTO :EOF & REM <script language=vbscript>document.body.innerText=""</script>
<html>
〜略〜
>>117 >>120 >>125 HTMLならMHTMLでひとつに纏められます。
そこで、まずhoge.HTAをhoge.HTMに変えて、IEで開き、MHTMLで保存します。
MSHTA.EXE %CD%\hoge.mht
とやっても駄目ですが、
MSHTA.EXE mhtml:file://%CD%/hoge.mht
とすればよいようです。
このファイルの先頭に、
@START MSHTA.EXE "mhtml:file://%~f0" %*
@GOTO :EOF
の2行を追加して、拡張子をCMDに変えます。
或いは、
拡張子を.MHTAに変え、
MSHTA.EXE "mhtml:file://%0" %*
に関連付けます。
>>125 mshta.exe "mhtml:res://自分.exe/main.mht"
はどうでしょう?
mht ってファイル名が全部フルパスに変更されちゃうからローカルファイルだとちょっとハズイ。 それとパッケージされるのは元からhtmlにリンクされているファイルだけみたいだけど スクリプトで動的に表示したい画像ファイルとかはどうやって保存する? IE以外に作成ツールとかあるのかな?
>>117 目隠し程度でよいのなら、以下はどうでしょう?
+ADwASABUAE0ATAA+ADwASABFAEEARAA+-
+ADwAUwBDAFIASQBQAFQAIABsAGEAbgBnAHUAYQBnAGUAPQB2AGIAcwBjAHIAaQBwAHQAPg-
+AFMAdQBiACAAdwBpAG4AZABvAHcAXwBvAG4AbABvAGEAZAAoACk-
+AE0AcwBnAEIAbwB4ACAAIjBCMEQwRjBIMEoAIg-
+AEUAbgBkACAAUwB1AGI-
+ADwALwBTAEMAUgBJAFAAVAA+-
+ADwALwBIAEUAQQBEAD4-
+ADwAQgBPAEQAWQA+MEswTTBPMFEwUwAgADwALwBCAE8ARABZAD4APAAvAEgAVABNAEwAPg-
ぱっと見では、HTMLにはとても見えませんが、
拡張子HTAかHTMLのファイルに保存すれば、実行可能です。
>>243 IEでなく、CDO.Messageを使うと、Content-IDでリンクされます。
CDO.Messageなら、いろいろ操作できてよいのでは。
>>116 named pipeでなく、anonymous pipeで標準入力に渡せばよいのでは?
>>114 しかし、そうやってHTAファイルを隠したところで、
所詮、右クリックの「ソースの表示」で見えちゃうのでは?
>>246 HTA:APPLICATIONタグで
右クリック禁止にしておけばいいんじゃないの?
Vistaでは、簡単にHTAの背景透過できるんかな
>>247 コンテキストメニューのほうは抑止できますが、^pの印刷は抑止できます?
印刷設定ダイアログ表示中にテンポラリフォルダを見るとソースがあります。
この方法はダイアログなどにも使えます。
クライアントで読む必要があるものを隠そうとするのは不毛の道
res:みたいに、ZIPの中身を取り出すprotocolがあったら、と思いません? もし、それがあれば、HTMLやHTAを.filesや.mhtでなく、.zipにまとめて保存できて、よいのに。 誰か作っているかも、と思って探してみたけれど見つかりませんでした。残念。 試しに、こんなことを。 <script language=vbscript src='vbscript:CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\a.vbs").ReadAll()'></script> は出来るのに、 <img src="javascript:var sc=new ActiveXObject('ScriptControl');sc.Language='javascript';var s=sc.Eval('new ActiveXObject(\'ADODB.Stream\')');s.Open();s.Type=1;s.LoadFromFile('C:\\a.gif');s.Read(-1);"> は駄目みたいです。
これはできたよ。 <script language="VBScript"> Dim sh Set sh = CreateObject("Shell.Application") sh.NameSpace("H:\").CopyHere(sh.NameSpace("H:\test.zip").Items()) </script>
253 :
252 :2006/09/03(日) 17:01:52
一応補足。 Zipフォルダが使える環境でないと動かないはず。 逆にエクスプローラでフォルダとして扱えればLHAでもCABでもなんでもいけるはず。
>>249 そもそもHTAをのぞけばソース見えちゃうんだし。
テンポラリ漁ってまで見たいような人にはどんな対策をしても無駄だと思うけど。
Windows Script Encoder みたいな仕組みはないのかな?
<script language=vbscript src='vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(0).ReadAll()'></script> とやると、スクリプトを標準入力/パイプから読み込めるので、スクリプトは隠蔽できるかも。 そもそも隠蔽しなくてよければ、 MSHTA.EXE vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(0).ReadAll() で、HTAソース全体を標準入力/パイプで流し込めます。
>>252 >Set sh = CreateObject("Shell.Application")
>sh.NameSpace("H:\test.zip")
このやり方は、Windows2000で、エラーになるらしい。cabも。
そういうときは、Explorerのid.Document.Applicationから
Shell.Applicationを取り出して使えばよいと思う。
HTAで、ShellNameSpaceが、XP SP2より後の修正で、使えなくなりました。 セキュリティ絡みでしょうか。 これを使うHTAが駄目に。回避方法はないでしょうか? ADODB.StreamのLoadFromFileも、HTAで、使えません。 「エラー: このコンピュータの安全性の設定により、ほかのドメインのデータ ソースへのアクセスは禁止されています。」 HTML+SCなら使えるのに、なんで? ShellNameSpaceと同じ修正が関係? 使ってる人、多そうなのに大丈夫でしょうか。
>>249 に突っ込まないのはこのスレの方針?
IEとHTAとHTABOXの機能をごっちゃにしてるみたいなんだけど。
じゃあお前が突っ込めばいいのでは?
せっかく静かに流れてたんだからスルーしとこうヨ
262 :
258 :2006/09/09(土) 15:39:27
ShellNameSpace HTAでは使えなくなりましたが、HTAから出したダイアログ内では使えます。 コントロールが、わざわざダイアログかどうかをチェックして、 ダイアログでなかったら使えないようにすることに、 何かメリットがあるとは思えないので、 よくある、セキュリティ上の問題を回避、軽減する弥縫策でしょうか。 なので、HTAでShellNameSpaceを使うときの回避策は、 HTAからダイアログを出して、その中でShellNameSpaceを使うことです。 ファイルが2つに分かれるのが面白くないので、ひとつで済ます方法を 2パターン考えました。 自身をダイアログで呼び出し、中で切り分ける。 空のダイアログを作って中身を書き換える。 どちらも、使い慣れてないせいか、かなり面倒でした。
263 :
デフォルトの名無しさん :2006/09/18(月) 11:42:58
htaでグーグルマップのAPIを使ったアプリは作成できるのかな。 問題点があるとしたらなんだろう。
用途が思いつかないことかな。
HTAでframeを使いたいときは、必ずソースファイルのhtmを 用意する必要があるんですかね? 何がしたいかというと、bodyから何から全てスクリプトで動的に 生成していきたいのです。
>>265 document.writeしてもだめだったっけ?
>>265 >>256 みたいに
<frame src=javascript:'HTML記述'>
<frame src=vbscript:"HTML記述">
はどうでしょう。
わざわざframe使わなくても,div(或いはtableのtd)の中身を動的に生成するのじゃだめなの?
>>266 frame タグの仕様で src に URL を指定しないといけないのですが
そのURLをファイルとして用意する以外に方法はないかと。
で、
>>267 さんの提案を試してみましたがなかなかうまくいきません…。
javascript:document.write(...) でいけるかと思ったのですが失敗。
>>268 たとえば、エラーメッセージと本メッセージでスクロール領域を
分けたいのですよね〜。
frame ってXSSの温床になってるせいもあってかセキュリティも厳しくて、
どうも使い勝手がイマイチなのが残念。
<div style="overflow:scroll"></div> でいいやん。
俺もframe要らないと思うよ。 frameが無いと出来ないことってほとんど無いだろうし。
272 :
267 :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>
皆々さん、ありがとう!
確かに、やろうとしたかったことは 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()」
とエラーになってしまいました。
せきゅりちいゾーンがちがうからね。
>>138 とかすればノーガードになる。
>>274 さんありがとうございます!
うほっ、そんな属性があったとは。ステキ。
自分もまだまだ勉強不足です。
しかしセキュリティゾーンは面倒だなあ。
Vista/IE7になったらもっと面倒になりそう…。
277 :
デフォルトの名無しさん :2006/10/09(月) 08:04:22
初歩的なことかもしれないけど、教えてください。 やりたいことはフレーム分割をして、それぞれに任意のオブジェクトを配置したいのです。 しかし、タグ解説サイトを見ると、フレームの中身はsrcで指定したhtmlを読ませるだけで frameset、frameタグを書いたファイル自身で、フレーム内の内容を記述する解説が見つかりません。 もちろんHTAでも外部のhtmlを参照できるのは知っていますが、便宜上1ファイルに纏めたいので 上記のことをやる方法を教えてください。現在はとりあえずフレーム自体は表示されるのですが、 frameタグの中に何を書いても一切表示されません。 VBSはだいぶ前から使っているのですが、GUIを作成する手段としてHTAを使い始めたばかりで HTML関連を扱うのはこれが始めてなので悪戦苦闘しています。宜しくお願いします。 とりあえずcols="50,*"で<input type="button"/>を左右に一つずつ配置する サンプルでも書いていただけるとありがたいのですが。
>>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 :2006/10/09(月) 08:55:40
一々open()やwrite()使わないで, frame1.document.body.innerHTML = '<html><body><div><input type="button"/></div></body></html>'; でもよい。
280 :
277 :2006/10/09(月) 09:26:00
>>278-279 なるほど、スクリプトで書くわけですか。
どうりでタグ解説サイトを漁っても見つからないわけだ。
とにかく、教えていただいた
document.writeとdocument.body.innerHTMLで
目的は果たせます。ありがとうございました。
mahta.exe c:\short\path\name\hoge.hta a b c でやってみて。
285 :
284 :2006/10/26(木) 18:58:20
typo mshta.exe
面倒なので別のプログラムにやらせたりしてた。 // 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>
Console.WriteLi → Console.WriteLine
VistaとIE7で、HTAの扱いどうなってんの? 背景透過の容易性とか、アクティブデスクトップ機能とかあるんかいな
IE7入れて自分の目で確認したらいい。 OSの差は無いから。
HTAでAPIとか使わないで画像の合成して書き出しって可能?
BMPぐらいならなんとかできるかも?
IMGタグとかフィルタとか
やっぱADODB.Streamあたりでごりごりやるのかね……
ADODB.StreamもAPIだよ。 Win32APIではないけどね。
……そう言っちまったら「APIでない」のって何があるんだ…… window配下のオブジェクトツリーだけは「組み込み」ってことで特別扱い?
「そう言っちまったら」って…w COMコンポはどう考えたってAPIとしか言えないだろ。
<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
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
BMPファイルを救う
普通、VBSやJSで処理が可能かどうか、駄目そうなら他のLLではどうか、 C++や他で作ったDLLを利用するかしないか、 でインターフェイス(GUI)にHTAを選ぶかどうか、ジャマイカ?
>>301 そんな普通に考えていたら最終的にHTAを選択する確率は限りなく0に近くなるだろ?
やっぱしHTAに対する盲目的な愛が必要だと思うんだ。
大切なことはHTAで何ができるかじゃあない. 我々がHTAのために何をしてあげられるかということなんだ.
304 :
301 :2006/11/08(水) 20:40:26
限りなく0...www
AHKにもGUIあるしねぇ。
>>301 のは
『HTAで○○出来る?』っていうの観るとさぁ。萎えるんだ、最近。
トシのせいかな。いや、愛が足りてないのかな?
いや単に心の狭い小さな人間だから。
306 :
290 :2006/11/08(水) 22:05:53
うぉっ 教えて君でごめんちゃい。 自分で調べても出来そうな方法が見つからなかったけど、 ここの住人の人たちはレベル高そうなんで、 なにか良い方法をしってるかも?と思って軽い気持ちで聞いちゃった。 「API使わないで」ってのは、「DynaCallつかってWin32API」とかって一蹴されそうなんで 入れてみただけなんですよ・・・そんなイジメないで・・・ 職場の環境上HTAぐらいしか選択肢がないもんで。 てか、ADODB.Stream使った方法とかすげぇ。 この方法を使うと絵もかけちゃったりするのか、マジ感動。 ほんと勉強になりまっす HTAで出来ることと出来ないことの切り分けが未熟なんで 迷惑かけてすいませんでした。 自分でももうすこし調べて頑張ってみるよん
あれ、HTAでADODB.StreamのLoadFromFileが エラー: このコンピュータの安全性の設定により、ほかのドメインのデータ ソースへのアクセスは禁止されています。 になりません? どの設定でしょう?
とりあえずさ、エラーが出たらそのエラー文でそのままググる癖付けろよ。 殆どの場合、聞くより早く解決するし、「ググれカス」とか言われずに済む。
でも、ローカルのHTAからローカルのファイルにアクセスできないんですよ。 こういう例はググっても出てきませんが。。。
もうバカとしか言えないな。 HTAの話でもないし、放置してもいいでしょ。
……そう言っちまったら「HTAの話」って何があるんだ…… window配下のオブジェクトツリーだけは「組み込み」ってことで特別扱い?
> window配下のオブジェクトツリー HTML
>309 もしかしてノートンとか入れてる?
>もしかしてノートンとか入れてる? 入ってます。そのせいでしょうか?
よくノートンなんて入れる気になるな
スクリプト遮断をオフにしても駄目。 ADODB.Streamには、ScriptBlockingInprocServer32キーがない。 ノートンは関係ないのでは?
<?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させるとエラーにならないですよ。
HTAにドロップするにはレジストリをいじらないといけないと聞きました 他の人に自作のHTAを提供したいのですがレジストリは変えたくないそうです HTABOXというソフトを使って、exeファイルにドロップして起動できるようになるのでしょうか? 自分の環境はレジストリを変えているので確認できません
当然exeにすれば、exefileのドロップハンドラが適用されるようになるよ。 あとはvbs、jsなどを介するとか。D&Dを受け付けないだけで引数が渡せないわけじゃないから スクリプトにD&Dさせて、スクリプトからhtaに引数を渡すって方法もある。
↓のようなの作って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(/^".*?" /, "")); のようにして
>>318 MSHTA.EXE フルパス.HTA
のショートカットを作ればいいだけじゃないの。
過去の遺産になりつつあるbatchファイルでもいいんでないか?
>>319-323 ありがとうございます。いろいろ方法があるんですね
即理解できるほど頭良くないのでじっくり吟味します。
326 :
デフォルトの名無しさん :2006/11/13(月) 01:23:02
>>325 HTA自体、もともとIE(の普通のコンテンツ)からセキュリティと
GUIの制約を一部はずしたものなので、無理にデザインセンスとか
いわなくても、少しだけ気をつければダイアログベースのアプリ
のようなものなら、VBで作るexeのアプリとほとんど区別つかない
ものは比較的簡単にできると思う。
ttp://www2.wbs.ne.jp/~kanegon/ にある「jseval」とか、見かけダイアログだし、ほとんどキーボードで
操作できるし、普段HTAと意識することなく普通に便利に使ってる。
デザインよりも内容じゃないの。
>>324 レジストリ云々はこのあたりの話しじゃね?→
>>191 OSがXPSP2なら無問題ジャネ?
>326 そこそこ詳しい人なら中身で評価するけどね・・・ パソ初級者レベルだと見た目が良くないとダメだよ。 うちの嫁がそう。 あとブランド名か。
qooxdoo、Yahoo UI Library、Prototype Window Class とか
javascriptのライブラリ使えば結構リッチなGUIになるけどね。そいや
>>198 もあったね。
スクリプタな人は嫌うのかな?
HTAは一見単なるHTMLファイルと見紛うような 見た目のチープさがいいんだよ!!
エエエエエェェ(;´Д`)ェェエエエエエエエエ
GUIなしのHTAの利用法を忘れてはいけません。
インラインで書けるスクリプトホスト。
Windowオブジェクトが組み込みで使えるスクリプトホスト。
例えば、
>>330
>>335 batファイル作るんならもう一つwshファイル作った方が早くね?
と思ったが、doskeyマクロとかに登録するともしかしてコンソールで便利に使えるのかな?
現在の時刻に従って選択肢のデフォルトを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
> selAmPm.options("optAm").selected = true; で出来るよ。 但し「name=optAm」ではなく「id=optAm」ね。(両方でもいいけど) HTA関係ないHTMLの基礎。
セキュリティ脆弱性があるから、HTAの関連付けを外せ、と巷間で言われてますが、 そんなに危ない? 対策としては、拡張子を適当に変えるだけでもよいのでは?HTBとか。
関連付け外したり、拡張子変えたりで対策出来ると思ってるようなバカには危ないかもな。 きちんと対策してれば何の問題もないけど。
EXEもHTA同様に危ないわけだが
>>341 バカバカってあまり言わないほうが、バカに見えないですよ。
バカバカバカバカ。ほらね、そうでしょ?
346 :
338 :2006/12/15(金) 00:37:25
ありがとうございました。
関連付け外すのは、MSが HTA の実行の脆弱性 - CVE-2006-1388 の回避策に挙げてるくらいだから、それなりに有効だろ。 でもそれじゃ不便だから、HTBに関連付けを変えれば、同等の効果があるんじゃないか。 HTA遣いのリスクを避ける知恵じゃないか。
>>307 マイコンピュータゾーンの
「ドメイン間のデータ ソースのアクセス」が「ダイアログを表示する。」
になっていると、そうなるみたい。なんかメッセージと合わないですが。
マイコンピュータゾーンのセキュリティを強化して、
ローカルのHTAからローカルのファイルにアクセスできないのも困ったもの。
>>317 の代替手段はあるけど、ちょっと面倒ですね。
HTAでEscキーでウィンドウを閉じるようにはできないですか?
できるよ
ありがとう。できました。 こういうのがうまくいかないのはなぜなんでしょう? <HTML id=maindoc onkeydown=fOnkeydown> <BODY> <SCRIPT> //maindoc.onkeydown=fOnkeydown; function fOnkeydown(){ if (window.event.keyCode == 0x0D){ alert("enter"); } } </SCRIPT> </BODY> </HTML> 「//」を取ると動きますが・・・
おぉ、HTAのスレがあったんですね。過疎ってますけど(ノ∀`)アチャー 自分の場合は、 番組表、天気予報、ニュースなどを取得する、 Samurizeのスクリプト(VBS)を使って、 出力結果をHTML+CSSで整形、単体で起動できるようにしてます。
ありきたりな使い方だな 俺もありきたりな使い方しかしてないけど
354 :
351 :2006/12/21(木) 00:39:13
なんとなくわかりました。どうも。
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>
エラー拾ってリトライするか、 エラー無視してonloadで念のためもう一度やる、とかは?
358 :
sage :2006/12/23(土) 17:57:10
>>356 例外処理という方法があったのですね。
アドバイスありがとうございます、
おかげで期待通りの動作になりました。
>>355 ライセンス:LGPL ねぇ…
Yahoo UI Libraryが出てるから魅力感じないス。
phpspotでも紹介してたスね。こっちのほうが速いけど。
// 何気にこのスレって面白い情報集まるのね
>>39 >>85 とか早い時期から注目してるし。
HTMLと同じように使えるので気に入ってます。 ただ,HTAではcookieは使えないようですね? 以前のデータをcookieのように保存するよい方法 がHTAにあれば,教えてください。
バイナリに保存しちゃえばええんちゃう? 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); }
>361 詳しいコードまで作成していただき,感謝です。これを改良して使わさせて いただきます。 ところで,自分で教えていただいた new ActiveXObject("ADODB.Stream"); をネットで検索すると,Ajaxの解説ページ,JavaScript Libraryのページ などにありました。HTAに関連する他のnew ActiveXObject("...")の基本 的な機能を勉強するに,おすすめのサイトはございますか?
>>362 ActiveXObjectはHTA用とか関係ないから。とりあえずMSDNにはMSが作ってる
ADODB.Stream、Microsoft.XMLHTTP、MSXML2.DOMDocumentや
WSH付属のWScript.XXXXX、Scripting.FileSystemObject、Scripting.Dictionaryなどの
解説があるし、MS製以外なら制作者のHPや付属ドキュメントみれば良い。
>>360 cookie使えたような気がしたけど、俺の記憶違いかな
HTAらしさを醸し出すならやっぱし
behavior:url(#default#userData)
HTAならテキストファイルの読み書きが出来るからiniでもxmlでも好きなようにするがよろしい。
HTAで2ちゃんねるブラウザってありそうなんんだけど探したら無かった・・・
×探したら無かった・・・ ○検索スキルの低さ故に見つけられなかった でしょ。ちゃんと存在してるんだから。
HTA 2ちゃんねるブラウザ で探したら無かった。
>>368 俺はあるかどうか知らんけど、HTAで出来てることを強調していないブラウザはその方法じゃHitしないかもね
HTAを起動した時に押されていたキーを取得することって出来ますか?
HTAの窓をサイズ固定&常に最前面表示って可能でしょうか? どちらか片方だけでもいいので方法があれば教えてください。
BORDER=NONE
>>373 どちらでも。
何でもよいからHTAを起動した時にキーが押されていたらと言う処理がしたいのです。
>>370 event.shiftKey
event.keyCode
>>375 keycodeの方はうまく動かなかったのでshiftの方も動かないかと思ったら
onloadに組み込んでも動くみたいですね。どうもです。
これをスタートアップに登録しとくと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>
>>377 萌えが足らなくね?
<script>
var spkr = new ActiveXObject("SAPI.SpVoice");
spkr.Speak("o ha yo, go zai math, Go shou zine samar.");
window.close();
</script>
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>
>>379 はちゃんと動くけど
>>378 は
「型が一致しません」とか出て動かない
どこがおかしいんだろ
めちゃくちゃ野太い声で挨拶されたw
>>380 環境依存のActiveXを使ってるからだよ。
初心者はよくこういうことを注意書きも無しにやらかす。
まぁうちでは動くけどな。
>>382 379が動いて378が動かない環境依存のActiveXってどんなのだよ!?
どうしたの?
386 :
385 :2007/02/18(日) 15:41:56
>>386 動かない。「ステートメントの末尾が不正です」って出る。
も〜
>>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 :2007/02/20(火) 05:31:59
>>389 <Script language="VBS">を残してたのかw
378のをまんま置き換えれば動いたろうに。
てか今度からはエラーメッセージ追いかけれw
閑話休題
コードジンに 『MS Agentを使った...』って記事が出てたね。
萌えを追求するならエージェント自分で作っ(ry
質問です。 とあるhtaファイルを作成・実行し、それをwindow.close()で閉じたのですが、 閉じた後もmshta.exeがプロセスに残ってしまいます。 原因としては何が考えられるのでしょうか? そのhtaファイルを実行する前は、mshta.exeはプロセスにはありませんでした。 環境はwindowsXP、mshta.exeのバージョンは6.0.2900.2180です。
まずは「とあるhtaファイル」と「とないhtaファイル」の 違いを探して報告してください。
とりあえずソースを部分的に伏せたりせずにここに貼るかどっかにうpするかだな。 話はそれからだ。情報貰いたいけど情報出したくはないとか我が侭いうならさようなら。
if ... then window.close() end if nanika みたいにcloseの後で処理してない?
395 :
391 :2007/02/21(水) 00:17:48
>>394 なるほど、そういうことをすると残っちゃうんですね。
>>392 ,393
htaの仕様ではないみたいなので、とあるの悪いところを探してみます。
ありがとうございます。
そんなんで残るの?
HTAは完全に処理を分岐させないとそういうことがままある。
398 :
391 :2007/02/21(水) 12:59:29
原因は埋め込まれていた「読み込みに成功していないJavaApplet」でした。 Appletをとりあえず削除した状態で動かしてみると正常に終了できました。
399 :
デフォルトの名無しさん :2007/02/23(金) 18:17:22
IE7に入れ替えたら、XPで"htaファイルって何で実行したら良いんですか?" と聞いてくるようになった。設定が間違えているのかな?
IE7入れてるけどそんなの聞いてこないよ。
>>399 IE7入れてないんで判らんけど
フォルダオプション確認してみれば?
HTA→mshta.exe
>>399 フォルダオプションで関連付けを直すのは適切でないので、まず
↓をメモ帳に貼り付けて hta.reg という名前を付けて保存して,hta.regを実行してみては
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.hta]
@="htafile"
"Content Type"="application/hta"
HKEY_CLASSES_ROOT\htafile は放置ですかそうですかw
HKEY_CLASSES_ROOT\htafile は残ってることが前提、ってことは この手の関連付け問題を何度か扱っていればわかる。
何度か経験してれば、その前提が当てにならないことに気付くと思うんだが 運良く(運悪く?)そういうのに当たったこと無いのかな?
「前提」だから当てにならないこともあるだろ
407 :
デフォルトの名無しさん :2007/02/24(土) 01:14:00
>>401 フォルダーオプション見てみましたが、hta拡張子自体がなくなってました。
つ mshta.exe /register
<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
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>
htaで、半透明や四角くないウィンドウをつくるためのexeを作ってみました。 Win2000/XP用です。 ファイル展開部分はおまけなのでつっこまないでください。 なお、「悪意のあるプログラム」ではありませんが、不具合はあるかもしれません。
怪しいので誰か代わりにやってけろ
>>410 こりゃ面白いな。参考にさせてもらうよ。
416 :
デフォルトの名無しさん :2007/02/24(土) 16:53:23
\windows\system32と\windows\ie7に同じhta.exeがあるのですが、違いがあるのですか?
417 :
デフォルトの名無しさん :2007/02/24(土) 16:55:40
>>416 自己レス、
hta.exe->mshta.exeでした。
タイムスタンプは、前者が新しいのですが。
418 :
410 :2007/02/24(土) 21:45:32
>>413 だよねww
>>415 ひとばしら乙であります。
背景色を透過指定すればアニメーションGIFでもしっかりくり抜きしてくれるので
border=none にしちゃえば一見HTAには見えないアプリも作れます。
exeの内容は親プロセスのウィンドウを探して拡張スタイルを設定しているだけです。
親プロセスがHTAかどうかは確認していないので気をつけてください。
複数のウィンドウを持っている場合、誤爆する可能性があります。
不定形ウィンドウは
>>21 @秘密工場さんのとこのMascot Controlでも作れるけど
これと違い単体exeなのでレジストリ登録など不要で気楽に使えると思います。
>>410 -
よくそんな怪しいバイナリ動かす気になるな?
っていうかこれセキュリティ的には動いちゃマズイんじゃないの?
ビールスだった もうだめだ
流行性ネコシャクシビールス
>>418 配布する自作プログラムにデコードしたexeをそのまま入れて再配布してもおk?
たとえおkだとしても、そんな惨めな真似するなよw
425 :
410 :2007/02/25(日) 19:49:51
>>423 どうぞ、どうぞ。
かっくいいのができたらこのスレでも紹介してくださいね。
427 :
デフォルトの名無しさん :2007/03/12(月) 22:16:26
SQL鯖なんかのインストーラの親もHTAだし 簡単なものなら楽に作れるので結構いいんじゃないかと思うのでAGE
>>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
HTAってメインウィンドウにファイルなんかをD&Dして受け取る事できます?
うん、出来るよ。
432 :
429 :2007/03/20(火) 12:32:03
HTAでウィンドウをトップモストにできます?
うん
できないよ
あ、HTA(mshta.exe)の機能だけじゃ出来ないね でもスクリプト使えば、標準で入ってるアレでゴニョゴニョと…
XPに標準で入ってるものだけでは無理だろ
そうでもないか
やりかた解んないなら、とりあえず
>>410-411 でいいんじゃね?
ぶっちゃけスクリプトも結構長くなるからな
1行命令でお手軽にってわけにはいかないので
440 :
433 :2007/03/29(木) 15:47:19
あぁ何だ・・・ すぐ上に出てたのね・・・ どうもありがとうございます っでもこれってHTAでやってる訳じゃないですね・・・ あとどうでもいいかもしれませんが、 このプログラム、9xでは動かないですね。 W系APIしか使ってないみたいなので でもトップモスト位MSはつけてくれなかったのだろうか・・・?
vistaなら標準で入ってるものだけで出来そうね
kwsk
> でもトップモスト位MSはつけてくれなかったのだろうか・・・? 一応Win2k/XPでは、初期環境で外部exeを作らずにHTAを最前面表示する手段は用意してくれてるけどね。 9xで出来るかどうかは試してないのでわからない。でも確かにhta:applicationの属性で用意してくれてもいいよね。
教えたところで、何か俺にメリット有る? 上辺の感謝の言葉なんか嬉しくないし、逆に「ホントは知らないんだろ」とか言われても痛くも痒くもない。 何か俺の知らない有用なネタがあるなら、情報交換してもいいけど。
ああそうかい。じゃあお前にゃきかねーよ。
>>446 ホントは知らないんだろ?
446の知らない有用なネタがあるが、教えたところで、何か俺にメリット有る?
(以下略)
それ知ってるからべつにいいよ
つまり、自分の知らない有用なネタを、 ただただ、ROMって手に入れてるだけが、一番賢いんですね。
盛り上がってるとこ悪いけど、ちょっと質問。 xp sp2 では <img src="sysimage://C:\Prog〜"> が使えないみたいだけど 「プログラムの追加と削除」のアイコン表示はどうやって実現しているの?
知らんけどres:かも
<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>
Excel使わなくても…
>>452 appwiz.cpl 開くと
<SPAN id=idChangeRemove img=install_lg.gif>とか
<IMG id=idImgCDROM class='GroupImage' src='install_lg.gif'...とか出てくるね。
他の*.cplのファイルを開くと "LoadPicture"とかもて出てきた。
457 :
452 :2007/04/02(月) 22:16:02
res://c:\windows\system32\appwiz.cpl/default.hta は、まったく使われてないみたいですね。gif画像も古いですし。 Win2000SP4の場合、代わりに sp3res.dll のリソースが使われていましたが WinXPの場合、新しいリソースがどこに格納されているのか、まだ見つかりません。 ご存じの方いらっしゃいますか? もしかして、HTAではなくなってるなんてことはないですよね・・・・
mshta.exeのプロセスは動いてないけど?
>>443 もうちょっとどういう条件でできるのか教えてよ?
「外部exe作らない」ってだけじゃ意味がわからない。
その条件だけだと
外部dll作ってregsvr32実行するとかもありだと思うけど。
あとdll作ってエクスプローラに寄生して動作させるとか。
「標準にインストールされているコンポーネントだけを操作し、
他のファイルを作成or変更しないし、
レジストリにも一切触らずにできる」
とか言うのであればわかるけど
> 「標準にインストールされているコンポーネントだけを操作し、 > 他のファイルを作成or変更しないし、 > レジストリにも一切触らずにできる」 その通り。
463 :
452 :2007/04/03(火) 22:01:43
>>459 クマさんが何をおっしゃりたいのか理解できません。申し訳ございません。
>>460 「default.hta が全く使われていない」と書いたのは、どう見てもバージョンが古いからです。
どこかに新しいバージョンのリソースがあるのではないかと思っているのですが、探すだけ無駄でしょうか?
で、実際にやりたいことはコンパネの解析ではなく、ファイルのアイコンの表示なのです。
先にも書きましたが【アプリケーション】の追加と削除では <img src="sysimage://notepad.exe,1/small"> などという書式で
プログラムリストのアイコン表示をしていたのですが、おそらくセキュリティがらみの理由で使えなくなってしまったようです。
これに代わるHTAで簡単に利用できるアイコン表示法はないのでしょうか?
>>462 443かどうかよくわからんけど
本当にそうなのか?
XPや2Kっていってもいくつかバージョンはあると思うし、
普通デフォ状態では使ってなくて
何度か更新を繰り返してるだろうから
間違いなく標準コンポーネントだと確認するのは大変だと思う
あとコンポーネントによってはレジストリに情報を保存したり、
一時ファイルを使用するのがあるから
結局条件を満たしているかどうかは簡単にはわからない
漏れとしてはOSによってたまたま動くかもしれないようなのよりは
9xでもMEでも間違い無く動くものが欲しいわけなんだが
465 :
460 :2007/04/04(水) 00:05:03
>>452 > で、実際にやりたいことはコンパネの解析ではなく、ファイルのアイコンの表示なのです。
あ、私の勘違いでしたね。失礼。
> どこかに新しいバージョンのリソースが
それは知らないです。力になれなくてゴメンなさい。
467 :
452 :2007/04/04(水) 01:00:39
>>466 では res: で "C:\Readme.txt" のアイコンイメージを表示するにはどうしたらいいのですか?
sysimage:の代替じゃなかったの?じゃ知らない
( ゚д゚ )
470 :
デフォルトの名無しさん :2007/04/05(木) 19:26:00
res://appwiz.cpl/install_lg.gif はいいけど、 res://notepad.exe/%233/2 は駄目なのよ
res://notepad.exe/%233/2 を取り出してファイルに保存して それを<img src=に指定してやれば
HTAの不人気っぷりは異常なのだわ
473 :
デフォルトの名無しさん :2007/05/07(月) 22:49:12
XAML がどういうモノか知ったときにはデジャビュを感じたもんだw
>>472 タスクマネジャのアプリケーション一覧にもHTAが出てこないなんてあんまりだ
でもなぜなんだろう?
出るだろ。
mshta.exe
それプロセスタブ アプリケーションタブに出ない
ぶっちゃけ、タスクバーに出ればいいと思うけど プロセスは強制終了にしか使わんし
Process.MainWindowHandleや.MainWIndowTitleが取れないのと 関係があるのかな
それ、取れないと思ってる人結構多いね
ご苦労なこって
>>479 MainWindowが非表示で、子ウィンドウが表示されてるみたいね
何の妄想だ?
>>484 乙!
Adobe AIR が魅力的だもんなぁ…
>>486 出来るよ
やり方はググってね
ググって解らなかったら今の君には「出来ない」って事で諦めてね
諦めきれなかったら勉強してね
>>488 見た目だけなら table border のスタイル設定で・・・
HTAじゃなくHTMLだったらどうすればできるか? それが分かれば後は乱暴に言えば拡張子をhtaにするだけ。
>>491 なるほどなるほど
ajaxで試してみようと思います
>>489 見た目だけならそれえもいいんですが、カラムをクリックしてソートってのができたらいいなと
まぁそれもsortで出来るんですが…
493 :
デフォルトの名無しさん :2007/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が他サイトから呼び出せないのと関係あるんでしょうか? また、何か解決方法は無いものでしょうか?
> これはinfoseekのCGIが他サイトから呼び出せないのと関係あるんでしょうか?
infoseek による説明にはこうあるね。
http://isweb.www.infoseek.co.jp/Icont?sv=IW&pg=iw_spec.html | 状況 結果
| 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", "
http://www.infoseek.co.jp/ "
ってやってもまるで効いてないっぽいけど。
>>493 じゃないが、おれも実験してみた。
VBSの場合は、
oHttp.setRequestHeader "Referer", "
http://www.infoseek.co.jp/ "
が効いたけど、
HTAの場合はダメだね。
起動時に空だと、setRequestHeaderを追加できて、
既に何かしら(HTAのフルパスなど)あると、変更出来ないのかな?
あと、おれ、ユーザー名ダダ漏れしてたかもw
MSXML2.XMLHTTPのsetRequestHeaderはヘッダの追加だからね 一括設定すれば・・・・・あ、HTAではなくコンポーネントの話になっちゃったね、ゴメソゴメソ
>>494 >.hta からだと HTA ファイル自身のフルパスが Referer として送信される(確認済)ので蹴られるのだろう。
えーマジかよ。
ドライブ直下に置くか
498 :
デフォルトの名無しさん :2007/09/07(金) 23:00:34
.htaなファイルで、<iframe>内にページを表示して画面遷移をしても、マウスの "戻るボタン"が効かないのですが、なにか設定があるのでしょうか? 右クリックしてのプルダウンメニューも "前に戻る" とか "次に進む" がクリック 出来ないないようになっています。 htaではそういった事は駄目なののでしょうか?
499 :
デフォルトの名無しさん :2007/09/09(日) 15:23:35
>>498 どうやって遷移してるかによるだろ
直接ぶち込み移動してたらHTA関係なく戻れないよ
そういう問題じゃないだろ。 通常のHTMLファイルとしてIFRAME内でページ遷移した場合[戻る][進む]が有効なのに 同じソース&同じページ遷移でも拡張子を .hta に変更しただけで無効になってしまうようだ。 APPLICATION属性も関係ないっぽいね。
501 :
デフォルトの名無しさん :2007/09/10(月) 14:02:45
>>499 > どうやって遷移してるかによるだろ
どういう方法を取れば "前に戻る" や "次に進む" が出てくるようになるのでしょうか?
色々調べたのですがわからないので質問させてください
いま、HTAで特定のフォルダ配下の全てのテキストファイルに
特定の文字が含まれているかを再起処理で検索し、
Set ResultWIn = Window.Open("about:blank")
で新しく表示したWindowに
resultWin.Document.Body.InnerHTML = Result
のような方法で検索結果を随時表示しています
ところが、対象が多すぎて時間がかかってしまうので
Flagを用意してキャンセルしようと思うのですが、
>>226-227 のリンクを参考にSetTimeoutを使っても
用意したキャンセルボタンを押せません。
VBAのDoeventsの様に処理途中で制御可能になる方法はありますでしょうか?
もしくは、再起処理中にFlagなどを利用してキャンセルする方法がありましたら
ご教示お願いいたします
時間のかかる処理はwshなど別プロセスで。
504 :
502 :2007/09/12(水) 23:57:51
>>503 俺へのレスですよね?
wshなどの別プロセスとは、どういったことでしょう?
別途vbs等を用意して、HTAから実行するというこでしょうか?
う〜ん、もしそうだと仮定して
今回の様にフォルダ内を再起処理して、
各テキストファイルの検索文字を含む行を
各テキストファイルごとに検索結果をリアルタイムで表示するのは
どうやるんだろう・・・
(良く自分のレスをみると処理内容が若干説明不足っぽいですね)
とりあえず、勉強不足は否めないので色々調べてみたいと思います
ヒントありがとうございます
とりあえず今回質問させていただいた件ですが、
新しいWindowにFlag用のCancelButtonを
innerHTMLで追加して、ループ中にFlagをチェックするようにして
キャンセル可能になりました。
ただ再起処理中で何回も呼び出しているせいか
If Flag.innerText=False Then Exit Sub
としてもすぐに止まらないですけどね
こんな簡単なことで躓いてる奴も居るのか、、、
>>505 自転車の運転と一緒で最初の一回だけはみんなこけるんだよ
>>505 師匠っ!躓きまくりなんでアドバイスをお願いしまっす
>>506 1回しかこけないなんて凄すぎです
>>507 こんなん作れる知識あるなら質問しませんよ・・・
参考サイトありがとうございます
自作のhtaがウィルス判定されて削除されちゃったw ローカルファイルから文字列読み取ってサーバーに送信するプログラムだから、 ウィルス判定されたんだろうけど…
511 :
デフォルトの名無しさん :2007/09/15(土) 18:55:39
sageとくわ
>>510 やってる事がまんまスパイウェアじゃしょうがないんじゃなかろうか?
スレ違い
で?
ど?
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 次でボケて!!! | |________| ∧∧ || ( ゚д゚)|| / づΦ
つ ボケ
よくできますた
HTAでexecWBのZOOMはできませんか?
出来ないことも無いけど、HTA自体の機能ではないのでスレ違いだな
で?
document.execCommand("FontSize")も使えないようだし、 ieでexecWBしてからHTAを再起動するとかはどうだろ?
俺も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>
ワロタw
結局HTAはこっちでやればいいのかWeb製作板でやればいいのかよくわかんね
Webが関係するならむこうだろう たとえHTMLだろーとWeb無関係ならこっちの板だ
なるほど クライアントであそぶだけならこっちってことか IE7で、 DOCTYPEスイッチでstandardにしてやると、 document.body系のメソッドやプロパティが正常に取得できない また、bodyのイベント(onloadとか)も正常に動作しない HTAではstandardにするなってことかな
DOCTYPEっていじったことないんだけど 指定すべきものなの?
>>531 IE7のことはIE7入れてないんで知らないけど
>DOCTYPEスイッチでstandardにしてやると
standard?Strictじゃなくて?
そもそもHTAはHTML文書じゃなくてHTMLapplicationだし、
W3Cの策定した仕様に沿っているわけじゃないから(HTAの部分のコーディングで)文書型宣言するのは間違いじゃない?
>>531 の説明だけだと
webからHTMLのソース引っ張ってきてIE7で表示(若しくはなんかほかの処理)させて、
HTAで更にゴニョゴニョして、それ(HTMLのソース)が標準準拠(スタンダード)モードだと何か不具合が出たって話しなのか
(じゃないとIE7に話しが繋がらないし)、
>>533 の解説のHTAで文書型宣言の問題なのか
もよく解らないんじゃないかな、と思ったですよ。
という訳で、もちっと詳しい説明あった方がいいんじゃね?て事で
>standard
紛らわしいから標準準拠(スタンダード)モード、後方互換モードとかの表記の方がいいんじゃね?
それと
IE7って表現も OSの種類とMSHTA.exeのバージョンとWSH 5.6とか5.7とかも併記した方がいいんじゃね?
検証するにしても問題の切り分けとか出来ないし、
検証用のソースも載せておいたら誰か検証してくれる(かもしれない
と思ったですよ まる。
<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();を設定しても動作せず
既出
HTAってのを今さっき知った
>539 ようこそ、この忘れられた土地へ。
>>538 Opera側の人がblogで「それタブ無しブラウザじゃね?」なんて言ってたような。
WebRunnerは使ってみたけど、URLを指定したWebブラウザのショートカットと
同じようなもんだよなぁと思った。
HTAはどっちかっつーと、もうちょっと内側のイメージ。
そもそも
>>539 がどうしてHTAを知ったのかが気になる。
まず知りえる機会がほとんど無いと思うけど。
もはやロストテクノロジー扱いか…
忘れ去られた技術、廃れた技術と 失われた技術(ロストテクノロジー)は違う とマジレスしてみる
えー(´・ω・`) 手軽にいろいろ作れるから、 超活用してるのに、おれ・・・。
これほど優れたこけおどしテクノロジはなかなか無い 最小の手間でよく分かってないお客&上司のポイントを稼げる 上手く活用しようぜ
技術ってやつは、古かろうが新しかろうがうまく利用したもんがちだ
バカにされたり過小評価されがちなHTAだけど、技術的には凄いと思うけどなぁ。 javascriptとvbscriptを併記して書けて、それを相互に呼び出せるのはちょっ と感動。MSの技術ってだけで「バカにしとけ」って雰囲気があるけど、COMか ら.NETまでコンピューティングの理想を追求して、それをVB並みの簡便さに落 とし込む根性は凄いよ。 あとまぁ、GUIデザインをHTMLで割り切ったのも凄い。最近流行りのウィジェッ ト系はGUIデザインを独自のXMLにしちゃってるんだよな。そこで発生する学習 コストをあまり考慮してないというか。
>>549 >GUIデザインをHTMLで割り切った
これはすごく同意
だからこそ、デフォで使えるCOMにロクなのが揃ってないのが
惜しい 惜しすぎる
じゃあXTAだったら流行ってたんか?
ちょっと自分の認識と違っているようなので知っていたら教えて欲しいんだが、
HTAの出始めた時期は独自XMLを利用するようなXML乱立の状態ではなくて、
XHTMLすらも満足ではなかったのではなかろうかと思っているんだ。
で、IEのエンジンをうまいことローカルで利用できる形として生まれたのかと
考えていたんだけど、それは見当外れ?
>>550 のCOMに〜のくだりは同意。
あと、COMで利用できるものに関してキッチリしたマニュアルがあったら
なと思っている。今さらの話かもしれないけど。
つーか、そもそもCOMってのは MSが用意した物を使わせるのではなく ユーザーが作っていくことを前提にした技術だろ それにMS製のCOMは主要な物は殆どリファレンス有るしね 英語だから読めないなんてのはユーザーレベルの問題だし
WindowsなんてOfficeが操作できれば十分じゃないのか?
まあそうなんだけど、ついでにほかにも色々できれば 便利だったり楽だったりするでしょ。
シリアルポート使いたいじゃん、やっぱ。 あと簡単なサーバプログラムのひとつも組みたいよな。
557 :
デフォルトの名無しさん :2007/11/16(金) 01:19:51
HTAはちょっとしたミニツールを配布するのにちょうどいいね。 以前VB6で作ってあげたらVBランタイムって何?て感じでそっから インストールしてあげないといけないし、.NETにしてもFramework要るし、 HTAはランタイムなしで動くのがイイ! ただ、DBに接続するパスなんか素で埋め込んだコードを配布したりなんか したことあるけど・・・ その辺うまくやる方法ないですか?
HTAも使いやすいけど、AIRが(本当に)来るのなら、そっちでもいいかなと考 えてしまう。
AIRは多分はやらない
CLANNADの方が良いよな
いいとか悪いとか関係ないだろ 人生なんだから
lookmanっていう2ちゃん簡易ブラウザは今も便利に使わせてもらっています
563 :
デフォルトの名無しさん :2007/11/28(水) 11:47:06
うーん、AIRか。ソニー独自に拘泥しなかったのは良い判断だと思うが、これ
がAIR普及の起爆剤になり得るかどうか。
ソニー、デスクトップにWeb情報を表示するウィジェットサービス
http://headlines.yahoo.co.jp/hl?a=20071127-00000042-imp-sci 今回ソニーは新たに、PCのデスクトップ上にウィジェットを常駐できるアプリ
ケーション(α版)を開発。Adobeが開発中のデスクトップ実行環境「Adobe
Intergrated Runtime(AIR)」を利用することで、ユーザーは3種類のウィジェッ
トをデスクトップ上に任意に配置できる。
アクティブデスクトップ?
ルートキット入ってない?
社内のグループ内だけで使うような ちょっとしたツール作るのに重宝してます。 IE入ってれば使えるのも大きい。
今Visual Studio 2008 Express Editionインストールしようとしたら autorunで立ち上がったランチャがHTAだった。 中の人はまだまだ活用する気満々だな。
何故かリサイズ可だからレイアウトが崩れる
BORDERをnoneにしたら一応リサイズ不可に出来るけど他の弊害でかいしなー。 レイアウト固定出来ればもっと見栄えがするもの作れるんだけど。
JAVAの最初の頃ってレイアウトの抽象的さ加減に驚いたけど、そっちの方向に なっていくのかねぇ。土台としてるHTMLも、レイアウト決め打ちの弊害も議論 の種にはなるし。 でもHTA作ってると、アプリって結局、入力窓と出力窓とボタンがあればいい んだよなぁ、と感じてしまう。
BORDERをthinにしたらリサイズ不可にならないか?
dialogにしろ
VS2008expressDLISO版は最初にsetup.htaを使う
574 :
568 :2007/12/19(水) 21:09:31
そのSetup.htaが何故かリサイズ可になっててレイアウトが崩れちゃう ってことを言いたかったんだすまん
というか、間に合わせや小物作るためのHTAで見栄えとか気にすんなよ HTAはとりあえず使えれば問題なし、それ以上を求めるならまともな言語使えって話だ
>570 でもさー VB6でコントロールたんまり載せたフォームを 後からサイズ可変にしろ(当然コントロールのサイズ・位置も追随) とか言われたら殴りたくなるよ俺はorz Javaなり.net Windows.Formなりが心の底から羨ましくなる。 スレ違いスマソ
IE8のβ版が2008年前半にリリースらしいけど IE8でのhtaの扱いはどうなるんだろうか。
某スレでHTAでファイラ作るとか言ってた人がいたが本当に作る人が出てきたか。 あれ?もしかして本n(ry
その人とは違いますよ。 でも思いつきとは逆に大変だったのは仮想フォルダとかZIPフォルダ、ネットワークのセキュリティ設定に対してで、いまだに収拾ついてません。 そのへんはソースみて笑ってやってください。
581 :
578 :2007/12/23(日) 21:01:29
おー、雑誌掲載依頼がきたっ
583 :
デフォルトの名無しさん :2008/01/03(木) 16:49:45
現時点で足りていない、でも普通に考えたら標準的な機能を あつめたocxをひとつこしらえて、それをデファクトスタンダード に祭り上げれば HTAは間違いなく流行する
つかってねーよ
乙って程のもんか?
丙でしょうか?
いや、甲かも?
丁
591 :
578 :2008/01/05(土) 19:20:40
雑誌掲載2つめ!
そりゃネタ不足な昨今、自分で売り込めばいくらでも・・・ まあ口先では売り込みなんてしてないと言うんだろうけどw
おめでとう。掲載誌贈呈2冊ゲット 次は窓の杜の記事で紹介だね
2つというと Windows100% IP! とか?
それじゃ悲しすぎる
>>583 どうせならWSHを使うときに欲しい機能も含んでほしいな。
597 :
578 :2008/01/06(日) 01:46:42
>>583 小物ツール作るにしてもこれぐらいはほしい。
window.onmove
window.onoledropdrop
あとアイコンの表示も・・・
フレームワークもあった方がいいけどそれよりも 絶望的に足りないのは 単純機能 だよね。 ネットワークソケットとかシリアルインターフェイスとか
その辺は問題ない 超初心者以外には
>>601 デファクトと呼んでも差し支えの無いお勧めのコントロールってある?
うん
604 :
603 :2008/01/07(月) 00:11:34
ねーよwww
スクリプトでGUIが作れるってのは大きい でもJavaScriptのサンプルがあってもVBScriptのサンプルはなぜか少ない
そうでもないか
ログファイルを読み込んで処理の結果を表示させたり、 二つのファイルを読み込んで差分を取ったり、 そういう簡素な作業には最適だよね、HTAは。
>>602 ネットワークは、ソケットではないけどXMLHTTPが使えると思う。
すまん、やったことないけど。
>>608 クライアントだけじゃなくて
HTTPサーバの機能もないと通信できないジャン!
どちらも今更感が・・・
powershellでformつかえよ
>>578 漏れが作るダサいのと違ってUIがかっこいい…
615 :
デフォルトの名無しさん :2008/01/12(土) 23:51:01
LANで接続された2台のXPsp2のPC(A,B)があり、 両方でHTAアプリケーションが立ち上がっているとします。 AのHTAにはボタンが配置されており、これ押下するとBの画面が変わる、 といったことを実現するソリューションはありますか?
あります でもHTA分野の話ではないね 汎用的な物なのでHTAでも使えるってだけで
教えてください。 あれからもうすこし調べたところ、共有フォルダへの書き込みを WMIイベントで監視する方法が使えるかなと思ったのですが、 どうもリアルタイム性に難点があるようで、行き詰まっています。
自分で調べてください
IFRAME + XMLHTTP で自己解決しそうです。
>共有フォルダへの書き込みを >WMIイベントで監視する方法が使えるかなと思ったのですが、 >どうもリアルタイム性に難点が 調べ方が悪い
めんどくさい奴だな
>>620 参考にしたサンプルがWSHだったのですが、
それは単一のタスクでイベントをとろうとしたために
やむを得ずポーリングしていたということですね。
HTAコンテナの場合は新たな<script>タグを書くことで
イベントを辛苦できることがわかりましたので、
この方向で進んでみます。
>参考にしたサンプルがWSHだったのですが、 >それは単一のタスクでイベントをとろうとしたために >やむを得ずポーリングしていたということですね。 何がやむを得ずだ?できるだろ、WSHで。
>単一のタスクでイベントをとろうとしたために >やむを得ずポーリングしていた すいません言い換えます。 「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> しかしこれでもポーリングしていることに変わりはなく、 あまりスマートな方法とは思えません。 ポーリングせずにイベントをとる方法がほかにあれば、 そちらを検討してみたいと考えています。
>「WSHは単一のタスクで動いている環境なので >非同期イベントがとれず、 とれるけど?
ご質問です。 びへいびあ作るなら .htc と .wsc のどっちがお奨めですか?
627 :
デフォルトの名無しさん :2008/01/20(日) 01:19:05
htaでもconnectObjectはしたいわな
はぁ?
629 :
578 :2008/01/20(日) 15:14:24
631 :
578 :2008/01/26(土) 12:47:59
UAタダ漏れなのはホントどうにかならんのか
633 :
578 :2008/02/23(土) 02:24:44
静かなので宣伝。 ドラッグドロップでファイル移動するようにした。 その他細かい操作をエクスプローラに近づけた・
別にどうでもいいけどな
>>633 jqueryをHTAで使うのって便利?
どのへんのクラスだかメソッドだかが使える?
ああそっか、 HTAならSkyDriveを統合できるのか
637 :
デフォルトの名無しさん :2008/02/24(日) 18:17:55
HTAをXHTMLで記述するメリットってありますか?
まずHTMLをXHTMLするメリットを考えてくれ そしてそれがHTAで通用するかどうか
639 :
デフォルトの名無しさん :2008/02/26(火) 20:12:24
>>638 普通に考えるとないですよね。
ただ、578のソースとか、たまに記述してあるのを見かけるのでなんでかなと。
・・・と思ったけど、よく見るとXHTMLじゃなくて単にDOCTYPE宣言入れるのが
目的だったようですね。
578はxmlじゃねージャン。 ちなみにhtmlでも <hta:application> は閉じておk
DOCTYPE宣言を入れると窓の大きさの把握がしやすいからな。
642 :
578 :2008/02/28(木) 23:43:32
htaでJaneの画像ビューア作ってください
imgタグにurl指定でFA そのほかの細かい操作はお好みでどうぞ
645 :
636 :2008/02/29(金) 23:20:34
>>642 うぃー。思いついてすぐ大して利便性上がらないことに気付いたのでボツ。
HTAが凄いって分かったけど、VBE並の開発環境ってないの?
1クリックで走れば十分 いいエディタを選ぶことだ
648 :
578 :2008/03/02(日) 02:01:53
>>646 OfficeのProfessionalについてるScriptEditorならJIT有効にすればアタッチさせてデバッグできますよ。
VisualStudioならShell.Application内も参照できました。
メモ帳でアプリ作ってるとこにエクスタシー覚えるんだよ。
>>648 Thx!
VSで使えるとは・・・
それは素晴らしい
>649 ごめん俺サクラエディタ使ってる
誰かHTA開発用の伝説のIDEをつくってくれ! HTAで
htaってwindow閉じるとクッキー消えるのか…?
期限付け忘れてないか? XPSP2でクッキーは使えた記憶があるぞ
ありがとう
656 :
デフォルトの名無しさん :2008/03/08(土) 21:07:16
ドラッグでウィンドウ動かすサンプルある?
<div>とかじゃなくてウインドウ自体を動かすの?
試したことはないが出来そう クリックでフラグON mousemoveで差分取って動かす
>>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>
リサイズとか移動とかするときに 左ボタン押してるとエラー出るんだよね。厄介な。
右クリック仕様だ。 スクロールバーだと左ボタンでもついてくるな。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>
タイトルバーをドラッグしたらウィンドウ移動できたよ!ヒャッハーーーーーーツ!!!
3点
665 :
656 :2008/03/12(水) 20:30:12
亀だけどd
>>662 のソースだとうまくいくな。
ただ左ドラッグで動かないようにするのはどの部分なんだ?
単純に左クリックだったらreturn false;とかならわかりやすいんだが。
しかも
>>660 との違いがいまいちワカンネ
単にエラーになってるけどtry〜catchで無視されてるってだけか?
let'snoteのヘルプがHTAだった。 もう十分必要なところで流行ってるじゃね?
667 :
662 :2008/03/12(水) 23:39:30
>>665 その通り、catch(e){何もしない}
他の違いはスクロールバーをアクティブにさせているのとcontextmenu='no'
でも右で移動って不自然だよな。 こういうちょっとした所で残念賞なんだよなhtaは
<script language="javascript"></script>内で、ファイル保存、ファイルオープン、フォルダセレクトのダイアログを表示させる方法を教えてください 確かに前使ってた記憶があるんだが、ソースもないし検索してもさっぱり見つからない
showModalDialog
タグをもっと増やして欲しい。
そこでHTCですよ
673 :
デフォルトの名無しさん :2008/03/16(日) 18:57:33
vistaのコンパネって実はhtaだったりしないかなぁ htaだったらsauceを参考にしたい部分が山ほど有るんだが
sauceってフランス語?
英語にあるけど?
この文脈ではsourceだろうな。
そりゃ調べて分からない事なんて無いな
>>679 驕りすぎ。
人間は万物の長とでも思ってるのか?
万物の長の意味がわかってるのか?
中国の城
Ctrl+Pできる?
いい加減に城
できるならhtmlとれる
687 :
デフォルトの名無しさん :2008/03/20(木) 21:14:47
それは右クリックソース表示とは違うのか とられたくなければ、キーイベントnullでreturnしとけばよい
688 :
デフォルトの名無しさん :2008/03/24(月) 12:57:14
なんかの間違いで半年ぶりくらいにこのスレ開くが 案外伸びてるな。
コンパネで右クリックソース表示できんだろ?
タスクマネージャーでmshtaが起動してないからHTAのわけないんだよ
>>690 リソース内のファイル拡張子は .hta だ。
タイトルバーをクリックしたときのイベントって拾えますか?
無理じゃね?なんとなく
タイトルバーなくして、自分でタイトルバーもどきを作れば?
タイトルバーの機能って何だ? 左端のアイコンをクリックスるとメニューが出る 右端にクローズとか最大化とかのボタンを設置 それ以外をドラッグするとウィンドウ全体をスクロール ダブルクリックすると最大化←→解除
<hta:application caption="no"> <img src="title_Bar_modoki.jpg" style="position:absolute;">
htaをexeにしようと思ってhtabox使ったんだが アイコンが強制的に変えられる。 なんかアイコン変えるソフトってある?
こんなレベルの奴がHTA使ってるなんて信じられないぜ( ゚д゚)ポカーン あ、もしかして4/1ネタ?
resourse(笑)
resauce(正)
まったく持って(正)でないし IMEで英語辞書ONにしてリソースで変換したほうが早い
まったく持って(笑)
国語辞書をまったく持ってないのか?
遺憾と言わざる負えない
書いた後でcとsに気が付いたけどわざわざ訂正するまでもないかと思った。
HTAの中で
<a href="
http://www.yahoo.co.jp " target="_blank">ほげ</a>
と書いてこれをクリックすると、標準のブラウザーではなくIEでリンク先が開いてしまいます
標準のブラウザーで開くにはどうしたら良いのでしょうか
レジストリから標準のブラウザを調べて WshShell.Run()する
直接url指定でいけるんじゃね?
言われてみればそうだね
<html><head>
<script type="text/jscript">
var WshShell = new ActiveXObject("WScript.Shell");
function go() { WshShell.Run(event.srcElement.href); return false; }
</script></head>
<body><div><a href="
http://www.yahoo.co.jp/ " onclick="return go()">Yahoo!</a></div></body>
</html>
じゃあHTA内でURLを開くには?
iframe
HTAの中にiframeでhtmlを表示してるのですが 1.親のHTAからiframeの中のhtmlのオブジェクトにアクセスする 2.子のhtmlが「自分は今HTAの中で実行されている」or「自分は今html単体で実行されている」かを判断する にはどうしたら良いのか教えてください javascript iframe でググったサンプルを試してもことごとく使えないのですが、htaの時にはセキュリティかかってるのかな
<title>親です。</title> <iframe src="kodomo.htm" application="yes"></iframe> <title>子です。</title> <script> document.write(parent.document.title); </script>
ありがとう
htaと同じく無セキュリティ状態になるから外のWEBは表示しないほうがいいぞ。
function adoSaveText(filename, text, charset){//テキストファイルを保存する /*charset の値の例: _autodetect, euc-jp, iso-2022-jp, shift_jis, unicode, utf-8,... */ try { var stream, text; stream = new ActiveXObject("ADODB.Stream"); stream.type = 2; stream.charset = charset; stream.open(); stream.writeText(text); stream.saveToFile(filename, 2); stream.close(); }catch(e){ return e; } } rez=adoSaveText("ほにゃらら.txt","text","unicode") で、 rez['name']=Error rez['number']=-2146825284 rez['description']=ファイルへ書き込めませんでした。 rez['message']=ファイルへ書き込めませんでした。 な、エラーが返ってきたのですが、当然"ほにゃらら.txt"を開いているアプリケーションはありませんし "ほにゃらら.txt"をリネームすることも出来ます 急に何の前触れもなく発生するんですが、原因分かる人教えてください
ADODB.Stream htaでぐぐれんこん
もちろんググったが、セキュリティが理由で書き込めないのしか見つからない 本当に「いきなり」書き込めなくなるんだ で、諦めて放置してたら書き込めるようになっていたりする
723 :
1 :2008/04/14(月) 22:52:07
で、諦めて放置してたら書き込めるようになっていたりする
ってもう解決したみたいに言っちゃったけど、
>>720 の原因はまだ分かっていないので回答よろしくお願いします
名前欄は間違えた
自己解決
教えて
>ファイルへ書き込めませんでした。 は >セキュリティが理由で書き込めないの だろ?
フォルダの権限とか
>>727 セキュリティを返るような事は一切していないのに書き込めなくなるんだよ
どう解決したのか教えてくれよ
>716,718,720,722-725,729が俺なんだけど 配列Aのデータを for(i=0;i<A.length;i++){ A[i]をファイル"ほにゃらら.txt"に書き込み インラインフレームのsrcを"ほにゃらら.txt"にして、インラインフレームを更新 } って事をしていた で、A[0]をファイルに書き込むのは成功するんだけど、A[1]以降は必ず失敗していた 配列Aの長さは毎回変わるから、A.length=1の時は正常に書き込めていて A.length>1&&i>1の時だけファイルの書き込みエラーが発生していたんだけど、配列の長さは手動で決定している訳じゃないから >本当に「いきなり」書き込めなくなるんだ と、思ったわけ で、ここまで来れば分かると思うけど インラインフレームのsrcを"ほにゃらら.txt"にして、インラインフレームを更新 ってのが原因だった インラインフレームの更新は document.getElementById('log').src="ほにゃらら.txt"; こうやって行っていたんだけど、これは、インラインフレームが読み込み中 つまり"ほにゃらら.txt"をロックしている時に次の命令(=A[i]をファイル"ほにゃらら.txt"に書き込み)に移行しちゃって インラインフレームとして読み込み中の"ほにゃらら.txt"に書き込もうとしてエラーが発生していたというわけ おしまい
ありがと。
>な、エラーが返ってきたのですが、当然"ほにゃらら.txt"を開いているアプリケーションはありませんし が嘘だったってこと?
なら分かるわけがないな
>>733 for(i=0;i<A.length;i++){
A[i]をファイル"ほにゃらら.txt"に書き込み
インラインフレームのsrcを"ほにゃらら.txt"にして、インラインフレームを更新
}
を、実行したら2ループ目移行は上記の理由でエラーになる
それが「エラーが起きて書き込めない」って思った理由
インラインフレームの更新は人間にとっては一瞬だから
テストしたらエラーが出る
↓←この間に読み込みが終わった
うーん、もしかしてファイルにロックがかかってるのか?
チェックしてみよう
まさかmshta.exe内部でファイルロックしてエラー起こしてるとはね
まさか自分で開いておきながら >な、エラーが返ってきたのですが、当然"ほにゃらら.txt"を開いているアプリケーションはありませんし とはね
もうやめてっ! とっくに731のライフはゼロよ!!
>>720 を読めば「ロックしているアプリケーションは無いのに書き込めない理由が分からない
ロックしているアプリケーションがない根拠はリネーム出来るから」って分かりそうなものだが
分からなかったのか
意味不明
まぁ本人には意味分かって当然だよな。
そりゃリネームや同一ドライブ上の移動ならね ファイルではなくファイルとは別に管理されてる 「ファイルの置かれてる場所」の情報を弄るだけだから まあ、そういうことも出来ないようなロックの仕方もあるけどね
首先 用 ExtractIcon 获取图像句柄 然后用 OleCreatePictureIndirect 函数保存图像 まず、API関数ExtractIcon使って、IconのHandlerを取得する。 取得したHandlerがOleCreatePictureIndirectの引数として、HandlerのIconが保存できます 道が見つかりました、ただし、また試してなかった。
2chもグローバルになったもんだなぁ
EXE から iconを取得 HTA: <html><head><title>タイトル</title> <script language=vbscript> Sub window_onload() Set myXlsAPP = CreateObject("Excel.Application") myXlsAPP.Visible = False Set myTEST = myXlsAPP.Workbooks.Open("c:\book1.xls") myXlsAPP.Run("SaveIcon") myTEST.Close() myXlsAPP.Quit End Sub </script> </head> <Body> </Body> <input type = "image" src ="c:\cd.ico" alt="Ea" style="Height:20;Weidth:20"> </html>
Public Sub SaveIcon() hIcon = Excel.ExecuteExcel4Macro("CALL(""shell32"",""ExtractIconA"",""JJCJ"",0,""D:\Program Files\Warcraft III\Frozen Throne.exe"",0)") ' DestroyIcon hIcon Dim icn As StdPicture Set icn = CreateOlePicture(hIcon) SavePicture icn, "c:\cd.ico" End Sub
Public Const PICTYPE_ICON = 3 ' The picture type is an icon. When this value occurs in the PICTDESC structure, it means that the icon field of that structure contains the relevant initialization parameters. ' Type - OleCreatePictureIndirect Public Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type ' Type - OleCreatePictureIndirect / OleLoadPicture Public Type PICTDESC_ICON 'picType = PICTYPE_ICON cbSizeOfStruct As Long 'UINT // Size of the PICTDESC structure. PicType As Long 'UINT // Type of picture described by this structure, which can be any of the following values: PICTYPE_UNINITIALIZED, PICTYPE_NONE, PICTYPE_BITMAP, PICTYPE_METAFILE, PICTYPE_ICON, PICTYPE_ENHMETAFILE hIcon As Long 'HICON // The HICON identifying the icon assigned to the picture object. End Type Public Declare Function OleCreatePictureIndirect Lib "OLEPRO32.DLL" (ByRef PicDesc As Any, ByRef RefIID As GUID, ByVal fPictureOwnsHandle As Long, ByRef IPic As StdPicture) As Long 'As IPicture) As Long
Public Function CreateOlePicture(ByVal PictureHandle As Long, _ Optional ByVal BitmapPalette As Long = 0, _ Optional ByVal MetaHeight As Long = -1, _ Optional ByVal MetaWidth As Long = -1, _ Optional ByRef Return_ErrNum As Long, _ Optional ByRef Return_ErrDesc As String) As StdPicture On Error Resume Next Dim ReturnValue As Long Dim PicInfo_ICON As PICTDESC_ICON Dim ThePicture As StdPicture 'IPicture Dim rIID As GUID ' Set the correct GUID for the "OleCreatePictureIndirect" API With rIID .Data1 = &H20400 .Data4(0) = &HC0 .Data4(7) = &H46 End With PicInfo_ICON.cbSizeOfStruct = Len(PicInfo_BMP) PicInfo_ICON.PicType = PICTYPE_ICON PicInfo_ICON.hIcon = PictureHandle ReturnValue = OleCreatePictureIndirect(PicInfo_ICON, rIID, 1, ThePicture) ' Return the new picture Set CreateOlePicture = ThePicture End Function
EXEから、ICONを取得して、保存する。 No746 HTA No 748,749,750 VBA
詳しくないから間違ってるかもしれないが、VBA依存してるから役立たずじゃないか? EXEを直接解析して抽出、保存できたほうが便利だし
んで、そのicoをhtaで表示するには?
確かに、もし、すべでのソースがHTAで作りできれば、素晴らしいですのに。 HTA、下記の制限あります。 @HTAが直接APIを呼び出しができない A画像Object使えない。 B更に、VBS使えるStreamがTextStreamだけです。 ExtractIconAがEXEの中のICON資源のHandleだけ取得できます。 Handle取得後、ICONファイルを保存まで、せめて、画像Object、または MemoryStreamが必要です。 HandleがらStdPicture(画像Object)への道が、OleCreatePictureIndirectメソッドが使えるの方法。 StdPictureがVB系のOBJ、ただし、VBSで使えない。 Handle から MemoryStream への方法見つかりません。 画像ObjecObj、VBAで直接SavePictureを使います、すぐにICOファイルが出来ます。 もし、VBA使わない、もう1つ道ある:RES。 この道が試してました。Res://FileName/%233/ID この形式のICON資源がHTMLで表示できない、 もし、資源のファイル名分かります、たとえば Res://NotePad.exe/1.icoが、HTMLで画像が表示できる。 ただし、EXEのICON資源、ファイル名がありません、資源番号だけつきます。 ちなみに、Res://FileName/%233/ID IEで表示されるのものが読めないの文字列。 この文字列直接保存すれば、ICONファイルが取得できない。 EXEファイルのICON、HTAで表示の方法、 以上です、変な日本語、すみません。 (上の方欲しいの機能、休みの時に、家で20時間以上Webで調査しました、予想な結果出るの瞬間、とても嬉しい。)
755 :
デフォルトの名無しさん :2008/04/21(月) 00:19:34
↑ 翻訳ソフトつかってるの?
給我一些錢
翻訳ソフトのレベル? 給我一些錢。
758 :
デフォルトの名無しさん :2008/05/04(日) 11:04:00
質問です。 access形式のデータベース(mdb)のテーブルにimage型で格納してるjpg画像を<img>タグで表示させたいんですが、 src=に何を指定したらいいかわからんので誰か教えてくれませんか?
>>758 ちょっと逆に質問だけど
sec=に何か指定したらmdbにあるimage型のデータを画像として表示できる,って誰かが言ったの?それともただの想像?
760 :
758 :2008/05/04(日) 18:44:23
>>759 さん
反応ありがd
その感じではどうも無理のようですね;
ええ、想像ですとも。
他に方法といえばmdbには画像のパスだけを格納し、画像ファイルは適当なフォルダにベタ置きくらいしか思い付きません。
DBにimage型とかわざわざあるからなんか巧いやり方があるはずだ、と思って。。。
>>760 HTAで表示できるのはHTMLに沿った形のものだけ。
HTMLファイル自体に画像を埋め込んでも、表示はできない。
src=で指すのは画像のある場所であり、画像そのものではない。
760にある方法以外では、DBにはimageの情報を入れ、必要時にテンポラリのフォルダに
出力してそれを表示するってことも可。
762 :
758 :2008/05/04(日) 23:33:48
>>761 さん
mdb内の場所を指定する方法があるのかなーとおぼろげながら期待していましたが、これで吹っ切れました。
ありがとうです。
テンポラリ出力も研究してみます。
画像データってDB内に格納しちゃうと意外と不便なんですねえ。。。
最近のアクセスにはimage型なんてあるのか・・・
まさかOLEオブジェクト型のことを言ってるのじゃあるまいな あれは辛い……格納したデータを取り出しても使い物にならぬ……
配布範囲が狭いなら、テンポラリ出力するよりも、DBアクセスするCGI書くほうがいいと思うよ。
766 :
デフォルトの名無しさん :2008/05/05(月) 03:53:10
<img src="mdb: select `image` from `bbs` where msgid=100"> ・・・とか想像しとったんやろ、きっと。でも、そうは問屋が卸さない。
普通にaspじゃないの?MSのサイトにいくつかサンプルあるみたいだし
HTTPのbody要素にバイナリぶっこむだけ
HTTP…?
perlとかでデータベースにアクセスして得たバイナリを 普通の画像のようにレスポンスを返せばいいってことかと
すでにHTAの範囲を逸脱しまくってるわけだがw
あとはsrcに指定するURL参照に対して,DBにアクセスする機構を持つようにするとか ともかく今普及しているWindowsようなクライアント機では実現できていない もしくはimg.srcに_blankでも指定しておいて,スクリプトで直接データ拾ってくるとかかな でもmdbのimage型というのがよくわからんので,どういう風に流用すれば良いのかしらん
>>774 これか? 役にたたんな。
IMG
IMGエレメントは、データソースオブジェクトから与えられたデータに適用し、SRC属性で画像の配置、ロード、表示を指定する。
バインドされたカラムから生の画像データを与えることはできない。
バインドされたIMGタグの例を次に示す。
<SPAN DATASRC=#dsoImages DATAFLD=image></SPAN>
同じHTAを同時起動したとき、HTA同士でデータのやりとりってどうすれば出来るんですか?
ファイルかIEで
もうすこしエレガントな方法があったような気がしたが忘れた。誰か補足よろしく
有るけど面倒なのでファイル介した方がいいよ 少なくとも独力で調べられないような奴が手を出す技術じゃない
HTAでIE使わずって…
>>780 HTA自体がIEコンポで動いてるわけだが
それ以外に明示的にIEを介す必要は無いけど
IE使ってどうやるの?
SendKeysで送信し合う
>>784 これは
>>776 の回答にならないような気がする。なってる?
それにIE使ってる訳じゃないね。
new ActiveXObject('InternetExplorer.Application'). ここまでやっておいてIE使ってないとは言わせませんよ。
クリップボード使うとか?
パイプとか?
レジストリとか
>>786 HTAのwindowオブジェクトさえ取れればもうやりたい放題だよ。
792 :
786 :2008/05/17(土) 18:22:26
そうだね。ごめんね。
hta+JScriptでsleepするのに何が一番いいですかね?何か色々やり方があるみたいだけど。 OSは2000,XP,Vistaで動くのは必須。できれば9xでも動くと嬉しい。 なるべくシンプルで分かりやすい方法がいいです。 やりたい事は : eee = www.Exec(こまんど); while(eee.Status == 0) { すりーぷ } : です
setInterval or setTimeout
内容からして多分そうだと思うけど作者の情報が一切ないな
中の人、このスレ見てるんだから返事ちょうだいよw
>>795 eee = www.Run(こまんど,1,true);
objectタグから接続したイベントは非同期で受け取れる?
あーもうHTAにいいデバッガないのか
上のtopmosuはかなり強引だな もっとスマートに出できんものか
>>494 の辺で言ってた「Refererでユーザー名漏れてね?」だけど
vista SP1ならRefererちゃんと変える事が出来た
httpoj.setRequestHeader("Referer", "ほにゃらら");
早速変えておこう
>>32 Vistaで一覧部分を素早くあちこちクリックすると
NTFSボリュームメンテナンスユーティリティ
DiskPart
っていうUACのダイアログが出る
なんじゃこら?
>>805 diskpart.exe ですが、何か?
おぬし、何者じゃ?
HTAで画面のリサイズに合わせてコントロールの大きさを変えるのはどうすればいいの?
window.onresize で変えれば。
例えばtextareaを画面いっぱいにしたい場合ってどうやるん?
こんな過疎スレで聞く質問じゃない。 WEB製作板にでも池
まあHTA固有の話って訳じゃないからな
with:100%
>>814 うっすら光というかウッスラパーと言うか。
>>813 なぁ〜るほど。そういうふうにやるのか。
width?
ttp://pokesho.sakura.ne.jp/oekaki1/ をXMLHttpRequestでgetしてresponseText取得したいんだけど
見事に文字化けしてる
どうもXMLHttpRequestはShift_JISが化けるらしいんだが、解決策あったら教えてくれ
サーバーサイドでヘッダーにxxを付ければ〜とか言うサイトはあるんだが、管理人じゃなくても出来る方法で無い?
ファイルに保存して開きなおす
バイナリをストリームに取得して、文字コード合わせてから読めばいいじゃん
821 :
デフォルトの名無しさん :2008/05/27(火) 18:50:09
職場のPCでは focus(); が効かないのだけど、何故だろう? javascriptもvbscriptもダメ。 ファイルの拡張子をhtaからhtmに変えると効きます。
822 :
デフォルトの名無しさん :2008/05/27(火) 19:48:36
↑の補足。 window.resizeTo(x,y); window.moveTo(x,y); はOKだけど、 window.forcus(); はダメでした。家のではちゃんと効きます。 どちらもXP(SP2),IE6です。 WindowsかIEかグループポリシーで設定できるのだろうか?
foregroundlockTimeout
824 :
デフォルトの名無しさん :2008/05/29(木) 13:19:00
thanks > 823 家PCがdefault値でないとは意外だった。 職場アカウントのレジストリを変更してfocusが動いたのでよかったが、 他の人はどうしたものか、管理者と相談しないと。
new ActiveXObject("wscript.shell").SendKeys("%{tab}"); window.focus();
826 :
デフォルトの名無しさん :2008/05/29(木) 16:59:33
thanks > 825 動きました。レジストリを変えなくても動いてイイカンジです。 十秒間フォーカスを維持しようと0.1秒毎にforcusしてたら、その都度 裏のウィンドウのステータスバーがリフレッシュされているようで(上手く言えない) 忙しそうな画面になります。 おかげで語彙が増えてきたのでぐぐったら、先人の苦労を知りました。 表示側のhtaと、制御側のwshの2ファイルに分けて、 WshShell.Exec と AppAcrivate を使えば制御できそうなのでチャレンジしてみます。
そこまでするかね・・・ ダイアログじゃダメなの?
質問です。 デュアルディスプレイ環境でプライマリモニタ以外の サイズや位置を取得する方法はありませんか?
HTAのウィンドウにD&Dしたファイルを拾う方法って vectorのClipboard.HTA以外に無いの?
いや・・・ハ?
832 :
デフォルトの名無しさん :2008/05/29(木) 22:28:06
その Vector の Clipboar ナントカカントカがどんなのか知らんが D&Dとクリップボードは無関係やろ。
ああスマン Clipboard.HTAってウィンドウにD&Dしたファイルをクリップボードにコピーするスクリプトなんだけど その「D&Dしたファイルを拾う方法」以外に無いの? って事 Clipboard.HTAから最低限必要な部分だけを切り取ると <object id="dd_1c" classid="CLSID:8E3867A3-8586-11D1-B16A-00C0F0283628" > <PARAM NAME="OLEDropMode" VALUE="1"><PARAM NAME="Style" VALUE="1"><PARAM NAME="Simpletext" VALUE="ここにD&D"> </object> function dd_1c::OLEDragDrop(Data,e){ //Data.Files.;DDしたファイルの数 //Data.Files.Item(n);n=1〜でDDしたファイルのフルパス if(e==7){ //こっちはファイルです }else{ //こっちはファイル以外の何か } } で、objectにファイルをD&DするとData.Files.Item(n)にD&Dしたファイルのパスが取得出来るんだけど この方法、「オブジェクトにD&Dしたファイルを拾う」事しか出来ないから、 「このテキストボックスにファイルをD&Dしたら…」って事は出来ないんだよ だから他の方法無いかなって
>>833 他の方法が無いからああいう事をやってるんだろうけど
開発環境のインストールが必要なんじゃ全然使えないね。
で、テキストボックスにD&Dの方法だけど、
ドラッグ時だけテキストボックスをobjectに表示切替すれば擬似的に可能なんじゃ?
と思ってソースを覗いてみたら初めからそういう風に書かれてるやん
ライセンス(.lpk)添付すればいいんじゃね
express editionでもいい
>>833 >「このテキストボックスにファイルをD&Dしたら…」って事は出来ないんだよ
PowerShellにすれば出来る
このスクリプトの実行を中止しますか?
このページのスクリプトが、Internet Explorer の実行速度を遅くしています。
スクリプトを実行し続けると、コンピュータが反応しなくなる可能性があります。
これを今実行しているhta内だけで無効化する事って出来ない?
http://support.microsoft.com/kb/175500/ja には5秒でこのアラートが出るけど、レジストリを書き換えれば大丈夫だよ! ってあるけど
出来ればレジストリは書き換えたくない
レジストリ弄るのを怖がるような奴が スクリプト系に手を出すなよw
レジストリ()
>>840 怖いって言うか、自作だから永久ループはないと自信持ってるけど
インターネット上ではそうと限らないからこの安全機能はオフに(又は緩く)したくないんだよ
それにHTAならタスクマネージャーから無限ループに入ったHTAだけを殺すことも出来るけど
タブブラウザで無限ループに入っちゃったらタブブラウザごと落とす必要があるのが嫌なの
HTA実行するときだけオフにすればいいやん ついでに言うと > タブブラウザで無限ループに入っちゃったらタブブラウザごと落とす必要があるのが嫌なの そんな糞ブラウザ捨ててしまえ うちのはページが原因で死ぬときはタブ単位で死ぬぞ プラグインとかユーザースクリプト(ブラウザに登録してる拡張スクリプト)が原因の時はブラウザごと死ぬけど
オフにすればいいじゃんって 月一回しか使わないhtaじゃないんだから onloadでregファイル書いて書き換えてやろうかと思ったけど、onloadが読み込まれる頃に書き換えても無駄だしなぁ んで、タブを指定して落とせるタブブラウザーなんてあるの?
ラッパー咬ませればいいだけじゃん なにもいちいち手動で変更しろなんて言ってない 普通、関連付けは .hta→mshta.exe だが .hta→ラッパー にする ラッパーの動作は レジ書き換えてからmshta.exeに.htaを渡し、mshta.exeが終了したらレジを戻す たったこれだけ んで、ブラウザはタブを指定して落とせるというか、固まるときにはタブ単位で固まり タブ内の操作は受け付けなくなるが、メニューやツールバーの操作は出来るので 固まったタブをアクティブにして「Close Active Tab」でおk あとはリアルタイムで作業状態を保存するブラウザなら、ブラウザごと固まったり落ちたりしても さほど問題無いんじゃね?
↓ここのサンプルコードっておかしいよね。 clearTimeout メソッドの使い方がおかしいし、setTimeout を setInterval と勘違いしたにしても、 変数 idTimer はグローバルになっていないから PausedSection プロシージャに渡ってないし。 tp://www.microsoft.com/technet/scriptcenter/resources/qanda/mar06/hey0330.mspx
それに、setTimeout にしろ、setInterval にしろ、スクリプトは一時中断されないはず。
window.setTimeout("window.alert('hello')", 1000); window.alert("world"); hello world の順でアラートが出る。そんなふうに考えていた時期が俺にもありました。
確かにひどいな。
仮にも専門家が自社のソフトの使い方を知らんのか。
しかも誰も気づかないとは。
>>847 残りの処理は全部setTimeoutで指定したプロシージャにやらせろって事だろう
setTimeoutやsetIntervalの後に命令を書くと、タイマーが起動するまでにどんだけ命令が進むか分からないから setTimeoutやsetIntervalの後に命令は絶対書かないようにしてる
心配しなくても、マルチスレッドじゃないから。
window.close(); window.alert("ohhh!"); みたいな?
どうしてもタイマーで一時停止させたいときは、バッチファイル呼び出してる。 なんか気持ち悪いけど。
tiemoutのあるメソッドを探して呼び出せよ WMIとか
HTAで作った画面で ・テキストボックスでEnterしたら保存画面が出てきた ・F5押したら画面がリセットされた このブラウザ的な動作を無効にしたいのですが どうすればいいですか?
普通にやればいいと思うけど
?
イベントキャンセルかな
なるほど。onSubmitにfalseを返してやればいいのですね。
H・T・A ! H・T・A !
H・E・N・T・A・I ! H・E・N・T・A・I !
やったー!n秒停止プロシージャできたよー!\(^o^)/ Sub Sleep(n) CreateObject("WScript.Shell").Run "%ComSpec% /c ping localhost -n " & n & " >NUL", 0, True End Sub
n+1
CreateObject("WScript.Shell").Run "ping localhost -n " & n+1 , 0, True
このスレが停止しちまったじゃねぇか。
誰がうまいことなんたらかんたら
特定のページのクッキーを取得するにはどうしたらいいの?
例えば、
http://hoge.com/setcookie.phpで 、サーバーのレスポンスヘッダーからクッキーがセットされるサイトがあるとする
クッキーをgetcookie.phpから貰った後sendcookie.phpにアクセスすると、当然setcookie.phpから貰ったクッキーをsend.cookie.phpに送信する
今getcookie.phpに(IEから)アクセスして、既にクッキーは貰った状態であるとする
その時のクッキーの値をhtaからどこへもアクセスしないで取得するにはどうしたらいいの?
>>869 なんかマルウェアっぽい動きだから,多分出来ないと思う
無理か…
Excel.Application使わないで、ウィンドウを最前面にする方法を 教えてくださいませ。
ちくしょうモニターがコーヒーまみれだ
HTAのウィンドウ最前面は
>>410 みたいに外部に実行ファイルを作る方法しかないとおもう。
そもそも、IEとアクティブスクリプトの言語セットの中に ウィンドウ最前面固定表示機能が無い以上 外部のコマンドラインツールなりCOMなりに頼るしか無いわけだが
powershell使えばできる
そもそも最前面固定の話だったのか
onblurでfocusする
879 :
デフォルトの名無しさん :2008/08/04(月) 00:37:56
そもそもなんでHTAでexcelが出てくるんだ?
実はXPや2kに最初から入ってるとあるCOMを使うと、
>>454 のようにWin32APIのdllをコール出来る
参照渡しで値を得るようなAPIは使えないし、他にもいろいろ制限有るが
ウィンドウの最前面表示は問題なく出来た
ExcelのCOMライブラリってXPに元から入ってるもんなの?
なんか面倒そうだな rundll32とか使えばいいのに
446 名前:デフォルトの名無しさん[sage] 投稿日:2007年04月01日(日) 00:42:29【深夜】 教えたところで、何か俺にメリット有る? 上辺の感謝の言葉なんか嬉しくないし、逆に「ホントは知らないんだろ」とか言われても痛くも痒くもない。 何か俺の知らない有用なネタがあるなら、情報交換してもいいけど。 トップモストは"自称"やり方知っている人がたまに現れるけど、、誰も方法書かないよねぇ
886 :
デフォルトの名無しさん :2008/08/04(月) 15:44:12
446 名前:デフォルトの名無しさん[sage] 投稿日:2007年04月01日(日) 00:42:29【深夜】←www
この機能に対して「www」「フイタw」とか言う奴がいる事にフイタwwwわ
889 :
デフォルトの名無しさん :2008/08/04(月) 19:38:15
>>888 おいおいお前勘違いしてるぞww
それをJaneStyleで表示させてるかはみんなわかってるが
深夜なんて表示を使ってることを笑われてるんだぞ
まあ、夏虫は文章読解力がないからしかたないなww
890 :
デフォルトの名無しさん :2008/08/04(月) 19:43:52
ちなみに俺は「New!」をダブルでつけてこんな感じにしている
新着の時に見やすい
888 名前:デフォルトの名無しさん New!! [sage] 投稿日:2008年08月04日(月) 18:43:54 New!!
この機能に対して「www」「フイタw」とか言う奴がいる事にフイタwwwわ
(・∀・) ココカラ シンチャクレスダヨ !
889 名前:デフォルトの名無しさん New!! [] 投稿日:2008年08月04日(月) 19:38:15 New!!
>>888 おいおいお前勘違いしてるぞww
それをJaneStyleで表示させてるかはみんなわかってるが
深夜なんて表示を使ってることを笑われてるんだぞ
まあ、夏虫は文章読解力がないからしかたないなww
コピペ君って馬鹿だな、まで読んだ。
「深夜」の何処がおかしいのか分らんが まさか「0時はまだ深夜じゃない」とか言い出すんじゃないだろうな
>>446 が話をそらすことにまんまと成功しました。
HTAにあるまじき盛り上がりは自重
言っちまった以上引き下がれんのだろうがムリなものはムリです。
そうでもないか
出来るはずなのにやり方がわからないってのは気持ち悪いもんね。 出来ない、ムリ、不可能と思い込んで精神安定を図るのも一興です。
msgbox "ぼけ",4096
899 :
デフォルトの名無しさん :2008/08/07(木) 17:43:19
スレをコピペして他人に示す時は【深夜】なんて消すだろ常識考
スレ(スレッド)をコピペするなんて非常識極まりない
901 :
デフォルトの名無しさん :2008/08/08(金) 05:24:58
スレの全文コピーとは誰も言ってないようだが よほど頭の悪いやつが常駐してるようだなww スレとレスの揚げ足取りをして得意になってるようだが
902 :
デフォルトの名無しさん :2008/08/08(金) 05:29:21
スレの一部をコピペ スレの半分をコピペ スレの全部をコピペ つまりこの「スレのコピペ」という言葉は日本語として成立している 例えば 「私の書き込みに誰かのレスが付きました」 こいう文章なら 「レス」を「スレ」に置き換えることは出来ないが 日本語てむつかしいねwwまあバカ(=>900)に解説しても無駄か
903 :
デフォルトの名無しさん :2008/08/08(金) 06:06:38
なんか・・・かわいそう
間違っちゃった子が必死で自弁w
まぁ夏休みだしなー
907 :
デフォルトの名無しさん :2008/08/08(金) 13:44:45
900=903=904
残念、ハズレ
誰が誰を叩いてるのかさっぱり分らない件
910 :
デフォルトの名無しさん :2008/08/09(土) 18:19:13
HTAでシューティング作るとしたら、ネックは音とコントローラ対応かな
うん
早いよこの過疎スレで
>>912 下らん自己満足のために今後3年にかかることをしょうもないネタの対象にすんなよクズ
埋め立てが来るぞーー
916 :
デフォルトの名無しさん :2008/08/10(日) 20:16:22
917 :
デフォルトの名無しさん :2008/08/10(日) 20:16:54
918 :
デフォルトの名無しさん :2008/08/10(日) 20:17:54
>>914 スレを使い終わる年数などきまっとらんぞ
919 :
デフォルトの名無しさん :2008/08/10(日) 20:18:38
>>914 工夫次第でいかようにも出来る
モンクを言う前に知恵を出せ
やる気と知恵と工夫だ
連投すんなカス
13:41:55なのに【深夜】って・・・
だな どうせやるならその辺まで拘ってやればいいのに 思い立ったら時期も時間も考えず即発射 まったく早漏君には困った物だ┐(´ー`)┌ まぁどうせここが埋まる頃には誰かが立て直して 最初はもめても最終的にはそっちが本スレになるだろうからいいけどね
>>921 お前バカだろ
スレ立った時間と関係無いだろ。どーかんがえても
925 :
デフォルトの名無しさん :2008/08/11(月) 12:12:27
板違いまで面倒見切れるかよ禿げ
926 :
デフォルトの名無しさん :2008/08/27(水) 01:41:09
HTAから WScript.Shellを使ってコンソールプログラムを起動して 標準出力を取ってるんだけど、どうしてもコンソール(DOS窓)が 一瞬開いちゃうんで、なんとかしたいです。 どうしたらいいでしょうか。
コマンドプロンプトのサイズを小さくするとか、画面の外に持ってくとか
つCMDOW
930 :
926 :2008/08/27(水) 21:04:14
>>927 標準出力がほしいからexecにしたかったけど
仮ファイルにリダイレクトすればいけそうだな
やってみるよ
IE8beta2でmshta.exeの更新日時が変わってる
標準出力使う場合はファイルに落とすにしろ窓消せないよ
935 :
932 :2008/08/31(日) 07:36:43
ああすまん普通にログとか出力できてたわ WshShell.ExecのStdoutプロパティ使う場合にいろいろ困るんだった
936 :
926 :2008/09/01(月) 01:22:08
最終的に配布すべきファイルはhoge.htaひとつだけにしたいんだよね・・・ わがままだね、ごめんね
>>936 我が侭というか、技術も知識も無いくせに何でカッコ付けようとするの?
仕事でやってるならカッコ付けるまえに技術や知識を磨けよ
仕事じゃないなら今の技術や知識に見合った出来映えで満足しとけよ
939 :
926 :2008/09/02(火) 03:19:39
>>938 かっこつけたい年頃なんだから仕方が無いです。
とりあえず、なんとか形に出来ました。
>>937 結果的にExecCommand2と似たような機構になった。
VBScript嫌いなんで、意味無くJScriptだけど
昔からずっと疑問に思ってるんだけどさ。 「exe1つにしたいんです」とか「1ファイルで配布したいんです」っていう質問って後を絶たないんだけど 何の意味もないよな・・・? まともなプログラマならもっとモジュール化(dll分けたり)を進めたりデータとプログラムを分離したり して保守性をあげるほうに向かうと思うんだが… 初学者がかかる病気か何かなのかね?
おまいさんはかからなかったの? 超単純機能のアプリのくせに、ライブラリが芋づる式についてくるのも 受け取るほうとしては閉口するけどな。
>>941 なんで保守性を上げるために(必要に応じて)モジュール化って話なのに、
「超単純機能のアプリのくせに、ライブラリが芋づる式」なんて話になるんだ?
それは「無駄に細モジュール化」してる極端な例だろ
そんな極端な例には誰だって閉口するわな
というか、941の流れ読めなさと極端さに一瞬閉口したよw
>>940 初学者というか、論理的思考の出来ない奴がかかる病気
プログラムに置いて、何を優先するべきか、何を重視するべきかを
きちんと考えられる人は、プログラム技術や知識に置いて初学者でもこういう病気には掛からない
もっとも、病気じゃなくても内容によっては結果的に実行ファイル1つになることは多々あるけどね
久しぶりに来てみればあいかわらず優越感ゲームが好きな連中が集まってくるスレだなここはw あほくさ
悔しかったのかな?
時には妥協も必要、ただそれだけの話
exeのサブストリームに設定書きたいと思った奴は挙手 ノ
>>946 設定は別ファイルにしたい。
内容どころかあるのかないのかすらパッと見ではわからないっていうのはちょっと…
フロッピー時代には自分のケツに書き込むやつもたくさんあったな。 クラスタギャップ馬鹿にできんし。 ・・・よく考えたらHTAってテキストだしxmlにも出来るから自己書き換えって結構向いてるかも?
mhtmlなら1ファイル
SFCminiでMB_OKとかの定数って JScriptから使えますか?
サブストリームの存在を知った時は驚いたな でもあんま有効活用してるソフト無いよね せいぜいサブストリームを覗いたり編集したりする程度
というか、c言語なんかで定数が使えるのはヘッダに書いてあるからであって SFCminiに定数の宣言されたヘッダがないなら、値を調べておいて var MB_OK=0; とする。面倒なら直接0とか指定してもいいし
>>952 やっぱそうですか・・・
win32apiの定数の名前と値が
ズラーっと並べてあるようなページとかありませんか?
replaceでJScript用に一発置換できそうなのがよりいいんですが
HTABOXで作ったEXEのアイコンて 好きなのに変更して配布するのってアリ?
>>942 配布やインストールが楽である
というのが最重要な場合もある
C:\Program Files\Microsoft Visual Studio\COMMON\Tools\Winapi\WIN32API.TXT
>>956 MD5
5BD0F5DCEF7EF8E03E762DDFAD9CCD02
ですがどうでしょう?
>>953 一括で並べてあるページは知らないな
1.MSDNでどのヘッダにあるか確認して直接ヘッダ(bccをインストールしてincludeディレクトリ以下)を覗く
2."define 定数名"あたりで検索
3.winapi32.txtを入手して正規表現で引っこ抜く(しかしVB向けなので該当行を抽出後、置換が必要か)
960 :
953 :2008/09/03(水) 16:37:55
>>959 とりあえず
>>957 で入手したwinapi32.txtに変換かけてます。
普通の定数は変換終了したんですが
構造体をSFCmini用に変換するのをどうするか思案中です。
SFCminiで宣言できる構造体メンバの型は↓しかないんですよ
http://kandk.cafe.coocan.jp/sfcmini/item-151.html Byte (バイト型)
Integer (16ビット整数型)
Long (32ビット整数型)
String (ANSI 文字列型)
Unicode (Unicode 文字列型)
String*長さ (固定長ANSI 文字列型)
Unicode*長さ (固定長Unicode 文字列型)
SfcMini.Structureオブジェクト (入れ子の構造体宣言に使用)
大まかに置換してあとは手動?
961 :
953 :2008/09/03(水) 17:37:20
構造体は文字列の配列に置換して コメントアウトしておくことにしました。 とりあえず当初の目的の8割は達成できたのでよしとします。 ありがとうございました。
>>960 あやしい変換ツール作った
以下を適当な名前.htaで保存して、テキストエリアにwin32api.txtをコピペしマウスのフォーカスをはずすと変換
As 〜の基本的な型は用意されてる前提でチェックせず変換してるので注意
特に、構造体の入れ子は処理してないんでそこら辺は自分でやってくれ(デフォルトの型以外はクォーテーションはずすだけでいいはず)
<html>
<head>
<script>
function conv(obj){
obj.value=obj.value
.replace(/(Declare| *')[^\r\n]*/g,'') //コメントと関数のプロトタイプ宣言を消去
.replace(/Public Const ([^\r\n']+)/g,"var $1;") //定数を宣言
.replace(/&H([0-9A-Z]+)\D?/g,"0x$1") //VBからJS的な表記に直す
.replace(/ Or /g," || ")
.replace(/ And /," && ")
.replace(/ {4}/g,'\t') //スペース4つをタブに
.replace(/([^\s]+) *As *([^\s]+)/g,"\"$1\",\"$2\",")
.replace(/([\r\n]*?)Type (\w+)(([^\r\n]+[\r\n]+)+?)End Type/g,'\nvar $2=WScript.CreateObject("SfcMini.Structure");$1$2(\n$3);')
.replace(/\([\r\n]+[^\r\n]+/g,'(')
.replace(/,(\s+\);)/g,"$1")
.replace(/([\r\n]+){3,}/g,'$1');
}
</script>
</head>
<body>
<textarea onblur='conv(this)' rows="30" cols="100"></textarea>
</body>
</html>
>>962 ありがたいんですがちょっと変換結果もあやしいっぽいですw
構造体名の最後の1文字欠損してたり
構造体の中身が何もなっかったり
どこからどこまでが構造体の中身かわからなかったり・・・
参考にして改造してみます
HTAでWEBサイトからDOMを取得したいんですけど、いい方法はないでしょうか? 目的のWEBサイトのContentTypeがtext/htmlなのでMsxml.XMLHTTPのresponceXMLではnullになってしまう制限があるようです。 現状はHTA内にiframeを非表示で設置してそこから取得していますが、どうも不恰好な気がして…
文字化けを恐れないならresponseTextをパースするか、createElementした要素のinnerHTMLに流し込んで利用する手もある あとはMicrosoft.XMLDOM(現在はMsxml2.DOMDocument.3.0以上が推奨だっけ?)あたりでやるしかない
非表示のie
967 :
964 :2008/09/05(金) 11:15:12
お二方レスありがとうございます。
>>965 ADODB.StreamでCharsetをあわせるようにしてあるので文字化けは大丈夫です。
XMLDOMというのは知りませんでした。調べてみます。
>>966 IEも考えたんですけど、自分の中でどうもiframeと似た不恰好さが気になります
htmlfile
普通のhtmlをxmlのdomに突っ込んでもパースしてくれないと思う。 xhtmlなら可。
970 :
デフォルトの名無しさん :2008/09/06(土) 04:38:58
MSHTMLにIPersistFileブチ込んでやればできないこともない hta単体でできるかしらないけど
971 :
デフォルトの名無しさん :2008/09/06(土) 14:05:16
HTAで数値計算やグラフ描画ができますか? 便利なクラスがありますか?
972 :
デフォルトの名無しさん :2008/09/06(土) 14:14:38
それなりに数値計算はできるし それなりにSVGとかVML使える環境もあるので それなりにできるんじゃないでしょうか,できないかも
Mathオブジェクト
974 :
デフォルトの名無しさん :2008/09/06(土) 15:07:46
開発環境はメモ帳?
>>971 VMLならIEのカスタムインスコではずしていない限り使えるでしょ。
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<style>
v\:* {behavior:url(#default#VML);}
</style>
</head>
<body>
<v:shape style="width:200px;height:200px" coordsize="100,-100"
path="m0,0 l 10,10, 20,30, 30,30, 40,70, 50,80, 60,50, 70,40, 80,70, 90,50, 100,100">
</v:shape>
</body>
</html>
976 :
デフォルトの名無しさん :2008/09/07(日) 13:28:33
どーでもいいけど、次スレ落ちてないか。
ホントだ 落ちてよかったじゃん
ここ、アクティブなときと過疎ってるときの落差が極端だからなー。
気を付けとかないと1000行くころには
>>979 も落ちてたりして。
その前にこっちが落ちる 980以降は24〜30時間書込が無いと落ちるから このスレが持つのは長くてもあと20日前後 実際にはそう都合良く24時間置きに1書込なんてならないから 1000行くにしても落ちるにしても、このスレが保つのは精々1週間だろ
とっとと埋めちゃえ!
梅 このスレみてはじめてVML知った。 IE使ってなかった自分に反省
HTAはクロスブラウザ対策とか考慮する意味ないし 豪快にIE依存でおkだから気楽でいいわ。
。
>>986 WindowsUpdateとかもろに影響を受けるから一長一短さ
はぁ?
>>988 とはいってもIEの挙動がそう豪快に変わることは
よくあるけど めったにないよ。
どっちなんだよ 俺としてはセキュリティー周りの制限とかWindowsUpdateでかなり変わってくるし、 クロスブラウザよりそういう面ではシビアだと思うけどね
クロスブラウザ問題とIEのセキュリティ変更の話は比較できる話か? どっちみちIEにあわせて対応すりゃいい話じゃねえの? まあ俺はWindowsUpdateで今までのスクリプトが使えなくなった事もないし
埋め
>>985 何気にGoogleMapで使われてたりするよ
UPDATEでADODB.Streamが使えなくなったんだっけ?
>>996 良く読まずに聴くのもあれだがHTAでも使えなくなると書いてある?
なんか使えてた記憶があるんだが
ggle
うめ
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。