1 名前:あらかわ [2005/08/21(日) 02:46:02 ] 過去スレ HTA研究会 piza2.2ch.net/tech/kako/996/996763278.html Web制作板のHTAスレ pc8.2ch.net/test/read.cgi/hp/1068286485/ あとはまかせた
176 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 23:46:02 ] 参考リンクが多いのがいいの? じゃ マネして Gadgetつながりで Yahoo WidgetやGoogle GadgetにみるCGUIの萌芽 ttp://www.atmarkit.co.jp/fwcr/special/henbou01/01.html "Web 2.0とリッチクライアントの関係と今後の動向について解説" HTAに関連? - 参考リンク - ブラウザを飛び越えて進化するリッチクライアント - スタンドアロン型リッチクライアントとは? ttp://www.atmarkit.co.jp/fwcr/special/richclient01/01.html 引用ここから〜 "リッチクライアントには、美しい色彩のイメージデータやアニメーションを取り込みつつ、 高い操作性/機能性の実装が容易で、 結果として高いUser Experienceの実現を可能にするポテンシャルを持つことが求められる。" 〜引用終わり HTAもスタンドアロン型リッチクライアントと考えていいんだよね? @IT > リッチクライアント & 帳票 ttp://www.atmarkit.co.jp/fwcr/ で見つけたフレーズ "みんなで情報を持ち寄って、Ajaxを育てよう" AjaxをHTAに置き換えて考えてみると"参考リンクが多い"のも案外
177 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 12:00:25 ] 「スタンドアロン型リッチクライアント」という捉え方は間違いではないと思います。 以下は個人的な意見ですが HTAでそれ(スタンドアロン型リッチクライアント) を前面に打ち出すのはちょっとキツイかな、とも感じます。 無理やり料理で例えて HTA以外の「スタンドアロン型リッチクライアント」を濃い味付けの料理だとすれば HTAは「豆腐」のように他の素材や料理と組み合わせたり 色々な使い方が出来るんだ、というようなアピールの方がいいんじゃないかと。 適当な例えが浮かばなくて。判りづらい文章ですいません。 どの道、「スタンドアロン型リッチクライアント」も 淘汰が始まっていくんじゃないか、と思いますし。 # 「利用者の生産性維持/向上」「Experience性の重視」といった考え方は有用だと思います。
178 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 17:31:41 ] 社員さん乙
179 名前:デフォルトの名無しさん [2006/07/01(土) 13:07:02 ] HTAってIE7の影響を度の程度受けるんですか?
180 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 10:24:24 ] >>175 コマンドラインヘルプの奴 >>32 の "Cmd Help Wrapper" ですか? サイト、落ちてるみたいですね。 今のところ web.archive で観られるようですね。 >>179 IE7はまだBETA版だし、影響、といわれても 上級者でも答えようが無いんじゃないでしょうか。 公開されているベータ版落としてきて色々試してみて、 要望とか不具合などMSの方へフィードバックするとか。 如何でしょう? hidebouさんのところに関連記事があったので紹介させて貰いますね。 IE7とMSHTA ttp://www5a.biglobe.ne.jp/~javajava/ari/etc/etc03.html
181 名前:175 mailto:sage [2006/07/02(日) 23:39:56 ] >>180 >>>32 の "Cmd Help Wrapper" ですか? そうそれそれ。グーグルのキャッシュでみたよ。
182 名前:175 mailto:sage [2006/07/02(日) 23:46:22 ] よく考えたらIEでできることは(JavaScriptとかActiveXとか)すべてHTAでできるんだよね。 ↓のなんか78.アナログ時計(HTA)っていうのがワラタ www.makoto3.net/DHTML_IE_NEO/dhtml_ie_neo_top.html HTAというかIEがすごいな。
183 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:45:27 ] >>182 サンプルが豊富ですね。 同サイト内 ttp://www.makoto3.net/dhtml_ie/dhtml_ie_top.html 154,157 「oncontextmenuイベント」 などは HTAをアプリケーションとして仕上げる時などすぐに使えそうですね。 関連リンク: oncontextmenu Event (JScript,VBScript) ttp://msdn.microsoft.com/workshop/author/dhtml/reference/events/oncontextmenu.asp?frame=true " Event property : object.oncontextmenu = handler → JScript only object.oncontextmenu = GetRef("handler") → Visual Basic Scripting Edition (VBScript) 5.0 or later only ..." - del.icio.us経由の情報 - スクリプトレット「setContextMenu メソッド」 (IE 4.0以上?) ttp://www.microsoft.com/japan/developer/library/vidref/viprosetcontextmenumethod.htm
184 名前:hidebou [2006/07/04(火) 18:50:12 ] いつも話題に乗れない書き込みで恐縮なのですが、ドロップファイル毎に取り扱い を選択できるHTABOX4.00ベータを用意しました。単に入れ物として使うだけで全部 見てね!もできます。結構ヘトヘトですから穴があったらこっそり教えてください。 www5a.biglobe.ne.jp/~javajava/ari/00jscript/hide/hide04.html
185 名前:142,147 mailto:sage [2006/07/05(水) 18:36:20 ] >>142 >>147 です。 Win XP SP2 でD&Dが出来たり出来なかったりするケースがあるのは これが原因じゃないか、と思えることがあったので報告させて下さい。 単純なことなんですが ID属性をつけるかつけないか、ということに注目してみました。 「コマンドラインから引数を渡したい」 ttp://hyons.hp.infoseek.co.jp/scr/hta001.shtml "<HTA:APPLICATION> に id を設定し、 id名.commandLine で、引数が読み込めます。" を参考に <HTA:APPLICATION ID="任意のID名" という感じで付けたり外したりして確認しました。 他の原因である可能性もあると思うので とりあえず、の経過報告でした。 それと… MSのリファレンスは分かりづらいですね。探し方が悪いのか ID属性についての説明も見当たりませんし。 msdn.microsoft.com/workshop/author/hta/reference/hta_ref_entry.asp
186 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 23:29:34 ] explorerのドロップハンドラがファイルの中身まで見ることは無い気がするけど・・・。 基本的には拡張子のShellEx(レジストリ)にDropHandlerが設定されているかどうかだよ。
187 名前:185 mailto:sage [2006/07/06(木) 00:25:20 ] >>186 レス有難うございます。 DropHandler は確認済みでした。分かりづらい文章ですいません。 >>142 のカキコミ " 参考 - ImagePad.HTA www.vector.co.jp/soft/win95/art/se306366.html 「Windows XP SP2より前は、HTAファイルにアイコンはなく、 ドロップも使えません。」 Win XP SP2 ではそういう配慮は不要…でいいんですよね?" という風に確認がしたかったんですが、その後 XP SP2 でD&Dが出来なかった(引数を認識ない)というレスがあり その原因が知りたかったので色々調べていました。 紛らわしいカキコミで失礼しました。
188 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 18:33:08 ] Windows XP SP2でのHTAアイコンへのドロップでは HTAアプリにID属性を付けておくことが必要、 こちらでも実験してみた。 こちらの環境 Windows XP SP2,IE6 通常のドロップのほかに SendToに置いたショートカットへのドロップの有効も確認 >>187 GJ とりあえず HTAアプリにはID属性をつけておこう、ということで FA?
189 名前:188 mailto:sage [2006/07/07(金) 07:35:43 ] >>188 自己レス うわっ 朝になって読み返してみると表現がちょっとおかしく思えてきた HTA:APPLICATIONタグにはID属性を もしくは HTAアプリにはIDを振っておこう の方がいいのか?
190 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 19:38:57 ] >>189 用語の使い方でツッコミが入るかも…
191 名前:189 mailto:sage [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 www.vector.co.jp/soft/win95/art/se306366.html にレジストリ結合用のhtafile.REGファイルが同梱されているので利用させて貰う こんな感じでどうだろう?どこか問題ありならツッコミ、修正よろしく
192 名前:デフォルトの名無しさん mailto:sage [2006/07/07(金) 22:06:42 ] htaってのはどーいった実行ファイルがどんな順番で起動されてるの?
193 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 16:57:33 ] >>192 HTAファイル(コマンドライン引数として) → %WINDIR%\system32\mshta.exe …っていったら怒る? ttp://www.roy.hi-ho.ne.jp/mutaguchi/wsh/techinfo.htm#HTA(HTML%83A%83v%83%8A%83P%81[%83V%83%87%83%93)%82%C9%82%C2%82%A2%82%C4
194 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 23:26:44 ] HTAをもっと流行らせる計画 レス:192 件|得点:0|一日のレス:1 件/日|スレ年齢:321 日|予想寿命:1351 日 余命4年か...
195 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 13:58:10 ] >>194 HTAスレでは長いほうなんじゃ?いままでのスレはだいたい短命だたよ。 …じゃぁ〜ちょっと燃料投下してミヨカ? VBS用画像描画・変換COMコンポーネント ttp://www.vector.co.jp/soft/winnt/prog/se219120.html スクリーンキャプチャ簡単に弄る方法考えてて見つけた GUIをHTAで作れば面白いかも?てかHTA向き? 作者タンのページではBETA版の人柱も募集してるみたい。 興味ある人ドゾ。
196 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 17:01:21 ] 上のほうの話題から HTMLのFRAME内にHTAを読み込むのは無理が無い? HTA内のFRAME内にHTAを読み込むのも無理があると思うんだけど。 特にXP2になってセキュリティも強化されてるだろうし。 NAVIGABLE="yes" も APPLICATION="yes" も FRAME内にHTMLを読み込む場合には有効なんだけど。 自分のところ(WinXP2,IE6)では出来なかった。 成功した人、いるのかな? ちょっとだけ興味があったり。 自分ならそういう手法(FRAME内にHTAを読み込む)はとらないから どっちでもいい、っていえばどっちでもいいんだけど。 セキュリティ的に問題がありそうならスレ的には話題として取り上げてもいいのかも。 関連するかもしれないリンク: どれもクロス フレームスクリプティングについての解説。 [InetSDK] クロスフレームスクリプトが可能なページを HTML アプリケーションで作成する ttp://support.microsoft.com/kb/241754/ja サポート: Internet Explorer 4.0 とそれ以降 Cross-Frame スクリプティング セキュリティ ttp://support.microsoft.com/kb/325145/ja 実行時にセキュリティで保護されたフレームを表示する ttp://www.microsoft.com/japan/msdn/columns/webteam/webteam05072001.asp#webteam05072001_topic1 >>195 関連情報:某掲示板ではかなり前からやりとりがされてる模様。
197 名前:デフォルトの名無しさん mailto:sage [2006/07/09(日) 18:11:03 ] できないし、する必要もない。
198 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 11:14:14 ] DHML GUI部品色々 (Javascript,css,XML) ttp://scbr.com/docs/products.shtml dhtmlxTree , dhtmlxGrid , dhtmlxTreeGrid , dhtmlxToolbar dhtmlxTabbar , dhtmlxMenu ・ ライセンス形態: Open Source - GPL, ttp://scbr.com/docs/products/dhtmlxMenu/License_GPL.txt Free License, ttp://scbr.com/docs/products/dhtmlxToolbar/License_Free.html Commercial License, ttp://scbr.com/docs/products/dhtmlxMenu/License_Commercial.html ・ XMLでメニューアイテムを管理、なところが特徴 ・ かっちりした(?)外観のアプリにむいてるかも >>183 javascriptだとこんな感じ? DHTML List based context menu(javascript) ttp://www.dhtmlgoodies.com/index.html?whichScript=context_menu AJAXの影響かDHTMLの情報が溢れてるからこういう紹介のカキコミ、 必要無い気がしないでもなかったり。 // でも >>176 みたいな考え方もあるしなぁ。 う〜ん…
199 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 16:27:13 ] htaに特化したものであれば良いんだけど、 どうしてもhtml+wshになるしね・・・。
200 名前:198 mailto:sage [2006/07/22(土) 21:47:41 ] たま〜に来て てきと〜に情報投げて、じゃやっぱり迷惑だよね…。 今までよく怒られなかったヨ。 過疎ってたせいもあるんだろうけど。 …これからは控えますです。
201 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 10:24:08 ] いや、迷惑じゃないと思うよ。
202 名前:198 mailto:sage [2006/07/23(日) 13:34:53 ] >>199 >>201 ノシ コアな話しの邪魔にならない程度に考えてみる
203 名前:デフォルトの名無しさん [2006/07/25(火) 20:12:28 ] タイトル バーに閉じるボタンがない HTA を作成する方法はありますか。 www.microsoft.com/japan/technet/scriptcenter/resources/qanda/dec05/hey1216.mspx MSの日本法人は刺ねばいいと思いませんか?
204 名前:デフォルトの名無しさん [2006/07/25(火) 22:44:06 ] これ解けたら神だよ!! hjuus htuuuiu4548""hh $%%458koiut #hdifhkla'' さあこのプログラムがわかるかな?
205 名前:デフォルトの名無しさん [2006/07/27(木) 22:22:19 ] >>203 何で?
206 名前:デフォルトの名無しさん mailto:sage [2006/07/27(木) 23:18:33 ] >>205 英語 ttp://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/noclose1.jpg 日本語 ttp://img.microsoft.com/library/media/1041/technet/images/scriptcenter/resources/qanda/noclose1.jpg
207 名前:デフォルトの名無しさん mailto:sage [2006/07/27(木) 23:46:27 ] >>206 糞ワロタ
208 名前:デフォルトの名無しさん mailto:sage [2006/07/28(金) 00:26:20 ] ヤバイ、MSの日本法人にちょっと萌えたw
209 名前:デフォルトの名無しさん mailto:sage [2006/07/28(金) 10:37:46 ] >>208 MSの日本法人には日本人向けにドジっ娘属性が付けてあります♪
210 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 20:39:49 ] >>206 なるほど
211 名前:デフォルトの名無しさん mailto:sage [2006/08/02(水) 22:33:40 ] 生意気な hta みかけたぜ <script> (new ActiveXObject("WScript.Shell")).SendKeys("^{ESC}{UP}~~"); </script>
212 名前:デフォルトの名無しさん mailto:sage [2006/08/03(木) 23:22:49 ] >>211 どこが?
213 名前:デフォルトの名無しさん mailto:sage [2006/08/04(金) 19:17:54 ] HTAバカにしてきたけど、本格的なプログラムっぽい外観にできてかなりイイ!
214 名前:デフォルトの名無しさん mailto:sage [2006/08/07(月) 23:20:49 ] 自分のサーバー上に置いている自作の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のセキュリティに から解放する方法はございますでしょうか?(いちいち、ユーザーに私の サイトを「信頼するサイト」に登録するようにお願いするのは面倒です。)
215 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 10:13:39 ] そんなの出来たら、ウイルスばら撒くのに便利すぎる。 リモートで実行できる以上、なんらかのセキュリティは必須だから 「IEのセキュリティ」から解放されても「htaのセキュリティ」が必要になる。 無駄だから統合してあるだけのこと。
216 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 11:22:02 ] >>214 「ブラウザから解き放たれた」ってのはつまり普通の exe アプリケーションと 同じ扱いするってことで… .hta ファイルをローカルに保存して実行してくれってことでわ?
217 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 22:50:26 ] >>216 , 215 コメントありがとうございます。 > .hta ファイルをローカルに保存して実行してくれってことでわ? 明日試してみますが、ユーザーが自分のパソコンに「ローカルに保存」して私のhtaを 実行する」場合にも、そのユーザーはまず、私のサーバーを「信頼するサイト」と してIEで登録しないと、214のようはhtaは実行できないのではありませんか? もう1つ教えていただきたい点がございます。htaを開発しているWindows XPパソコ ンには、Visual Studio 2005をインストールしていいて、htaにバグが発生すると、 自動的にVisual Studio 2005が立ち上がります。Visual Studioは便利なので、これで 初めからhtaを開発できたら便利だと思うのですが、可能でしょうか? 現在は、 エディターでhtaを書いています。
218 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 01:29:10 ] >>134 このbatがすごく自分のやりたい事に近いのですが、 batとJavaScriptにうとい為、いまいちどういう仕組みで 機能しているのか理解できません。 やっとこ調べて、%0がbatのパスを指すらしいことは分かったのですが %* と s.indexOf("[[remov"+"e_tag]]") が良くわかりません。 vbsでいうところの、 For Each DropFile in Wscript.Arguments MsgBox DropFile Next みたいにするには、どこを書きかえればいいのでしょうか?
219 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 02:04:15 ] >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 mailto:sage [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 mailto:sage [2006/08/10(木) 22:54:11 ] コードで行がいっぱいいっぱいになってしまったので連投スマソ。 参考資料 ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/apr05/hey0420.mspx どうしても、わからない事があったので聞きたいのですが、 >DOMで全文書パースしてるからそこを"[[remove_tag]]"と書いてしまうとその部分も引っかかってわやになるので >そう書いている。 この部分を詳しくお願いします。 どうも"[[remov" & "e_tag]]" と "[[remove_tag]]" の違いが理解できなくて。 &で文字列を結合するのとしないのと違いがでるのでしょうか?
222 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 02:39:54 ] 今さら真面目に>>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。影響ないんじゃない?
223 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 09:52:33 ] ×ボタンが押された場合の処理ってjavascriptでどう検出して書けばいいんでしょうか… onunloadに書くと全てのウィンドウを閉じる操作をした場合に実行されてしまうので。 HTAでは×ボタンを表示しないようにするしかないのでしょうか。
224 名前:デフォルトの名無しさん mailto:sage [2006/08/18(金) 10:29:36 ] 自己レス フラグ立てれば済む話という単純なことに気づきませんでした…スマソ。
225 名前:デフォルトの名無しさん mailto:sage [2006/08/20(日) 17:10:50 ] んがー、HTA+VBScriptでSleepは使えないのか。 ループの中でテキストボックスの中身変更しても反映されないorz
226 名前:デフォルトの名無しさん mailto:sage [2006/08/20(日) 19:54:51 ] >>225 無理みたいね HTA(HTMLアプリケーション)について ttp://www.roy.hi-ho.ne.jp/mutaguchi/wsh/techinfo.htm#HTA(HTML%83A%83v%83%8A%83P%81[%83V%83%87%83%93)%82%C9%82%C2%82%A2%82%C4 (注意:WscriptオブジェクトはWSHの組み込みオブジェクトなので、HTAからは利用できない) HTAファイルでWScriptオブジェクトの使用 ttp://www.happy2-island.com/bbs/bbs.cgi?mode=view&no=36 代替案でsetTimeoutの説明してる
227 名前:デフォルトの名無しさん mailto:sage [2006/08/22(火) 00:39:04 ] >>225 msdn.microsoft.com/library/ja/jpdndude/htm/dude02262001.asp
228 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 15:41:15 ] どうしても分からないんで助言をお願いしまっす HTAでIEのツール→インターネットオプションの詳細設定の 一番下の「背景とイメージを印刷する」を オン・オフするにはどうすれば良いでしょうか? 色々調べたんですが、探しかたが悪いのか全く情報が見つかりません。 どうか宜しくお願いします
229 名前:デフォルトの名無しさん mailto:sage [2006/08/23(水) 16:42:54 ] >>228 \HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Print_Background
230 名前:228 mailto:sage [2006/08/24(木) 14:37:01 ] >>229 素早い返事ありがとです。やっぱレジストリをいじいじするんですね。 こう言うキーの探し方ってコツとかあるですかね? あと一つだけ質問です。 職場で動かそうとするとノートンに怒られ、 最終的には管理者に怒られてしまうので レジストリとか手をだしたことがないんですけど コレは大丈夫でしょうか? 質問ばっかりで申し訳ないんですが、宜しくお願いします
231 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 15:28:28 ] >>230 探し方のコツはレジストリを適当に眺めてるとつかめますよ。 HTAはノートンの設定を変えないと警告が出るんだっけ。 いっそのこと↓のようにexeにしてしまうとか。 pc8.2ch.net/test/read.cgi/tech/1123842575/77
232 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 19:25:30 ] >>230 管理者にバレたら大変じゃないの?
233 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 20:28:01 ] >>231 HTAだとSCRIPTがVBの時もあるのだけどそういうのをexeにするコンバータとか売ってる?
234 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 21:25:35 ] 単純にexeにするのなら>>98 のがある。 VB.NETや他の.NET対応言語で書き直すもよし。
235 名前:228 mailto:sage [2006/08/24(木) 23:01:01 ] >>231 なるほど眺め続ければいーんですね。 ってキーの数とか半端ないんですけど… んで、HTAの件ですがレジストリの読み込みは普通にできました。 ただレジストリを変更すると流石に反応するんじゃないかな? と思ってるんでチャレンジしてません。 ノートンの知識がないんで、何に反応されるか戦々恐々なんですよ… exeはただのjscriptでも可能なら考えてみたいです >>232 大変かもしれません。 一度引っ掛かって、管理者の方がスットンできた経験あります。 原因がわかってるならいーけど?みたいな事を言われ軽く睨まれました。 引っ掛かった瞬間パニくって、速攻で丸ごと削除ったから 原因なんて分かる訳ないじゃん?とはチキンなんでいえませんでした。
236 名前:デフォルトの名無しさん mailto:sage [2006/08/24(木) 23:13:38 ] >>235 手動でIEの[ツール]の[オプション]を変更して反応しなければ 他のプログラムでレジストリの該当部分を変更しても大丈夫だと 思うけど。 レジストリを変更したプログラムを一々監視してたとしたら別ですが。
237 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 11:12:34 ] >>234 アンカミスってません? 『>>130 >>136 "*.exeじゃ無かったな、確か。独自形式の*.wsits だったな、確か。"』 exeにするなら >>184 HTABOX の方かと >>235 >exeはただのjscriptでも可能なら >>231 のリンク先以外の方法なら ttp://www.vector.co.jp/soft/winnt/prog/se389017.html とか いくつかありますね
238 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 13:44:25 ] >>234 ,237 ありがとう。 しかし同じ動作するのにexeだとOKでhtaじゃ嫌と言う社内の空気がワカラン orz アイコンつけられるかつけられないかの違いだったらモットワカラン orz
239 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 18:47:36 ] ノートン先生ってHTAには警告出すけど EXEはスルーするよね。
240 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 11:04:08 ] >>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> 〜略〜
241 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 20:27:53 ] >>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" %* に関連付けます。
242 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 13:58:32 ] >>125 mshta.exe "mhtml:res://自分.exe/main.mht" はどうでしょう?
243 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 19:40:34 ] mht ってファイル名が全部フルパスに変更されちゃうからローカルファイルだとちょっとハズイ。 それとパッケージされるのは元からhtmlにリンクされているファイルだけみたいだけど スクリプトで動的に表示したい画像ファイルとかはどうやって保存する? IE以外に作成ツールとかあるのかな?
244 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 20:00:22 ] >>117 目隠し程度でよいのなら、以下はどうでしょう? +ADwASABUAE0ATAA+ADwASABFAEEARAA+- +ADwAUwBDAFIASQBQAFQAIABsAGEAbgBnAHUAYQBnAGUAPQB2AGIAcwBjAHIAaQBwAHQAPg- +AFMAdQBiACAAdwBpAG4AZABvAHcAXwBvAG4AbABvAGEAZAAoACk- +AE0AcwBnAEIAbwB4ACAAIjBCMEQwRjBIMEoAIg- +AEUAbgBkACAAUwB1AGI- +ADwALwBTAEMAUgBJAFAAVAA+- +ADwALwBIAEUAQQBEAD4- +ADwAQgBPAEQAWQA+MEswTTBPMFEwUwAgADwALwBCAE8ARABZAD4APAAvAEgAVABNAEwAPg- ぱっと見では、HTMLにはとても見えませんが、 拡張子HTAかHTMLのファイルに保存すれば、実行可能です。
245 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 20:09:45 ] >>243 IEでなく、CDO.Messageを使うと、Content-IDでリンクされます。 CDO.Messageなら、いろいろ操作できてよいのでは。
246 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 20:11:26 ] >>116 named pipeでなく、anonymous pipeで標準入力に渡せばよいのでは? >>114 しかし、そうやってHTAファイルを隠したところで、 所詮、右クリックの「ソースの表示」で見えちゃうのでは?
247 名前:デフォルトの名無しさん mailto:sage [2006/09/01(金) 23:17:42 ] >>246 HTA:APPLICATIONタグで 右クリック禁止にしておけばいいんじゃないの?
248 名前:デフォルトの名無しさん mailto:sage [2006/09/02(土) 11:29:51 ] Vistaでは、簡単にHTAの背景透過できるんかな
249 名前:デフォルトの名無しさん mailto:sage [2006/09/02(土) 13:54:28 ] >>247 コンテキストメニューのほうは抑止できますが、^pの印刷は抑止できます? 印刷設定ダイアログ表示中にテンポラリフォルダを見るとソースがあります。 この方法はダイアログなどにも使えます。
250 名前:デフォルトの名無しさん mailto:sage [2006/09/02(土) 18:44:23 ] クライアントで読む必要があるものを隠そうとするのは不毛の道
251 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 12:46:15 ] 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);"> は駄目みたいです。
252 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 14:11:01 ] これはできたよ。 <script language="VBScript"> Dim sh Set sh = CreateObject("Shell.Application") sh.NameSpace("H:\").CopyHere(sh.NameSpace("H:\test.zip").Items()) </script>
253 名前:252 mailto:sage [2006/09/03(日) 17:01:52 ] 一応補足。 Zipフォルダが使える環境でないと動かないはず。 逆にエクスプローラでフォルダとして扱えればLHAでもCABでもなんでもいけるはず。
254 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 17:49:25 ] >>249 そもそもHTAをのぞけばソース見えちゃうんだし。 テンポラリ漁ってまで見たいような人にはどんな対策をしても無駄だと思うけど。
255 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 19:23:21 ] Windows Script Encoder みたいな仕組みはないのかな?
256 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 20:16:05 ] <script language=vbscript src='vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(0).ReadAll()'></script> とやると、スクリプトを標準入力/パイプから読み込めるので、スクリプトは隠蔽できるかも。 そもそも隠蔽しなくてよければ、 MSHTA.EXE vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(0).ReadAll() で、HTAソース全体を標準入力/パイプで流し込めます。
257 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 21:30:19 ] >>252 >Set sh = CreateObject("Shell.Application") >sh.NameSpace("H:\test.zip") このやり方は、Windows2000で、エラーになるらしい。cabも。 そういうときは、Explorerのid.Document.Applicationから Shell.Applicationを取り出して使えばよいと思う。
258 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 21:31:29 ] HTAで、ShellNameSpaceが、XP SP2より後の修正で、使えなくなりました。 セキュリティ絡みでしょうか。 これを使うHTAが駄目に。回避方法はないでしょうか? ADODB.StreamのLoadFromFileも、HTAで、使えません。 「エラー: このコンピュータの安全性の設定により、ほかのドメインのデータ ソースへのアクセスは禁止されています。」 HTML+SCなら使えるのに、なんで? ShellNameSpaceと同じ修正が関係? 使ってる人、多そうなのに大丈夫でしょうか。
259 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 14:22:17 ] >>249 に突っ込まないのはこのスレの方針? IEとHTAとHTABOXの機能をごっちゃにしてるみたいなんだけど。
260 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 14:59:19 ] じゃあお前が突っ込めばいいのでは?
261 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 15:25:12 ] せっかく静かに流れてたんだからスルーしとこうヨ
262 名前:258 mailto:sage [2006/09/09(土) 15:39:27 ] ShellNameSpace HTAでは使えなくなりましたが、HTAから出したダイアログ内では使えます。 コントロールが、わざわざダイアログかどうかをチェックして、 ダイアログでなかったら使えないようにすることに、 何かメリットがあるとは思えないので、 よくある、セキュリティ上の問題を回避、軽減する弥縫策でしょうか。 なので、HTAでShellNameSpaceを使うときの回避策は、 HTAからダイアログを出して、その中でShellNameSpaceを使うことです。 ファイルが2つに分かれるのが面白くないので、ひとつで済ます方法を 2パターン考えました。 自身をダイアログで呼び出し、中で切り分ける。 空のダイアログを作って中身を書き換える。 どちらも、使い慣れてないせいか、かなり面倒でした。
263 名前:デフォルトの名無しさん [2006/09/18(月) 11:42:58 ] htaでグーグルマップのAPIを使ったアプリは作成できるのかな。 問題点があるとしたらなんだろう。
264 名前:デフォルトの名無しさん mailto:sage [2006/09/18(月) 23:29:30 ] 用途が思いつかないことかな。
265 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 00:51:04 ] HTAでframeを使いたいときは、必ずソースファイルのhtmを 用意する必要があるんですかね? 何がしたいかというと、bodyから何から全てスクリプトで動的に 生成していきたいのです。
266 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 00:53:42 ] >>265 document.writeしてもだめだったっけ?
267 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 01:26:07 ] >>265 >>256 みたいに <frame src=javascript:'HTML記述'> <frame src=vbscript:"HTML記述"> はどうでしょう。
268 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 15:27:27 ] わざわざframe使わなくても,div(或いはtableのtd)の中身を動的に生成するのじゃだめなの?
269 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 03:17:42 ] >>266 frame タグの仕様で src に URL を指定しないといけないのですが そのURLをファイルとして用意する以外に方法はないかと。 で、>>267 さんの提案を試してみましたがなかなかうまくいきません…。 javascript:document.write(...) でいけるかと思ったのですが失敗。 >>268 たとえば、エラーメッセージと本メッセージでスクロール領域を 分けたいのですよね〜。 frame ってXSSの温床になってるせいもあってかセキュリティも厳しくて、 どうも使い勝手がイマイチなのが残念。
270 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 07:49:37 ] <div style="overflow:scroll"></div> でいいやん。
271 名前:デフォルトの名無しさん mailto:sage [2006/09/23(土) 09:31:29 ] 俺もframe要らないと思うよ。 frameが無いと出来ないことってほとんど無いだろうし。
272 名前:267 mailto:sage [2006/09/23(土) 20:28:46 ] >>265 こんな感じで、ヒントエクスプローラバーをやってみましたが、うまく行きましたよ。 <script> function source(){return '<'+'html>\r\n'+'<'+'head>\r\n'+'<'+'/head>\r\n'+'<'+'body>\r\n'+'<'+'img src=tips.gif>\r\n'+'<'+'/body>\r\n'+'<'+'/html>\r\n\r\n';} </script> <frameset> <frame src="javascript:parent.source()"> </frameset>
273 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:21:20 ] 皆々さん、ありがとう! 確かに、やろうとしたかったことは fram を使わずにできました。 HTA:APPLICATION タグでスクロールを無効にして、 <div id="result" style="width: 100%; height: 50%; overflow: auto; margin: 0px;"></div> <hr /> <div id="error" style="width: 100%; height: 50%; overflow: auto; margin: 0px;"></div> とすれば、ほぼフレームと同じ見た目になりますね! (枠を移動させるまではできませんが…。もちろんscriptをガリガリ書けばできるでしょうけど。) それとは別に、>>272 さんのワザは勉強になりました。 document.write するんでなくてそのまま評価されるんですね。 ただ、HTMLとしてなら成功しましたが、HTA では「オブジェクトでサポートされていない プロパティまたはメソッドです。javascript:parent.source()」 とエラーになってしまいました。
274 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:31:53 ] せきゅりちいゾーンがちがうからね。 >>138 とかすればノーガードになる。
275 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 00:54:42 ] >>274 さんありがとうございます! うほっ、そんな属性があったとは。ステキ。 自分もまだまだ勉強不足です。 しかしセキュリティゾーンは面倒だなあ。 Vista/IE7になったらもっと面倒になりそう…。
276 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 21:54:14 ] >>243 subst