1乙しておこう
3 :
デフォルトの名無しさん:2008/09/09(火) 19:46:52
おつかれさま
HTAとかをexe化するソフトはなんて名前だっけ?
4 :
デフォルトの名無しさん:2008/09/09(火) 23:30:21
prototype.jsみたいなライブラリをHTAで使いたいけどそのままじゃ使えない。何かいい方法ないかなあ。
オレサマヨウメモ
<meta http-equiv="MSThemeCompatible" content="yes">
8 :
デフォルトの名無しさん:2008/09/10(水) 11:08:21
地味な技術かもだけど、好きだぜHTA
重たくならない?
当然、要らない部分を削らないと重くなるだろうな
>>8 べ、別に好きだから気になっているんじゃないんだからね!
htaって何?
HTML Applicationだっけか
なんかすごそうなものに聞こえるな
>>16 HelloWorldのサンプルプログラムいいなぁw
これがHTMLだと、うざい標準化団体に邪魔されてここまでシンプルには書けない。
ここの人的にAdobe Airってどうよ?コンセプトは似通ってると思うが。
>>19 ランタイムのインストールがある時点で別物だと思う
OSに依存していない部分はうらやましいが
HTAいいよね。
仕事で前にかかわっていたプロジェクトの内部ツールでファイル監視ツールや
メーラーとか作ったなぁ。
ローカルのファイルを操作できるってだけでいろいろGUI付きアプリを手軽に作れるもんね。
Microsoftにはもっと強化したり、宣伝してもらいたい。あんまり知られてないようでもったいないと思う。
23 :
デフォルトの名無しさん:2008/09/17(水) 01:09:39
ガジェットはひたすらかっこよくなければいけない。
HTAは自分が満足すればそれでよし。
とりあえずボタンとテキストボックス
こんなのあったのか…!
(でもボタンが豪華になったくらいどうでもいいよな…)
(いや、見栄えは結構大事だぞ。時には中身より重要だったりする。)
インターフェイスは大事だよ!
お前らだって脳にケーブル繋ぎたくなった事は一度や二度じゃないだろ
いつまでも基本GUI部品(ボタンとかテキストボックスとか)に縛られるのはつまらないと思うんだ。
…つってもアイデアがあるわけじゃなし。
でもゲームとかFLASHとかで偶に「おお!」と思わせるGUIってあるよね。
何スレ違い?すまん。
> いつまでも基本GUI部品(ボタンとかテキストボックスとか)に
> 縛られるのはつまらないと思うんだ。
そう思う人は、HTA に縛られる必要もないと思うんだ。
そんな人は流行りのSilverlightとかJavaFXとかやればいいとおもうんだ
Win2K とか言うオチじゃないよな。
まあ、俺のことなんだが。
適当なアイコンを指定したらなんだか格好良くなった
40 :
デフォルトの名無しさん:2008/10/20(月) 20:26:58
age
おまいらデータバインド使ってますか?
表示だけならいい感じだけど、更新とかワケ分からんっす
csvのビュワに使ってる
ソートやfilterが使えて便利
更新するならexcelじゃないの
43 :
41:2008/10/23(木) 01:29:49
ADODB.Recordsetをデータバインド
<html><head><script>
function listup() {
window.event.returnValue = false;
var cnnString = "provider=Search.CollatorDSO.1;EXTENDED PROPERTIES=\"Application=Windows\";";
var sql = fm.query.value.replace(/["'\\\%\*"]+/g, " ");
sql = (sql.replace(/\s/, "") == "") ? "" : " AND FREETEXT('" + sql + "')";
sql = "SELECT TOP 20 System.ItemURL, System.ItemDate, System.ItemPathDisplayNarrow FROM SystemIndex"
+ " WHERE System.FileExtension<>'.lnk' " + sql + " ORDER BY System.ItemDate DESC";
var cnn = new ActiveXObject("ADODB.Connection");
var rs = new ActiveXObject("ADODB.Recordset");
cnn.Open(cnnString);
rs.CursorType = 3; // adOpenStatic
rs.CursorLocation = 3; // adUseClient
rs.Open(sql, cnn);
dco.SourceRecordset = rs;
rs.Close();
cnn.Close();
} </script></head><body>
<object id="dco" classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" width=0 height=0></object>
<form id="fm" onsubmit="listup()"><input id="query" style="width:60%"/><input type="submit" value="Search"/></form>
<table datasrc="#dco" border>
<thead><tr><th>Path</th><th>Date</th></tr></thead>
<tr>
<td><a datafld="System.ItemURL"><span datafld="System.ItemPathDisplayNarrow"></sapn></a></td>
<td><span datafld="System.ItemDate"></sapn></td>
</tr>
</table></body></html>
こりゃ酷い
spanで開いてsapnで閉じるのが21世紀に生きる大人のたしなみ。
<html>
<hta:application
id="Word2008"
scrollflat="yes"
innerborder="no"
navigable="yes"
border="thick"
borderstyle="raised"
/>
<head>
<title>Word 2008</title>
</head>
<body style="width:100%;height:100%" contenteditable="true">
Word 2008 リリース
使いにくかった機能をなくしました。
</body>
</html>
使いにくいけど便利な機能までなくさないでください
そんなのがあるかどうか知らないけど
今までsetRequestHeaderでReferer書き換えできたのに
急にできなくなったよ。
前スレで触れられてるけど
>>804 :デフォルトの名無しさん:2008/05/23(金) 03:59:44
>>
>>494の辺で言ってた「Refererでユーザー名漏れてね?」だけど
>>vista SP1ならRefererちゃんと変える事が出来た
>>httpoj.setRequestHeader("Referer", "ほにゃらら");
>>
>>早速変えておこう
の通り、Vista SP1ではReferer書き換えて出力できたのに、
11/12のwindows updateのせいかRefererが送信自体されなくなった。
もしかしてオワタ?
俺も確認した。確かに送信されてない
Microsoft XML コア サービス 4.0 Service Pack 2 用セキュリティ更新プログラム (KB954430)
更新プログラムの種類: 重要
Windows ベースのシステムのセキュリティを悪意のあるユーザーが侵害して、そのシステムを制御できるというセキュリティの問題が
XML コア サービス (MSXML) に発見されました。この更新プログラムをインストールすると、お使いのコンピュータを保護できます。
インストール後には、コンピュータの再起動が必要になる場合があります。インストールすると、削除することはできません。
詳細情報:
http://go.microsoft.com/fwlink/?LinkId=128803 これか?
>インストールすると、削除することはできません。
オワタ
なんかhta全体の挙動が変ってるな
ローカルPC用のhtaで確認
httpoj.setRequestHeader("Referer","
http://www.geocities.jp/");
new XMLHttpRequest(); Referer:無し
new ActiveXObject('Msxml2.XMLHTTP.5.0') htaのフルパス
new ActiveXObject('Msxml2.XMLHTTP.4.0') htaのフルパス
new ActiveXObject('Msxml2.XMLHTTP.3.0') Referer:無し
new ActiveXObject('Msxml2.XMLHTTP') Referer:無し
new ActiveXObject('Microsoft.XMLHTTP') Referer:無し
他になんかあるっけ
しゃーないから自鯖のphpにやらせる事にした
ああ汚い
mshtaのfirefox版はないんですか
>>53 Mozilla Prismがわりとそんな感じ。
winアップデート来たけどxml関連は無いなぁ…
普通に自分自身の副ストリームに情報を書き込めるんだ…
こりゃ設定ファイルを不要に出来る予感
普通にメインストリームでいいだろ。
いまさらHDDにNTFS以外を使ってることもないだろうけど
USBメモリに設定ごとコピーできないとか動かないとかの
余計なトラブルを招くから、個人利用でSUGEEEEする以外には正直微妙。
これとserializeにはもっと早く気がつくべきだった
ちょっとした変数をどんどん保存出来る
フォームのinnerHTMLをそのまま保存。
少々荒っぽいがとっても楽チン、オヌヌメ。
mixiツール使ってるんだが、Sleipnirでは正常にログイン出来てページが表示されるのに
new XMLHttpRequest();では未ログイン状態のページが取得されちゃう
それでかなり悩んでいたんだが、IEで直接ページを開いたらログインされてなかった
IEでログインしたら無事ログイン状態のページを取得出来たんだが
Sleipnirのログイン情報はどこに記録されていたんだろう
TridentだからSleipnir=mshtaだと思っていたが、そうとは限らないとは知らなかった
明けてますよ
2月ですよ
htmlファイル内にスクリプト書いているなら,拡張子を.htaに変更してみれば?
なるほど
ありがとうございました
IE7のズーム機能を抑制したいんだけど、根本的に切る方法はあるんでしょうか?
onkeypressとかを監視して撥ねるしかない?
onkeypressとかを監視して撥ねれるの?
Ctrl+マウスホイールのことか?
たしかonmousewheelとかいうイベントがあった
そんときにCtrlキー押されてるか見れば?
>>69 ごめん、やってみたら無理でした。
>>70 ありがとう、マウスホイールの方の抑制はできました。
objHTA.commandLineだけど、"の有無に関わらず渡されたファイルのパスを返すには
objHTA.commandLine.match(/("[^"]+" |[^ ]+ )/g);
これでいいのかな
c:\program" "files\hoge
c:\"program files"\hoge
なるほど
ありがとうございました
75 :
デフォルトの名無しさん:2009/03/18(水) 15:51:56
>>75 文字化けしてるから
&ht; を > に変換、かつ、
</p> <p> を 改行 に変換すればそれらしくなる
自分で動かしたいとは思わないスクリプトなので動作確認まではしてない
なるほど
ありがとうございました
IE8入れた人、mshtaのバージョンなんか変化あった?
7.00.5730.13 (longhorn(wmbla).070711-1130)
なるほど
ありがとうございました
onclickでondblclickをどうすれば除外できる?
window.onclick=function(){window.ondblclick=function(){};};
か、onclickでalert()とかすると、二回目のクリックが無効に
なるから、結果ondblclickを除外したことになる
NNだとevent.detailのクリックカウントで区別できるが、IEやHTAでは無理
onclick、ondblclickの順、つまり未来予測になるからできないよ
ondblclick、onclickの順に変えればできるよ
なるほど
ありがとうございました
ローカルのhtaを実行して表示されたウィンドウの右クリック→ソースを見るを選択すると
普通はテキストエディタでそのhtaファイルが開くと思うんだけど
何故かC:\Users\username\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\〜〜〜のtempフォルダのデータを表示するようになってしまった
これを解消する方法知ってる方居たら教えて下さい
OSはVistaのhome pro
mshtaのバージョンは8.00.6001.18702
サイズは45568byte
IEのバージョンは8 ですが
http://www.ugtop.com/spill.shtmlをnew XMLHttpRequest();で取得すると、UAが
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.1.4322)
で、IE7のままになっています
プロセスのコマンドラインはどうなってるの?
プロセスのコマンドラインの段階からTemporaryフォルダを指定しちゃってます
起動方法はhtaファイルのダブルクリックなのか?
はい。mshtaのコマンドラインは
"C:\windows\system32\mshta.exe" "C:\hoge.hta"
で、ちゃんと"で括ってる
document.write()してるんじゃまいか
中身が
<HTA:APPLICATION ID="objHTA">
だけのhtaでも同じなんです
ie8の仕様みたいね
自分でやるしかないのでは
なるほど
ありがとうございました
97 :
デフォルトの名無しさん:2009/04/10(金) 14:31:19
引数を省略するとき、VBScriptだと
hoge a,,b
ですが、JScriptだと、
hoge(a,,b)
がエラーになります。どう書けばよいのでしょうか?
それHTAに何の関係があるの?
単にJScriptの質問じゃない?
>>97 hoge(a,'',b)
引用符だけでも入れてやれ
それは長さ0の文字列(VBSで言うところのvbNullString)を渡してるだけで
引数を省略しているわけではないぞw
>>100 ヘルプ嫁
vbNullString
値 0 を持つ文字列
長さ 0 の文字列 ("") とは異なります。外部プロシージャを呼び出す場合に使用します。
内部的には同じだよ
MsgBox vbNullString = ""
MsgBox TypeName(vbNullString) = TypeName("")
MsgBox VarType(vbNullString) = VarType("")
ポインタ参照すれば違うけど、VBSもJSもポインタ参照出来ないし
内部的に同じというより、VBやVBSの中でvbNullStringを使おうとすると
自動的に""に変換されてしまうというのが自分の認識。
まあどうでもいいことだが。
undefinedでも入れとけばいいよ。
これも空要素とは違うけど気にしない
>>102 > 内部的には同じだよ
はぁ?
ひょっとして、COM とか使ったことないのか?
( ゚д゚)ポカーン
以上WSH中の人スレ
なんか今日になって変なのが続々湧いてきたなw
undefinedではIsMissing()がTrueにならんよ
>>106 ごめん、君には理解できなかったようだな。
そう思い込むことで精神的安定を図るのですね。解ります。
可哀相な子
福田さんみたいに自分を客観視できるんだ
>>113 そのまま返すよ。
まあ、
>>102 で偉そうに書いた手前引っ込みつかなくなってるだけだろうけど。
この辺にしておくんじゃ・・・
引っ込みつかなくなってるだけかな?
> (粘着君が) この辺にしといてほしいが。
> (
>>115が) この辺にしておくんじゃ・・・
もしかして日本語も不自由なのか?
そもそも
>>112 に書いた URL のリンク先見れば、
>>102 が間違いなのは
明らかなんだからいい加減無駄なレスはやめた方がいいと思うんだけど、
引っ込みつかなくなっちゃてるんだろうな。(w
>>112 の記事って割と最近じゃん。
やっぱ皆、VBScript 書くときはシステムハンガリアン使ってんのかな。
>>109 VT_ERRORを渡せばよい
しかしJScriptやVBScriptでVT_ERROR作れる?
作れるかと言われると反論したくなるのが人の性
一応 JScript から
VarType は 10 になってるけど、これでいいのか?
<html><head><script language="JScript">
var missing = null;
var obj = {}
obj.passError = function(p1, p2) { missing = p1; }
obj.print = function(s) { alert(s); }
var sc = new ActiveXObject("ScriptControl");
sc.Language = "VBScript";
sc.AddObject("jsobj", obj);
sc.AddCode("Sub Hoge(o): Jsobj.print CStr(VarType(o)) & \": \" & TypeName(o) : End Sub\n");
sc.ExecuteStatement("Jsobj.passError ,0");
sc.Run("Hoge", missing);
//sc.ExecuteStatement("Hoge Null");
//sc.ExecuteStatement("Hoge Empty");
//sc.ExecuteStatement("Hoge Nothing");
window.close();
</script></head><body></body></html>
VistaにないScriptControl使わんでも
123 :
120:2009/04/13(月) 02:01:22
いや、見れば分かるとおり冗談なんだけど…
それより、自分は Vista で確認してるんで、少なくとも Ultimate では
ScriptContorl 使えることは確かだと思うんだけどバージョンによって使えないってこと?
HTA含め、その周辺のCOMコンポーネント技術は.NETより環境に依存しない
ところがいいと思ってたんだけど、本当にそんなレベルで非互換があるようなら困ってしまう
124 :
120:2009/04/13(月) 02:04:03
しまった入れ違い
よかった
Server 2008でもOKというなら大丈夫かな
念のため調べるけど
ScriptControlが使えないとしたらHTAではなくHTMLでセキュリティの設定によって弾かれたくらいしか理由が思いつかない。
そもそも存在しないというのは有り得ないだろう。
それはつまりWSHがきちんとインストールされていない状況ということになるので。
127 :
125:2009/04/13(月) 02:40:48
あれ?Script ControlってWSHの一部だと思っていて、別途配布もされているとは知らなかった。すまん。
元はExcelに入ってた
考えてみれば.jsを間違って開くとWSHが起動するとか
危険極まりないよな
うわつまんねぇスクリプト
<META http-equiv="refresh" content="0; URL=ほにゃらら">
<title>動画を再生するページ</title>
<Script Language="VBScript">
'ウィンドウのサイズ設定
winwidth = 600
winheight = 400
'ムービーのサイズにあわせてリサイズ
window.resizeTo winwidth,winheight
'画面下中央に移動
positionX = ( screen.availWidth - winwidth ) / 2 + 50
positionY = ( screen.availHeight - winheight ) / 2 + 25
window.moveTo positionX, positionY
</Script>
</head>
<body>
<HTA:APPLICATION
APPLICATIONNAME="Princessmovie"
ID="pri" VERSION="1.0" SINGLEINSTANCE="yes" SHOWINTASKBAR="no" NAVIGABLE="yes" WINDOWSTATE="normal"
BORDER="none" INNERBORDER="no" BORDERSTYLE="normal" CONTEXTMENU="no" SELECTION="no" SCROLL="no"
SCROLLFLAT="no" CAPTION="no" ICON="" SYSMENU="no" MAXIMIZEBUTTON="no" MINIMIZEBUTTON="no"
/>
Princessmovieでググッたらグロアニメが出てきたが、なんか関係がある?
super付ければたどりつく
月に代わってお仕置きよ
CPU使用率だけをウインドウのタイトルにリアルタイムで表示させたいです。
させればいいじゃん
別に誰もダメとは言わないだろう
topmostが欲しいなぁ
mshtaって最後にバージョンアップしたの何時だろう
バージョンアップはIEと同時だろ
なるほど
>>139 確かにhtaのオプションとして欲しいね
標準環境で可能とは言え、わざわざ外部の関数(dll)呼ぶのは面倒だ
なるほど
ん? TOPMOST="yes"
>>144 Excelは無くても出来る
だってExcelはWin標準じゃないじゃん
あと、それはそれで透明度とか指定できて便利なんだが
別ファイル作るのが好きじゃないので早い遅い以前に最前面表示だけのためには使いたくない
>>145 最新のIE入れればそれで最前面になるの?
XP+IE6なうちでは何も起こらないが
大昔のネットスケープとかはできたな〜。IEも最初は出来たっけ?
ネットスケープってMSHTAの動作と関連性有るの?
NCHTA
なるほど
仕事で使うならExcelWordは標準装備って考えていいと思うよ。
OOoとか使うならそもそもWindows使うなよって感じだしね。
> 仕事で使うなら
HTAが仕事でしか使わないものじゃない以上、その前提に意味はない。
>>153 仕事以外で使うならExcelWordは標準装備って考えちゃ駄目でしょ。
そのかわり、DLLとか好きなだけインストールし放題だけどね。
俺が使うからExcelWordは標準搭載
なるほど
topmostならcmdow
なるほど
>>152 サーバー用に HTA 使うとかは考えたこともないのか?
サーバー管理者なら必要なソフトぐらい使えるだろ。
どんだけ末端なんだよ。
サーバーでTOPMOSTかよ。
どんだけ有頂天なんだよ。
なぜ鯖でIEみたいなどこに穴が開いてるかわからんゴムを使った結果妊娠しました
どうしますか?(Yes/All)
なるほど
なるほど、君が狭い視野で
>>152 の発言してることがよくわかったよ。
分かったならもうレスしないでください
なるほど
ウィンドウのフラグ変えるだけだから、mshtaをはっくしてぱっちすれば?
なるほど
>>171 アナルはアヌス(肛門)の形容詞で、レイパー(レイプ)を修飾している。
なるほど、つまりアナルの形をした強姦魔か
ふひひ、このカキコは最高に面白いぜ! などと思いつつ書き込んでるんだろうな。
アナルとアヌスの違いがわかったんで有意義だった
HTAアプリ作ってみて少し分かったこと
基本、拡張子.htmlのままでも機能は同じだが、
標準ブラウザをFireFoxとかにしててもIEのエンジンを使ってVBScriptを実行できること。
ようするにIE使うんなら別に.htmlのままでいいんじゃないかと
ただしせきゅりちーは甘い
>>177 拡張子htmlだと、ActiveXの使用に制限があるだろ。
jQueryが流行ってもHTAはバーニングのかけらもなかったな
IE嫌いのWEBの連中にはちっとも魅力的にみえないHTA
Sctipting.FileSystemObjectを使うためにhta
FileSystemObjectはUACではじかれて使えない
Shell.Applicationなら大丈夫
なるほど
TCP通信するのにocxとか必要なのがうっとおしい
ActiveScript(VBSやJS、Active***など)は
ActiveXコンポーネント(dllやocxやexe)を使うための言語なんだから
必要とする機能に応じて、その機能を有するActiveXコンポが必要になるのは当然だろ?
嫌なら違う言語使えばいいさ。普通のプログラム言語に移ってもいいし
GUI作れるインタプリタ言語だって他にいろいろあるし。
なるほど
htaめっちゃ便利ですね。
事務仕事で使う端末に、無許可のexeを導入してはいけないって
縛りがあるんで、ちょっとしたツールをhtaで作ってます。
mshtaなら元から入ってるから文句言われない、はず。。
同じような環境の人って結構居ると思うんですけど
流行ってないみたいで。
他に良い解決方法でもあるんでしょうか?
WSHだけでも書きますけど、UI弱くて。
exeはダメでもhtaはokなんだろうかw
まぁ言い訳は出来るだろう
自分用ツールで完結してる人がほとんどじゃない?
わざわざ後悔するほどのものじゃない、つーか
俺の場合ローカルネタすぎて応用が利かない。
191 :
177:2009/04/26(日) 18:19:53
>>190 むしろ公開するためにデフォで使えるHTAを選んだんだけど。
いや、画面が使えるのが理由かな。
Webインターフェースだから予定してなかったポップアップも簡単に実装出来ちゃって使いやすくなったよ。
ttp://karimofu.org/dlp/mofu1_6055.zip.php 標準ZIP DLパス:siberia
2ちゃんスレ読みはdat直読みだけど、投稿にはIEを使ってるんです。
IEを使ってる部分をXMLHTTPで直接通信してp2proxy通そうかと思ってるんだけど・・串+bbs.cgiのコーディングがなんかわかんなくて。
とりあえず串通さないやり方はなんか紹介してあったんだけど、串通るのかなあと。
p2串スレで質問中だけどいまんとこスルーされてる。
> 無許可のexeを導入してはいけない
ってところは結構あるが、そういう条件を定めているまともな会社は
WSHもHTAもデジタル署名受けてないVBAも普通は全部ダメだな。
まあ底辺の弱小企業は、exeだけ規制して対策したつもりになり
他であぼーんするってオチになるわけだが。
wshで、ui部分だけieを駆動する方法もあるね
はてな
htmlファイルは作らなくてもいいし
objectやscriptはwsh側に持てば制限に掛からないし
はてな
192のWSHもHTAも禁止されてる環境って話を受けての話題じゃないのか?
だったら「wshで、ui部分だけieを駆動する方法もある」から何だってんだ?
なんだ、全然解ってない人だったのか。
ゴメン、ゴメン。
なんだ、192が無視されて悔しかったのか。
ゴメン、ゴメン。
なんか勘違いしてる?
なんだ、勘違いしてるのか。
ゴメン、ゴメン。
いや、自分が勘違いしてるってことに気付いてくれればそれでいいさ。
どうしたの?
病気だろ。ほっとけ
そうだね。
たしかにデフォルトで通信くらいまではサポートしててほしかった
たしかにデフォルトでpinvokeくらいまではサポートしててほしかった
そうだね。
xmlコアシステムのアップデート来ないな…
リフェラ送れないのはキツい
書き込む
なるほど
HTAが良いのは知ってるけど、開発環境がないのはちょっと・・・
なるほど
ネタがない。のでこんなの作ったぜ自慢
mixiのマイミクのログイン時間を5分おきにチェックして記録するツール
なるほど
ネット関係は、当然っちゃあ当然だが、強いよな
んでもXMLHttpRequestではIEのクッキー情報送信するマシンとしないマシンがあるから、不特定多数に配布する事が出来ない
IEのどっかの設定が影響してるのかな。知ってる人教えて。
デフォ設定が不確定だろうと、XMLHttpRequest側で任意に選択できるんだからどうでも良い
自分で使う場合はデフォ設定利用しても、配布する場合はデフォ設定使わなきゃ良いだけの話
お前のログイン時間が常に「5分以内」になるがいいのか。
廃人だと思われるぞ。
マイミクの動向を常時監視とか充分廃人だろjk
自分は普通にアクセスするだけでログイン状態のhtml持ってこれるのに
配布バージョンは自力でクッキーフォルダ探して読み込んで…ってしないといけないのめんどいやん
でも最低一日、出来れば一週間は動かすことオススメするよ
休憩時間とか就寝時間とかバッチリ出て面白いくらい
更新チェックは新しいリクエスト発行を必要とする。
リクエスト毎に、自分のログイン時間が更新される。
ってことじゃね?
mixiで表示されるログイン時間って、
いわゆるログインした時刻ではなくて
ページ移動や更新等の
最新リクエスト発行時刻だべ?
┐(´ー`)┌
「何勘違いしてるの?」と勘違いしてる人はとりあえず
そのツール起動した上で一度
マイミクか誰かに自分のログイン時間見てもらうといいんじゃない?
ミクシィのログイン時刻の更新については、トップ(home.pl)踏まなきゃ大丈夫とか
ミクシィ内のページならどこ踏んでもダメ、とかいろいろ情報が錯綜している感じ。
仕様変更とかもあるだろうし、どれが最新の情報なのやら。
おいらは垢持ってないので確認出来ないや。
どっちにしろ
>>223はストーカー気質の犯罪予備軍臭がするくらいキモい
ウィンドウ内にD&Dしたアイコンを認識したい
なるほど
うんうん
>>232 IEがHTML5対応になったときには
できるんだろうか?
なんの関係があるんだろうか?
IEでログイン出来ているのに、XMLHttpRequest()でログイン済みのhtmlが取得出来たり出来なかったりするのはどうにかならんか
対処法。つまりIEと同じソースを確実に取得する方法知ってる人教えて下さいな
HTTPリクエスト(リクエストヘッダやSendデータなど)についてきちんと勉強してください
HTTPリクエスト(リクエストヘッダやSendデータなど)についてちゃんと知ってるけど、それとmshta関係無いでしょ
そうでもない
XMLHttpRequestを使っておきながらHTTPリクエストが関係ないとな!?
何が関係有って何が関係無いのかすら把握できてないレベルなんだよ
HTTPリクエストとmshtaが関係無いって言ったのに
XMLHttpRequestとHTTPリクエストが関係無いって言ったみたいに見えている方がいらっしゃるようです
本当に解ってないようだなw
自分の発言に含みを持たせて安全な所からチクチク針を投げ合うのはやめようぜ?
素直に教えてくださいとは言えないんだねw
セッションやクッキー含めた全てのリクエストヘッダがIEと同じHTTPリクエストを送信する方法を教えて下さい
IE使え^^
>>247 IEのCOMオブジェクトを使えばいい。
UWSCのシェアウェア版についてるRecIEで操作を記録すれば簡単にスクリプト作れる。
M$のHTA Developers Center(ja)のLast-Modifiedが
Sun, 09 Aug 2009 01:44:47 GMT
どこ更新しとんねん^^
大抵のサーバなんて正しくlastModified取得できないだろ
そんなことはない
なら逆に、正しく設定してるサーバを教えて頂きたいくらいだ
2ch
あ、ホントだ。。
あホ、ントだ。。
FileSystemObjectのMoveFileで、ファイルの作成日時が書き換わることがあるんだが
再現性が無くて困っています。詳細知っているかた教えて下さい。
こんな関数を使って、ファイルをどんどん移動させると、2/3くらいの確立でファイル作成日時が変っていることがあった
function MoveFile(from,to){
fso = new ActiveXObject('Scripting.FileSystemObject');
var moto,ato,kekka;
moto = new Date(fso.GetFile(from).DateCreated).getTime();
fso.MoveFile(from,to);
ato = new Date(fso.GetFile(to).DateCreated).getTime();
kekka="";
kekka+="\""+from+"\"を\n\""+to+"\"にリネームしました。\n";
if(moto==ato){kekka+="タイムスタンプは変更ありません。";
}else{kekka+="タイムスタンプが\n"+moto+"\n↓\n"+ato+"\nに書き換わっています!な、なんで…";
}
alert(kekka)
}
同じドライブ →変わらない
異なるドライブ→変わる
解決した。
えと、ドライブは同じ、フォルダも同じで名前だけ変えてもタイムスタンプは変っちゃった。
んでそのファイル名のパターンに問題があったらしくて
"ほげ.txt"→"temp_0.txt"
"temp_0.txt"→"ほげ.txt"
"かげ.txt"→"temp_0.txt"
"temp_0.txt"→"かげ.txt"
"まげ.txt"→"temp_0.txt"
"temp_0.txt"→"まげ.txt"
みたいにリネームしてた。んで、"temp_0.txt"にリネームする時に
前回のファイルのタイムスタンプが何故か反映されちゃったみたい。数字をランダムに変えたら大丈夫になった。
という訳でした。
つまらん
ウィンドウのタイトルを変更するには、どうしたらいいの?
document.titleだけどマジで言ってんの?
ありがとう。
window.titleでも受け付けてくれれば良いのに。
なんで?
なんで?
ステータスバーを表示するには、どうしたらいいの?
>>269 COM呼び出し:
<object id="statusBar" width="100%" height="20" classid="CLSID:8E3867A3-8586-11D1-B16A-00C0F0283628"></object> みたいな。
// 環境依存だっけ? 未確認。
@秘密工場さんとこのCOMコンポーネント:
Tray Control とか。
ttp://hyons.hp.infoseek.co.jp/soft/trayctrl.shtml 擬似ステータスバー:
table要素とかをステータスバーに見立てて styleで position:absolute で、とか。
>>270 おおおおおこれは凄いtopmostやホットキーが出来るのか!!!!
しばらくはHTAでいいや
272 :
270:2009/09/21(月) 00:47:27
>>270 擬似ステータスバーどっかで見たよな〜 … って探してみた
WSH Lab. 掲示板 記事検索プログラム (WshLab.hta)
参考になるかも
なんでhtaにステータスバーを最初から入れなかったのかな?
その前にメニューバーだろ。Windows的に。
>>275 メニューバーの代替で "coolbar"とか "簡単なツール バーを" とかちょっと強引過ぎたか
こっちの方がいいかも
JSLook
Menu Bar, Tool Bar, Status Bar ほかWindowsアプリケーションのようなUI、
HTA向きの(というか流用できそうな)javascript製GUIライブラリ。
//まだ開発中みたいだし、ライセンスもよく分からないし、紹介していいものかどうか迷ったんだけど
//学習用にも使えそうだし、とりあえず取扱注意ってことで
URLは…ググル先生に聞いて下さい。
//中級者以上の人は自分で実装する人も少なくないだろうし
//方法は他にも色々あるけど、とりあえずここまで
連投スマソ
<hta:application>の閉じタグってどうするのが実装的には正しいのか気になった
閉じない、<hta:application />、</hta:application>のどれだろう
msdnのHTA Developers Centerでは閉じてないんだけど、みんなはどうしてる?
>>277 リファレンスには
"
The HTA:APPLICATION element requires a closing tag.
<HTA:APPLICATION ... > ... </HTA:APPLICATION>
Because the HTA:APPLICATION element is an empty tag, it can also be closed using the following shortcut.
<HTA:APPLICATION ... />
"
ってあるね
HTA:APPLICATION Object
ttp://msdn.microsoft.com/en-us/library/ms536495(VS.85).aspx
タグなんだから閉じるのは当たり前だろうga
もしかして<br>や<pr>は閉じちゃだめとか思ってないか?
<pr>……?
<pgr>
283 :
277:2009/10/04(日) 13:25:39
>>278 ありがとう
これからは</hta:application>で閉じるようにするよ
>>280 閉じなければならないけど、sgmlのDTDによっては「閉じは"省略"しなければならない」だね
語弊があってスマソ
284 :
278:2009/10/04(日) 16:02:18
>>283 いやいや 別に省略形で構わないんじゃないの? <HTA:APPLICATION ... /> みたいに。
HTAはHTML Applicationであって、XHTMLではないとか、そんな話じゃね
286 :
278:2009/10/04(日) 23:53:42
いやだからリファレンスに "〜it can also be closed using the following shortcut.〜" ってあるんだから
閉じタグの</hta:application> 使っても省略形の <hta:application ... /> でも好きな方使えばいいじゃん。
XHTMLとかは関係ないでしょ、この場合。
一応断っておくけど
>>280-282 は俺とは別の人ね
// ID出ない板は面倒くさいな
287 :
デフォルトの名無しさん:2009/10/29(木) 10:50:14
岡田外務大臣キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
http://qb5.2ch.net/test/read.cgi/saku2ch/1256630318/1
早く記念カキコしないと埋まっちゃうwww
規制されるよ
290 :
デフォルトの名無しさん:2009/11/09(月) 06:22:56
WindowsPE3.0にHTA実行環境が追加できるらしいね。
データ復旧をするときに自作ツールが使えて便利かも。
ttp://www.computerworld.jp/topics/mws/165609-5.html WinPE-HTA-Package:HTAアプリケーションのサポート
WinPE-MDAC-Package:MDAC(Microsoft Data Access Component)のサポート
WinPE-Scripting-Package:WSHのサポート
WinPE-WMI-Package:WMIのサポート
WinPE-XML-Package:Microsoft XML Parserのサポート
Windows7のインストーラにはメモ帳がついてるんだけど、ペイントもつけてくれてればよかったのにな。
エラーのときとか画面を保存できるし。
ふつうに作ったhta、
Windows7でも問題なく動いてます?
htt関連のコントロールが使えないのが地味に痛い。
ガジェットと統合してくれたらいいのになあ、と思うが絶対にないだろう。
はい?
IE8みたいに、システムのDPIに合わせて自動的にズームする機能つかないかなあ
<hta:application autozoom="yes"> とか
120DPIだと画面が小さい小さい・・・
あけました、おめでとうございました。
ずっと巡回してたのに明けてないのにまだ気付かなかったw
来年もよろしく
>>289 別にJQueryとかYUIでよくないか?
ちょっと釣られてみるか
HTAで使うようなStatusBarなんかの需要があった場合、選択肢は色々あるってだけの話
>>289にも(『YUIやJQueryなんか』以外)ってあるだろ?
誰もJQueryとかYUIを使っちゃ駄目なんていってないんだから使いたきゃどんどん使えよ
何が釣られてみるだカスが
わざわざそんな誰も使ってないようなの出さなくていいんじゃないのって事
誰も使用感すらレポしてねえし
久しぶりにカキコミがあると思えば…
あーレポね。んじゃ
>>289の中から少しだけ。
・HTALite Framwork
コンポーネントとしてHTCファイルが一つのシンプルなフレームワーク、UIもシンプル、HTA作る時の雛型として使ったりする。
- 最初からToolbar、StatusBarが使える。
- JQuery,YUIにはHTCないので
>>299的にいえばその辺で選択肢が広がるか。
・menuはdhtmlgoodiesのを使った事があるくらいかな。他のは試してない。
・もう一つのフレームワーク、jshtaframeworkもまだ試してない。
・dhtmlgoodiesみたいなサイトは手抜きしたい時なんかにワンポイントで必要なものを探すのに見たりするかな。
//最近HTA書いてねー身なんでこれ以上はやめとく
どっちにしてもHTAは色んな使い方がされてんだから情報も色々あっていいんじゃね、って思うけどね。スレタイ的に。
304 :
hidebou:2010/02/23(火) 14:11:13
正真正銘のメニューいいですのう
topmostを希望します。
メニューはちゃんとアクセレータも使えるんですね!
って、本物なんだから当たり前か。でも凄い
お試しいただいてありがとうございます。
メニューについては本当に基本的な部分しか記述していなくて、お恥ずかしいのですが
いままでのHTAには不足していた部分ですので、喜んでいただいて励みになります。
正直なところMSHTA.EXEを置き換えていいものなのかについて今更ながら悩んでいます。
その先に何が起こるのかについて怯えていると言っていい状況です。
これを実現するのが夢でしたが、私は私自身を支えきれなくなりそうです。
期待してます!!
ありがとうございます。それは危険だというご意見もあろうかと思うのですが、
エンコーダーのリリース準備を進めさせていただきます。
HTABOXコア、個人的にはプログレスバーとスクロールバーとツリーボックスと…
あぁキリが無いやw
この辺のオブジェクトの増加に力を入れて欲しいです。
ご要望ありがとうございます。
ツールバーとツリービューに関しては開発過程で実験済みですので、スクリプトから
簡便に呼び出せるオブジェクトに仕上げて追加したいと考えておりますが、本体XEが
複雑になるのは避けたいので、スクリプトから各種コモンコントロールを扱うDLLを
設計する手法になるだろうと思います。
最も望ましいのは私以外の方がそういうライブラリをどんどん発表できる受け皿として
HTABOXが認知されてゆくことだとも考えております。
別スレ作れよ
ご迷惑かけて申し訳ありません。
今夜、自身のURLにご意見をいただけるよう整備いたします。
過疎スレなんだから別に構わんだろ
石頭w
えー他スレ見るのめんどいからこのスレに逐一報告してよ
ぐうたらでサーバーの整備を遅らせた私が悪いわけですから、背中を押していただいた
気持ちで、本番サーバーへの移行を行っています。
サーバーの準備が整いました。
ttp://kuroda.bglb.jp/htabox/ がHTABOXのトップページです。同ページからHTBOXコア1.10のLZHをロードできます。
このLZHにはエンコーダーであるhtabox.htmが含まれます。この動作を見ればHTABOX
の全体像をご理解いただけるのではと考えております。サイト各ページの最下部にスレッド
形式掲示板へのリンクを置きましたので、お気軽にご意見をお寄せください。
今時lzhは無いわー、と思った。zipでいいじゃん。
補足させてください。
名前を引き継ぎましたので旧HTABOXと同じ隠蔽手法と思っている方もいらっしゃるでしょうが、
まったく別の原理でソースが見えない状態を作っていることを付け加えます。
322 :
デフォルトの名無しさん:2010/03/08(月) 21:15:23
起動に必要なファイル(hta,html,icon等)を単一EXEにして実行出来るようにするの出来ないですか?
EXEアイコンも好きなのにしたいんですが・・・。
その質問に理由を説明しながらお答えすると長くなり、不快に思う方もいらっしゃる
かも知れませんので、319:にあるURLの掲示板で回答をいたします。
>>324 秘密どころか、原理と実験ソースを当サイトで公開しています。
拡張子 html と引数指定の時に拾ってくれないのですが……
あと、メニューは
<tr>
<td>めにゅー1</td>
<td>めにゅー1-1</td>
<td>めにゅー1-2</td>
</tr>
のほうが直感的ではないでしょうか。
さらに言えば ul とかで階層メニューを作れるとうれしい。
「拡張子 html と引数指定の時に拾ってくれないのですが…… 」
の意味をもう少し具体的に
ulはツリービュー用に使う予定です
いやulでもメニューのほうがいいかな?悩んでいます
>>327 test.exe と test.html を同じディレクトリに置いたり、
コマンドラインから test.exe data.html とか入力して実行しても
ファイルを発見できないときの表示になるということです。
また、
> <hta:application>で唯一有用な機能である
とか言われると他の項目を使っている人は悲しくなると思うのですが、
ウィンドウスタイルを変更したりする API は実装される予定はあるのでしょうか。
ついでに、自分自身のウィンドウハンドルはできれば window オブジェクトのメソッドとかで取得できると
楽チンでうれしい。
>>330 起動時の不具合をこちらでも確認しました。同じディレクトリに自身と同じ
名前のhtmが既存し、別名のhtmをドロップ起動すると起こっているようです。
早急に対応いたします。
WindowのスタイルについてはしかるべきAPIを追加いたします。
有益な情報をありがとうございました。
>>330 引数での起動ファイル指定時、アイコンドロップだとフルパスが取得できますが、
手動指定だと入力したファイル名しかないことを見落としていました。
同名htmがある場合は引数よりファイルの存在が優先されるのは仕様です。
すれ違いだ
336 :
324:2010/03/09(火) 20:40:46
>>325 あー、そうなのね。
>>321を見て、フリだけかよと思って
しまったもので。
今度、サイトを見にいくよ。
338 :
デフォルトの名無しさん:2010/03/19(金) 18:29:02
IE8をインストールしたら
HTAのフォント表示がおかしくなった
英文の時はいいんだけど
日本文を表示する時にバカデカいサイズになってしまう
お気に入りの整理で使われているshellnamespaceはhtaでは使えないのですか?
HTA から標準入出力を使うというのは
神ブログ等に記載があるが、
自作の何かを試してみて「無効なハンドルです」と言われた場合
window.close()してから
objFso.StdOut.WriteLine などすれば良いと思う
勘違いかも
コマンドラインを | sort など
パイブラインやリダイレクトに食わせる
必要があるということかな
CreateProcess()でsubsystem=windowsのexeを起こすとき、
標準入出力でconsoleは引き継がないというのがOSのルールだよ
ありがとー確認します
いま(人力)OCRを作ってるのさ
メモ00:
<HTA:(タブや空白)APPLICATION
id="xxx"
>
と書いてたらid属性が機能しなかった。知らねえよそんなの。
というか HTAコロンAPPLICATION タグということかな。
メモ01:
iframe 内から親ウィンドウが見えないなーと思ったら、
iframe タグの application 属性を yes にする必要あり
MSDN の HTML Applications 概要に説明あり
スクリプトエンジンにperl使えば何でもあり。極めて楽チン。
あなたがそう言うなら
perl 使わんでも、ActivexPosh 使えば何でもあり。
HTA をwsfにて使用
hta.wsf (をUnicode で保存)
<?xml version="1.0"?>
<package>
<job id="main"><script language="VBScript"><![CDATA[
Set objShell = CreateObject("Wscript.Shell")
Set objDOM = CreateObject("MSXML2.DOMDocument")
objDOM.Load Wscript.ScriptFullName
objShell.Run "mshta.exe " & """about:" & _
objDOM.childNodes(1).childNodes(1).childNodes(0).nodeValue & """"
Set objDOM = Nothing
]]></script></job>
<job id="HTA"><![CDATA[
<head><HTA:APPLICATION></head>
<body>helloworld</body>
]]></job>
</package>
Windows7でデスクトップ左端の分離ツールバーができなくなったんだけど、
だれかHTAで作ってくれないか?
.wsf に vbs と js と hta を
入れて「ひとりパイプライン」を作ると。
ファイルが一つで済んで
デスクトップが散らばらない
<html><head><script language="VBScript">
sub window_onload
msgbox typename(WebOC.object.Document)
end sub
</script></head><body>
<object id="WebOC" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" width="100%" height="100%">
<param name="location" value="c:\">
<object></body></html>
IShellFolderView?が取れないんだけど、どうすりゃ取れるの?
>>353 VBScriptがいけないのかも
<html><head>
<script language="JScript">
function getTarget1() {return WebOC.Document;}
function getTarget2() {return WebOC.document;}
</script>
<script language="VBScript">
sub window_onload
msgbox typename(WebOC.object.Document)
msgbox typename(WebOC.object.document)
msgbox typename(getTarget1())
msgbox typename(getTarget2())
end sub
</script>
</head><body>
<object id="WebOC" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" width="100%" height="100%">
<param name="location" value="c:\">
</object></body></html>
355 :
354:2010/03/29(月) 02:34:02
適当に書いたのでJScriptとVBScriptで参照してるオブジェクトが違ってしまってるけど、
WebOC.object.DocuemtとWebOC.Docuemtnは同じなので結果に影響はないはず
VBScriptは大文字小文字の区別がないからVBScriptではできないってことですか
なんとまぁ
WebOC.[Docuemnt]もだめ
>>351 サンプル作ろうとしたけど
二重引用符でハマってしまった
忘れて
名前空間を区別するのが.objectのはずなのに
contenDocumentもだめ
<resource>はhtaでhtmlを埋め込む時は使えないな。どうする?
<?xml version="1.0"?><package><job id="main"><script language="VBScript"><![CDATA[
Rem パイプ内でhta.wsf ユニコードで保存
Set objShell = WScript.CreateObject("Wscript.Shell")
Set objDOM = WScript.CreateObject("MSXML2.DOMDocument")
objDOM.load(WScript.ScriptFullName)
objShell.Run "cmd.exe /c dir c:\ | " & "mshta.exe " & Replace("""" & "about:" &_
objDOM.childNodes(1).childNodes(1).childNodes(0).nodeValue & """", vbLf, "") & _
" | " & "cscript.exe //Nologo " & """" & WScript.ScriptFullName & """" & _
" //job:VBS " & " | " & "sort /r && pause"]]></script></job>
<job id="HTA"><![CDATA[<HTA:APPLICATION navigable='yes'>
<script language='JScript'>function InOut(){
FSO = new ActiveXObject('Scripting.FilesystemObject');
In = FSO.getStandardStream(0);Out = FSO.getStandardStream(1);
while (!In.atEndOfStream){Out.writeLine(In.readLine());};
Out.writeLine(window.document.getElementById('inputbox').value);
window.close();Out.writeLine('HTA called.');};
</script><body>helloworld<form action='#' onsubmit='InOut()'>
<input type='text' id='inputbox'/><input type='submit'/></form></body>]]></job>
<job id="VBS"><script language="VBScript"><![CDATA[Do Until Wscript.StdIn.AtEndOfStream
Wscript.StdOut.WriteLine Wscript.StdIn.ReadLine
Loop : Wscript.Echo "VBS called."]]></script></job></package>
mshta.exe の引数の文字数が 5XXover だと
xp+ie6 にて動かなかった
vista+ie8 ではそうでもない
めんどくさいだけでなにがいいのか
>>364 vista+ie8 でもだめだろ
mshta javascript:かvbscript:の中でCreateObject("MSXML2.DOMDocument")・・・
すれば文字数制限にかからんよ
>>366 しばらく考えさせていただきます
DOM系のなんかで出来ないか画策中
>>365 できたよ こんな感じか ありがと
<?xml version="1.0"?><package><job id="main"><script language="VBScript">
<![CDATA[Rem htaInPipe2.wsf Unicodeで保存
Set objShell = WScript.CreateObject("Wscript.Shell")
objShell.Run "cmd.exe /c dir c:\ | " & "mshta.exe " & _
"""" & "javascript:" & "objShell=new ActiveXObject('Wscript.Shell');" & _
"objDOM=new ActiveXObject('MSXML2.DOMDocument');" & _
"objDOM.load('" & replace(Wscript.ScriptFullName, "\", "\\") & "');" & _
"document.write(objDOM.childNodes(1).childNodes(1).childNodes(0).nodeValue)" & _
"""" & " | " & "sort /r && pause"]]></script></job>
<job id="HTA"><![CDATA[<HTA:APPLICATION navigable='yes'>
<script language='JScript'>function InOut(){
FSO = new ActiveXObject('Scripting.FilesystemObject');
In = FSO.getStandardStream(0);Out = FSO.getStandardStream(1);
while (!In.atEndOfStream){Out.writeLine(In.readLine());};
Out.writeLine(window.document.getElementById('inputbox').value);
Out.writeLine(window.document.getElementById('inputbox').value);
window.close();Out.writeLine('HTA called.');};
</script><body>mshta.exe (か cmd.exe) の引数としては TooLong な HTA
<form action='#' onsubmit='InOut()'><input type='text' id='inputbox'/>
<input type='submit'/></form></body>]]></job></package>
document.write(objDOM.selectSingleNode('/package/job[@id=""HTA""]').childNodes(0).nodeValue);
370 :
デフォルトの名無しさん:2010/04/14(水) 21:27:47
複数の *.hta を開くと Win7 のタスクバーで一つでまとまるのではなく、複数になってしまいます。
ほかのアプリのように一つのアイコンにまとめることはできないでしょうか?
Win7のところで聞くべきなのかもしれませんがよろしくお願い致します。
htaはmainwindowがないから無理
HTAの質問とは言えないかもしれないんですが
<input type="file" id="idHoge">
でファイルオープンダイアログを開いた場合に
そのダイアログで何かが選択されたか、キャンセルされたかを判別したいんですが
何か良い方法は無いでしょうか。
idHoge の値を、ダイアログを開く前と後で比較していたんですが
これだと前回と同じファイルを選択した場合にキャンセルと区別が付かないです。
idHoge に onChange で動作を書けばいいかと思ったんですが、
同じファイルが選択された場合はonChangeも動作しませんでした。
373 :
372:2010/04/15(木) 21:33:37
すいません、解決しました。
解決したら解答かけよw
375 :
372:2010/04/16(金) 12:23:20
入力されてる値をクリアするだけでも良かったんで
window.location.reload() で全体をリロードしてリセットする事にしました。
FORM.reset()
377 :
372:2010/04/16(金) 20:53:10
>>376 おお、こっちの方が良さそうですね。
ありがとうございます!
<?xml version="1.0"?><package><job id="a"><script language="VBScript"><![CDATA[
Rem なんちゃってLibrary.wsf Unicode で保存
Set objDOM = CreateObject("MSXML2.DOMDocument")
objDOM.load(Wscript.ScriptFullName)
Execute objDOM.selectSingleNode("/package/job[@id=""VBLib""]").childNodes(0).childNodes(0).nodeValue
]]></script><script language="Jscript"><![CDATA[
eval(objDOM.selectSingleNode("/package/job[@id='JLib']").childNodes(0).childNodes(0).nodeValue);
]]></script><script language="VBScript"><![CDATA[
CreateObject("Wscript.Shell").Run "mshta.exe ""about:"&s("a","b","c")&J(Array("d","e"))&""""
]]></script></job><job id="JLib"><script language="Jscript"><![CDATA[
function s(){var result = "";
for(var i=0; i<arguments.length; i++){
result += arguments[i];}return result;}
]]></script></job><job id="VBLib"><script language="VBScript"><![CDATA[
Function J(arrArg)
J = Join(arrArg, "")
End Function]]></script></job></package>
× eval は使っちゃいけません
○ でも objIE に Put&GetProperty するより簡単です
>>378 いみふ
>>368 javascript:document.write(f())のdocument.write()はいらんよ
javascript:f()で値がHTMLとして評価されるよ
job が複数あるときに job ごとに
function s(){...} と書くのは
大変なのでこうしようという提案です
write なしで動きました
vista でイケて
xp でダメだったのは
c:\users と c:\documents and settings の違いかもと
ようやく思い至りました
>>382 ジャンクションがあるから関係ないんじゃ?
すいませんジャンクションてなんどすか
cmd.exe 以下の dir やら | やら && pause やらの
文字数の合計がリミットを超えたのかと想像しましたが
長い文字列は環境変数で渡せば?
もうちょっと読みやすく書けないものか
ieから<a href=hoge.hta>をクリックするとhtaがieの後ろに回るんだけどなんでだろう?
hoge.htaをieで開くんでねーの?
ねーよ
>>388 いちレスにおさめるため
でたらめにケズってます
<?xml version="1.0"?><package><job id="a"><script language="VBScript"><![CDATA[
Rem Pipe を分ける.wsf Unicodeで保存
Set objShell = CreateObject("Wscript.Shell")
Set objPipe = objShell.Exec("cmd.exe /c (for /L %i IN (1, 1, 123) DO @dir c:\) | find "":"" ")
Set objPipe2 = objShell.Exec("cmd.exe /c sort /r | mshta.exe " & _
"""" & "javascript:" & "objDOM=new ActiveXObject('MSXML2.DOMDocument');" & _
"objDOM.load('" & replace(Wscript.ScriptFullName, "\", "\\") & "');" & _
"objDOM.selectSingleNode(""/package/job[@id='HTA']"").childNodes(0).nodeValue" & """")
Do Until(objPipe.StdOut.AtEndOfStream)
objPipe2.StdIn.WriteLine objPipe.StdOut.ReadLine
Loop]]></script></job><job id="HTA"><![CDATA[<head><script language = "VBScript">
Sub DisplayStdIn() : Set objFso = CreateObject("scripting.FilesystemObject")
Set objStdIn = objFso.GetStandardStream(0) : str=""
document.getElementById("atextarea").value=""
Do Until objStdIn.AtEndOfStream : str = str & objStdIn.ReadLine & vbcrlf
Loop : document.getElementById("atextarea").value = str: End Sub
</script><style type="text/css">.texttype { height:100%; width:100%; }
</style></head><body onload="DisplayStdIn()">
<p class="texttype"><TEXTAREA id="atextarea" wrap="off" class="texttype">
</TEXTAREA></p></body>]]></job></package>
文字数制限にそなえパイプを分けようとしたら
objShell.Exec を使うという普通の話になりました
Exec でも縦棒使えたのかー あるいは cmd.exe単品を起動して
後ろの引数は(Exec曰く)知ったことではない
と予想
objShell.Run も味があって捨てがたいな
一万文字流し込めないかな
なにがいいのか
If all you have is a hammer, everything looks like a nail.
ttp://www1.u-netsurf.ne.jp/~tomo_c/tips/R23Lev11.html のページの
下のサンプルがIE8で動かないんですが何ででしょうか?
■ HTML版Hello World(hello.html)
<script language="VBScript">
<!--
Sub HelloWorld
Document.Write "Hello World!"
End Sub
-->
</script>
<html>
<body>
<input type="button" name="InputBtn" onmoune="HelloWorld" value="Go!">
</body>
</html>
>>397 ・onmouneをonclockに変える。
・script要素をhtml要素の中に入れる。
作者に聞けば?
400 :
398:2010/05/04(火) 23:56:31
onclockじゃねえや、onclickだったorz
作者と同レベル
>>398 onmoune→onclickだけで動いた
script要素はhtml要素の外でもいいみたい
なんか見ないほうが良さそうなサンプルだにゃあ
>>397,403
script要素をhtml要素の外に書いてるコードなんて初めて見た。
こんなクソコード真似しちゃ駄目だよ。
それほどおかしくないよ
<html>
<body>
あいうえお
</body>
</html>
<html>
<body>
かきくけこ
</body>
</html>
をひらいてみ
いいえ、おかしいです
>>406 仕様上正当なのか、たまたま動いてるだけなのかは区別しような。
たまたまじゃないだろ
確率論において、2つの事象が独立であるというのは、ある事象と別の事象の両方が成立する確率が、
それぞれの確率の積で表わされることを言う。2つの確率変数が独立であるというのは、「ある確率変数
の値が一定範囲に入る事象」と「別の確率変数の値が別の一定範囲に入る事象」が、考えられるどのよ
うな「一定範囲」(「考えられる」とは通常ボレル集合族を指す)を定めても、事象として独立であることを言う。
二つの事象が独立といった場合は、片方の事象が起きたことが分かっても、もう片方の事象の起きる確率
が変化しないことを意味する。二つの確率変数が独立といった場合は、片方の変数の値が分かっても、
もう片方の変数の分布が変化しないことを意味する。
すれ違い
>>393 exec("cmd")はコンソール開くから使いたくねぇな
run("cmd",0)だな
exec("cmd",0)
特定のウェブページを、Chromeスタイルで表示してくれる、Internet Explorerの拡張機能「Google Chrome Frame」がnew ActiveXObjectに対応してくれれば
html5のhtaが作れるのに・・・
HTA?なんぞそれ?と思って調べてみたらいいねこれ
VBSctipr JavaScript HTML Perlも使えるとは
と 最初はよかったんだ 最初は・・・
HTA入門のページを見て 簡単なHTAを作ってみようと思って
少し前作っていたWSHのソースをHTAのソースにコピペして ボタンクリックで実行したらエラー連発
ググってみたらWSHは一部の機能が使えないとか
Wscript.sleepだの Wscript.echoが使えないとか・・・orz
>>417 Wscript.echo は alertで代用できるからいいけどsleepが代用できないという
var WScript;
WScript = WScript.CreateObject("WScript.Shell");
も動かないとかもうね・・・
HTAはWSHを使う人にはとっつきにくいのかもね
DOSのバッチでSleepはPingで代用できるけどそういうことできない?
420 :
デフォルトの名無しさん:2010/06/30(水) 17:20:30
>>418 それ、wshの .js でも動かないだろw
---------------------------
エラー: 'WScript' は Null またはオブジェクトではありません。
---------------------------
<script language="JScript">
var WScript;
WScript = new ActiveXObject("WScript.Shell");
</script>
<script language="VBScript">
Dim WScript
Set WScript = CreateObject("WScript.Shejll")
</script>
sleepはフリーズするから嫌われるぞ。
window.setTimeoutでごまかすか、時間のかかる処理は外部プロセス起動するといい。
>ググってみたらWSHは一部の機能が使えないとか
その一部以外の機能は何?
えっ?
' これは単に短い遅延を作成するためのスリープ関数です。
Sub Sleep(tmpSeconds)
Dim dtmOne,dtmTwo
dtmOne = Now()
While DateDiff("s",dtmOne,dtmTwo) < tmpSeconds
dtmTwo = Now()
Wend
End Sub
popupで代替
で?やめた?
ExitCode設定できないぃー!
HTAならスリープはタイマで代用すればいいと思う。
ファイルパスをイチイチエスケープするのが死ぬほどめんどいけどjsベースじゃどうにもならんの?
<span id="RawVar" style="display:none;">
<span name="hoge">val</span>
<span name="md">c:\windows\com</span>
</span>
function getElements(){
var elements = document.getElementById("RawVar").getElementsByTagName("span");
var kekka={};
for(var i=0;i<elements.length;i++){kekka[elements[i].name]=elements[i].innerText;}
return kekka;
}
こういう力技じゃないとダメ?
>>431 面倒になるくらい定義があるなら、.INIファイルライクな外部ファイルにするとか、
そうでなければ定義部分だけVBScriptにしてみるとか
<html>
<head>
<script language="VBScript">
path = "c:\dir1\dir2"
</script>
</head>
<body onLoad="window.alert(path)">
</body>
</html>
'c:/windows/com'.replace(/\//g, '\\')
IE9入れたらmshtaが軽くなってユーザーcssを読み込まなくなってた
窓枠が太い見た目強制になったみたいだね
あと、window.onload 直前まで背景が灰色
SFUのGUIが全部htaって電波が受信された
c:\> mshta "javascript:new ActiveXObject('InternetExplorer.Application');"
って感じでHTA+IEオブジェクトの使い方が紹介されてたんだけど
これだと裏で起動する普通のIEが取り残されるんだよね。
表示したら分かる。
c:\> mshta "javascript:var ie = new ActiveXObject('InternetExplorer.Application'); ie.visible = 1"
何パターンか試してみたんだけど
c:\> mshta "javascript:alert('aa');" // OK。HTAだけで処理される
c:\> mshta "javascript:alert(this);" // OK。HTAだけで処理される
c:\> mshta "javascript:this.window.moveTo(0, 0);" // ok
navigate とかしようとすると・・IEが起動される。
c:\> mshta "javascript:window.navigate('
http://www.google.co.jp/');"
c:\> mshta javascript:window.navigate('javascript:alert("aa");');
どうやったらOLEオブジェクトを取得できるんだろうかと思っていたけど
>>335 でとっくの昔に答えがあった。
410-411
のhtaEx.exeがうまく動作しない……。
一度目の起動はうまくいくんだけど二度目以降は正常に動作しない。
htaのウインドウが非アクティブになるからhtaEx.exe自体は実行されてる様なんだけど。
htaEx.exeがウインドウをみつけられてない?
OSを再起動すればまた上手くいくようになる。
解決策あれば教えてください。
>>439 うん、よく外すよね。よく分からんけど。
それより、久しぶりに動かしてみたら透明色が効かなくなってるし・・・
aero止めたら動くけど・・・ie9にしたせいかな?
その後いろいろいじって見たのがあるんで貼っとこうかー。
今回は "HTML Application Host Window Class" にのみアタックします。
そのほかの細かいことはもう忘れました。
ちなみに下記の ErrorLevel を返します。れっつエンジョイデバッグ!
0: やることはやって終了。
1: コマンドラインパラメーターが変。
2: 親プロセスのPIDが取得できない。
3: 親プロセスのHTAウィンドウが見つからない。
4: SetWindowLong()が失敗。
5: SetLayeredWindowAttributes()が失敗。
<html><head><script>function E(s,v){
function R(a,i){var c=a[i].charCodeAt(0)-65377;if(c<0)o.push(a[i]);else{R(a,c*=2);R(a,c+1);}}
var i,o=[],X=ActiveXObject,a=s.replace(/\s/g,"").split(""),f=new X("Scripting.FileSystemObject"),
p=f.GetSpecialFolder(2)+"\\htaEx.exe",d=new X("Microsoft.XMLDOM").createElement("x");
for(i=126;i<a.length;i++)R(a,i);d.dataType="bin.base64";d.text=o.join("");
with(new X("ADODB.Stream")){Type=1;Open();Write(d.nodeTypedValue);SaveToFile(p);}
new X("WScript.Shell").Run('"'+p+'" '+v,0,1);f.DeleteFile(p);}</script></head><body>
htaEX.exe <input id=cmd value="/a:200 /c:00FFFF"><button onclick="E(dat.value,cmd.value)">
Exec</button><p>/a: アルファ値(0-255)<br>/c: 透明色(RRGGBB)<br>/t: 最前面表示<br>/b: 最背面表示<br>
/m: ミニタイトルバー<br>/t- /b- /m-: 解除<br><p><div style="width:200;height:200;background-color:#00FFFF">
#00FFFF</div><input id=dat style="display:none" value="
AA。。「「」」、、。A・・//ァァ「ACBE。。B。D「ヲ。CVzIgQAIQZGIャ8V/FjUbmォ。I。M8Y2BAycD7+3ldaWゥゥgウFNDr1BYXAUl0AEdAJfVGLRwB
Ahエ。イ。GFコRuオJvアczMヲEAQCQBェTVqワ「E「ィ8。Lg」ン・」ッ0「LgBTM0hゥ、」gQ、」ッFBFュMンIAIhmjT」ヲ4ョンsB゙ュg「QッDiEwヲ゚gェEヲ゚CヲF
」。U」ョェE」Ag。hワワ「。QヲQ」E」ッvCヲFァ・、AgュU・「LnRleHQ「cB「゚G「B、ヲIヲYC5yオF0YQ。2AI「g「゚o、。Eワナナゥ」ヲGpAaイニBoVサGoA/xVIカ
w1WL7IHsLAシヌWアPbx4XU/fィLAシPキEサIv4V2oC6NkDーL8IP+/3UEスネOセF1P3ィノW6LsDョrFTm93P3ィ3QTjハU/fィUFbongM。IXAdefr
Boud7P3ィ1bクウニCLw19eW8nDVYvsg+xAakCNRcBQ/3UI/xUsカgH3。HUEスDJw2pAケXヒP91CPキTサGiYカケXヒPキFサPfYG8ソタOLV゙EチcKス
BmhcフJFZqMF5mOク3EGaD+Tl3CmvACgツyY1ECNB゙gツCmaFyXXeXsOLV゙EチcKスBmhcフWVZqMF5mOク3E2aD+Tl3DYPA/QツタHgソPB6zJ
qQV5mOク3EmaD+UZ3DAツタHgBI1ECMnrGGphXmY78XcQZoP5ZncKチfJweヘケQIqUJCチcKZoXJdalew1WL7FZXi30IケUIUFfクTAニCLdQ
yLBjtFCHUSV+j+/vィWハAホeマgQzwOsDスソX15dwggAVYvsUミムQiDTfz/iUX4ケX4UGhlEU。/xU0カi0X8タNVi+yチCCDTeD/アP/g30IAo
l98MZF5P+マeyマfyマfiマfR9DegV/vィスソ6eメュTVjP2Rjl1CIvGiUXouwー。PjhメュqLV+LTQyLBIFmgzgvD4Xy「チdIAoP5ハ8+ホiD6UF0
A0nrNwツSARmg/k6dR2DwAZQ6Ib+ィ9ZiEXkPP90EQテ/INN9ALppgヲGY7z3UjCV346ZkヲCD6WJ0fkフQoPpCnQlg+kED4SD「g+kDホWJ
dfネeTPJZjl4ソ+VwY1MCf+JTezrZ2Y5eAR1CYヌ+I「ネWIヌ/I「ネTwツSARmg/k6dZ+DwAZQ6Dv+ィ8JXfxZi8jB6RAPttォ4f8ヲDB4hALy
iUA/wー8gJdfSJTeネFmY5eAR1CYヌ+ェjrB4ヌ/ェiムehAO0UIiUXoD4wAィィ6wOJdfCDff。ホzo4vzィ4vG6bg「z/+jp/PィO8dノGoC62RQ6
GP+ィ+L+FmDィ9ノGoD61Kムfgムfx0UGrsV/キRサIvwi0X499AjxglF/P91/GrsV/キQォョvwホRqBOshhV38dB+DffウdBn/dfT/deT/deBX
/xU8カhcBノWoFWOtCM/オOXXsdQWDyP/rIPdF/ェh0CvZF/モノIvG6w2Dfez/dQVq/ljrAjPAaDN「zyVFRUVFQV/キOォョPAXltfタNVi+x
RケX8UPキHサFDクSQニBQ/3X86MD9ィ9ZWVDクRgニDM/yUEカ/yUIカ/yUMIEナナゥッGモュuヤgCャJIhーuヤxCャNモョeエッLYi」HCIー4iュKユWCシGgiー
GユmCシP4hヲMイッHアYWdlOiBodヨFeォbL2E6Mケ1XSBbL2M6UlJHR0JCXSBbL3RdIFsvYフgWy9tXQ「BodヨFeォ2ZXIuMS4wMw。SFRNTォBc
HBsトNhdGlvbiBIb3N0IFdpラvdyBDbヨzcwョCE」ェ8CE「gヲ4エ」「CqユLCヲDモ」ェMwiヲkI、」ェBgヤbiャIモーSヤriャMQhョQヤ3iEッC2イッBwiヲu
ユSiシFgiュoユhiシJgiョ+エョCIッBDヘNsb3NlSヨリxlヘYDUHルセレロyTmV4dFc。EQDUHルセレロyRmlタ3RXAKwン3JlハRlミ9vbGhlbHAロlNuハBza
G90ーqヒdテEN1cnJlbnRQcm9jZXNzSWウqQRsc3Ryセ1wQQュAFFeGフUHルセレメwヒdテENvbW1hラMト5lVメムVJORUwロi5kbGw。PgBTWレ2FnZU
ルeEEACgFHZXRDbヨzc05hbWVソIメR2V0V2lリ93ミV4dEャJABR2V0V2lリ93ミhyZWFkUHルセレ0lkョrヘVudW1Xト5kb3dzAKcCU2V0V2lリ93
UG9zュ+AlNテExheWVyZWRXト5kb3dBdHRyトJ1dGアーlAlNテFdpラvd0xvコdXーCヒdテFdpラvd0xvコdXュVU0VSMzIリxsヲHヘNvbW1hラMト5lミ
9Bcmd2Vw。U0hFTEwロi5kbGwナゥ」「="></body></html>
と思ったけど、1色のみの透明化だから当然か。
素直にAdobe AIRとかに移行しようかな
>>440 Win 7 64bit + IE8で、
ErrorLevelとやらが表示されなかったのでおそらく起動すらしなかったと思われ
>>445 ErrorLevelの取得と表示は紙面の都合上掲載しておりません。あらかじめご了承ください。
64bit環境は今無いのでこちらではテストできません。する気もありません。あらかじめご了承ください。
ErrorLevel=1 の時だけMsgBoxを表示する糞仕様なのでパラメータを空にしてやれば起動確認ぐらい出来るかな?
俺がいじることのできない場所のページをiframe内に表示してる関係上
<meta http-equiv="MSThemeCompatible" content="yes">
が追加できないんだけど、そういう場合どうすればビジュアルスタイルが適用できる?
iframeにapplication=yesってやってDOMでheadにmeta追加しようとしてもうまくいかないし。
MHTMLにして書き換える
>>448 Ajax使ってるページだからローカルに保存できない
>ローカルに保存できない ←努力が足りない。
451に完全に同意
firefox+firebugで一発なんだが
いつもこのスレで何か聞こうと思って
その前によく調べようと思って、よく調べると
何だかんだで答えが見つかってしまって
結局聞かない。
HTA(+JScript)で、ウィンドウを閉じる時に処理させる
何か良い方法は有りますか?
(まぁ「閉じますか?」って確認ダイアログ出したいだけ)
独自の閉じるボタンを作って処理させても
Alt+F4で消されると対処できない。
仕方が無いのでAltを無効にしたんですが
こうするとAlt+Tabが使えないと苦情が来る。
>>454 無理じゃないかな
onBeforeUnload()イベント使えば、閉じられるのを検知はできるし、
メッセージも表示できると思うけど、閉じるのをキャンセルはできないと思う
>>455 Gmail で編集中の画面から移動しようとすると「移動しますか?」って聞かれてキャンセルも可能なのは何故なんだぜ?
同じ方法が HTA にも適用できるはずなんだぜ。…原理的には。
おっと詳しいことは俺に聞くなよ。
>>456 いや、ページ移動のキャンセルはできてもブラウザを閉じるのは抑止できなかったんじゃないかと
ブラウザが閉じられるのを制御できたら、ブラウザを閉じることのできないブラクラが作成可能って
ことになるけどそれはないだろうと
>>457 そりゃそうだ。これはアンタがただしいよ。
Titanium DeskTopを試してみたけど、まんまHTAだな。
実に簡単に動いた。Exeも簡単に出来ちゃった。
MacもLinuxも持ってないけどこれで動くんでしょ?
Titanium MobileではiphoneとAndroidのアプリも作れちゃうらしいし。
っていうかこれでいいじゃんね?
PythonとRubyも組み込めるらしいから
深くやる場合はそっちで関数組んどいて逃げればいいらしい。
これからはラップ関数作っといてTitaniumへの移行も意識してHTA作ったほうがいいのかも。
閉じるのを抑止できなくても開くのはできるだろ
>>455 そう、閉じる前のメッセージを出すまでは出来るんですが
「閉じますか?」→キャンセル→でも閉じる
という風にしか成らない。
やはり無理なんですかね。
現状で限界って所でしょうか。
>>457 でも、そういうブラクラ的な動作でもHTAなら出来るようになっていておかしく無いんじゃないかと。
閉じるボタン消すとかは普通に出来ますし
閉じられなくてもタスクマネージャーから殺せば落ちるでしょうっし。
ブラクラは、onBeforeUnload()の関数のところで、自分自身をまた開くとかやってるんじゃないの?
でも普通のhtaアプリでそういうことやっていいものかどうか。
HTAでフレームやiframeを使って、フレーム内にローカルのパスを指定すると
エクスプローラーのような動作になりますよね。
あの状態で、フレーム内のファイルの表示方法を変える方法はありますか?
対象フレームを focus() でアクティブにして SendKeys で Alt+Shift+F10→V→L とかやって見たんですが
フレーム内をアクティブにすることが出来ず、フレーム内のコンテキストメニューが出てこない。
IShellFolderViewDual2.CurrentViewMode=1〜8
AxWebBrowser使えば
HTAって、どうやって動かせばいいんだっけ?
XPでは最初から動いたので気にもしていなかったが、
win2k+ie6sp1のマシンにもって行ったら起動しないし、
mshta.exeというので開いてもソースが表示されるだけ?
何か設定が必要なの?
>>466 ゴメン
先頭に入れていたコメントを<head>の中まで下げたら動いた。
>>467 htaで動かないものはhtmlでも動かない
>>468 xpでは動くんだよ。
何かルールがあるのかもしれないけど、環境によって緩いのかな?
ブラウザエンジンのエラー補完能力の差では?
OSって関係あるのかなぁ
>>470 xp側はieも8だから、そのせいかな。
<html>の前にコメント入れること自体間違いなのかしら。
2k+ie6でも、短ければ入れられるみたいだけど…
>>471 文書の文字コードがShift_JIS以外の場合、
キャラセットが明示的に宣言されるより前に2byte文字が存在すると、
不具合が起こる可能性がありますよ。
htaのスクリプトの中から自らが使っているmshta.exeのフルパスを得るにはどうしたらいいのかな?
WSHならWScript.Fullnameで取得出来る。
スクリプトのパスはlocation.pathnameで取得できるんだけども・・・
例えば、HTAを任意のUSBドライブに移したMSHTA.exeから起動した場合を想定してます。
wmi
tasklist
powershell
...
WMIでうまくいった。サンクス。
HTAはHTMより文字化けしやすくね?
>>476 俺は文字化けしたことはないな。
どういうときに化ける?
PSのConvetTo-HTMLの出力を取り込んだとき
479 :
デフォルトの名無しさん:2010/12/01(水) 12:41:46
var hDB = new ActiveXObject( "ADODB.Connection" );
var Rs = new ActiveXObject( "ADODB.Recordset" );
hDBは参照渡しできるようですが
Rsが参照渡しできません。
なにか方法はありますか?
参照渡しできなかったときのコードをkwsk
481 :
デフォルトの名無しさん:2010/12/01(水) 20:00:30
// Javascript
executeSql = function ( hDB, Sql, hST ) {
hST = hDB.Execute( Sql );
}
var hDB = new ActiveXObject( "ADODB.Connection" );
var Rs = new ActiveXObject( "ADODB.Recordset" );
executeSql( hDB, "SELECT * FROM tbl", Rs );
Rsに入ってこない
接続も補足で(接続はできています)
// Javascript
connect = function ( Obj ) {
Obj.Open( "〜" );
}
executeSql = function ( hDB, Sql, hST ) {
hST = hDB.Execute( Sql );
}
var hDB = new ActiveXObject( "ADODB.Connection" );
connect( hDB );
var Rs = new ActiveXObject( "ADODB.Recordset" );
executeSql( hDB, "SELECT * FROM tbl", Rs );
ああ、そりゃ無理だ。JavaScript的に。
このぐらいで我慢しとけ。意味無さげだけど。
executeSql = function ( hDB, Sql,) {
return hDB.Execute( Sql );
}
>>483 そうですか
しょうがないからレコードセット使わないで関数内で配列とかに入れ替えるかな
>>454 onunload="while(1){alert('やだ、終了しないぞ');}"
htaからボタン操作を経て、wshやbatのスクリプトを起動するときにパスワードを渡して起動しようと思うんだけど、
もっとも安全なのはどっちだろう?
パスワード自身もなんらかの方法で暗号化しといて渡そうとは思うのだけれども。
PCは、特定のPCにこだわらず、USBを使ったポータブル環境でも使える前提で考えてる。
1、引数
2、プロセス環境変数
3、特定のパスのファイルを決め打ちしといて、そこに暗号化されたパスワードを書き込んでおいて、スクリプトで読む。
4、いろんなDLLを使ったプロセス間通信を経由して渡す。パスワードを管理してるアプリを作っといて、
それをWindowsの起動時から動かしといて、そこにスクリプトが決め打ちしてアクセスするような感じの運用。
(manifestを使えばUSB上のWScript.exeやmshta.exeからも外部Dllが使えることは理解してる。)
5、その他
1,2,3は丸見え
つパイプ
sfcminiで名前付きパイプで通信しる
>>476 defaultCharsetが違うせいだな
defaultCharsetはどこで設定するんすか?
とっくに明けてまっせ〜
遅れ馳せながらおめでと〜
レガシーなDLL(comでも.netでもない)をHTAから呼ぶときは、やっぱりSFCminiを使うのが一般的でしょうか?
それと、DLL内関数の戻り値を得ることは可能でしょうか?
// 具烈婦したらこんなのが出てきた。全然覚えてないが、いつの日かググッてい田んだろうw ウィンドウタイトルの列挙だな
// sfcminiからEnumWindows.js
var EnumWindows=new ActiveXObject("SfcMini.DynaCall");
var IsWindowVisible=new ActiveXObject("SfcMini.DynaCall");
var GetWindowText=new ActiveXObject("SfcMini.DynaCall");
EnumWindows.Declare("user32","EnumWindows");
IsWindowVisible.Declare("user32","IsWindowVisible");
GetWindowText.Declare("user32","GetWindowTextA");
var wName=new ActiveXObject("SfcMini.Structure");
wName("str","String*256");
var T="";
EnumWindowsProc={
"CallBack":function(hWnd,lParam) {
if (IsWindowVisible(hWnd)) {
if (GetWindowText(hWnd,wName,256)) {
var wName2=wName.str;
wName2=wName2.substring(0,wName2.indexOf("\0",0));
T=T+wName2+"\r\n";
}
}
return(1);
}
}
EnumWindows(EnumWindows.CallBack(EnumWindowsProc,2),0);
WScript.Echo(T);
<!-- スクロール.hta
GoogleニュースかExcelをひらいて
こいつを立ち上げて
pを押すとスクロールすると
期待されます
-->
<script language="VBScript">
ResizeTo 90, 90
Set sh = CreateObject("Wscript.Shell")
Function MySendkeys()
If Lcase(document.getElementById("bodyWriter1").innerText) = "n" Then
document.getElementById("bodyWriter1").innerText=""
sh.SendKeys("%{TAB}{PGDN}%{TAB}")
ElseIf Lcase(document.getElementById("bodyWriter1").innerText) = "q" Then
close()
Else
document.getElementById("bodyWriter1").innerText=""
End If
End Function
</script>
<body id=bodyWriter1 CONTENTEDITABLE
onkeyup = "MySendkeys()"
>
</body>
border-radius使えねえ・・・
アップデートする気ねえのかなあMSは
ねぇーよ
手軽にUIが作れてローカルファイルがいじくれるからすごく重宝してるのに
C言語を覚えろって事ですか
シルバーなんちゃらとは別の話なのか
シルバーマーク?
シルバーシート?
バンダレイ・シウバ?
506 :
デフォルトの名無しさん:2011/07/11(月) 02:01:28.72
regsvrすればよい
CTRL+FはIEと別みたいだけど、resダイアログソースはどこにあるんだろ
ie用のres://shdoclc.dll/find.dlgはもうなくなったよ
HTAで作ったものを公開してるんですが
Vistaだと「データの実行防止」とやらで止められてしまうようです。
ユーザーに解除の仕方をアナウンスしても良いわけですが
そもそも実行を防止されないようにする方法はありますか?
ありません
〜.htaとmshta.exe protocol:〜でセキュリティの違いがあります?
〜.htaをmshta.exe javascript:〜に書き換えたら動かないのですが?
あります
mshta "about:<iframe src=xxx>"
とか動かないんですが?
mshta "about:<iframe application=yes src=xxx>"
>>516 iframe枠が出てきました でも中身がabout:blankです もう一歩です
いくら便利でも、もはやMS自身が見放したオワコンだよな
別に見放されては居ないだろう
htaのインターネットゾーンはieのインターネットゾーンとどう違う?
htaとieが違う
Twitterで#HTAを見てもお前らのつぶやきが見つからないぜ
#htfでいいじゃん
お前らHTAで起動時にresizeToとかmoveToする場合に
いつも使ってる書き方とかある?
はあ?
こーゆうの?
function resizeWindow(w, h)
{
window.resizeTo(w, h);
window.setTimeout("window.resizeTo(" + w + "*2-document.body.clientWidth," + h + "*2-document.body.clientHeight)", 1);
}
チカチカ対策にはHTAタグより前に書くしかないんだから
なんかresizeToで
エラーでるよね
たまに
なんかキーを押してるんじゃね?
onloadでも2重にやればええよ
なんか凄いこと度も書いてあるのかと思ったらおんなじことしか書いてねぇ・・・
そらそうだろ 凄く常識よ
>>518 mshtaワンライナでコンピュータゾーンはむりぽ
mshtaワンライナでテンポラリ作って開けばいいよ
kwsk
fso createtextfile write
wscript.shell run
538 :
525:2011/09/12(月) 18:00:25.10
539 :
525:2011/09/12(月) 18:03:19.87
間違えて送信してしまった
以前は
while(ture){
try{
window.resizeTo(X, Y);
break;
}catch(e){}
}
こうかいてたんだけど、今は
for(i=0; i<10000; i++){
try{
window.resizeTo(X, Y);
break;
}catch(e){
continue;
}
}
こういう書き方をしているので、他の人はどうしているか気になった。
スピンじゃなくsettimeoutつかえ
>>539 昔形意拳っていう日本語の怪しいゲームがあってだな。
そのラスボスがLOTUS MASTERって奴で蓮の王らしかった。
LOTUS MASTERを使ってると現れる真の王が
TURE LOTUS MASTERだった。
こういう書き間違いよくするわ
>>499 Windows 8向け新アプリは新実行環境「WinRT」で動く
http://ascii.jp/elem/000/000/633/633763/ >Windows 8では新規に「Metro Style」と呼ばれるアプリケーションタイプが追加されており、
>こちらのアプリケーションはStart Screenから全画面を占有する形で起動する。
>このMetro Styleアプリーション用に新しく「WinRT」と呼ばれるAPIセットが定義されており、
>アプリケーションはC/C++、C#/Visual BASIC、そしてHTML5+JavaScriptで開発が可能だという。
HTAともガジェットとも別物だな
http://www.infoq.com/jp/news/2011/09/WinRT-API WinRTは、もう一つの抽象層ではない。ちょうど Win32 APIようにカーネルの真上にあるものだ。
これは、1993年にWindows NT によってWin32が導入されて以来、Windowsのコアに
始めての大変化を記すものである。WinRTは、Win32とは非常に違ったセマンティックによる、
新しいアプリケーション実行環境を意味する。
Cを念頭に設計されたWin32とは違って、WinRT APIはC++で書かれており、
最初からオブジェクト指向設計である。一貫性、使い易さ、パフォーマンスが
新しいランタイムAPIの主要な特徴である。WinRT API におけるあらゆるオブジェクトは、
リフレクションをサポートしているので、JavaScriptのような動的言語でさえ、
それらを効率良く使うことができる。これと一緒に、C++ベースのライブラリには珍しい 、
統一されたオブジェクトモデルが導入される。
車輪か?
大車輪です
548 :
デフォルトの名無しさん:2011/10/04(火) 18:38:17.13
HTA内にインラインフレームで、フラッシュ(.swf)のURLにするとエラーが出るね
<iframe src="●●●.swf" width="100" height="100"></iframe>
↓APPLICATIONを加えても無理
<iframe src="●●●.swf" width="100" height="100" APPLICATION="yes"></iframe>
これ出来た人、神!神!神!
swfを使いたいならobject要素じゃないとダメだと思う
swfを使いたいならembed要素じゃないとダメだと思う
objectヨウ素の場合clsidがないとダメだと思う
ヨウ素
554 :
デフォルトの名無しさん:2011/10/19(水) 20:22:01.94
エン素
過疎
556 :
デフォルトの名無しさん:2011/12/06(火) 17:50:32.92
PCで数式計算するhta作って、スマホにメールで送ったんだけど、画面表示はされるけどボタン押しても計算されない。
拡張子をhtmlとかに変えてもだめ。
分かる人教えてくださいm(__)m
>>556 スマホ用の mshta.exe ってあんの?
559 :
デフォルトの名無しさん:2011/12/07(水) 00:39:57.00
>>558 なるほど、PCにはそれが標準ではいってるけど、スマホには入ってないから計算出来ないんですね
分かりました、ありがとう
560 :
デフォルトの名無しさん:2011/12/07(水) 15:08:05.43
コードが丸見えじゃなきゃ配布用にも使えるんだがなぁ
難読化HTAなんて怪しすぎるもん配布しなくていいよ
難読化せんでも十分難読だろwそんなのに限って難読化したがるw
恥ずかしいからだろw
なるほどw
svgやcanvas使うには ↓ でいいの?
<meta http-equiv="X-UA-Compatible" content="IE=9" />
もっと正しい普通の書き方がある?
For Eachの中で一行ずつテキストボックスに文字列を追加していく処理がやりたいんですが、
テキストボックスの表示が更新されるのは処理が終わったあとになっちゃう。
これってどうしようもない?
>>568 For Each の中じゃ無理と思う
リアルタイム更新っぽいものを無理やりやるなら、タイマとか使うんじゃないかな
>>569 無理ですか。ありがとうございます
対応方法載ってるサイトとか御存知の方おられたらなら願いします。
For Eachの中でリアルタイム更新したい理由は何?
>>571 ある処理を繰り返し行なった結果を一回のループごとに表示したいのです
>>573 ありがとうございます。
おかげで出来ました。
最近知りましたがHTA中々便利ですね
中々タコかいな
書き捨てなら、便利でお手軽。
でも、ちょっとこだわると、ヤツ独特の挙動に悩まされる。
「アクセスが拒否されました」‥‥他人事みたいに言うんじゃねえよ。拒否してんのはおめぇだろ、このタコブラウザ( ゚д゚)、ペッ
てな調子^^
HTAはブラウザなのか?
実体はセキュリティのゆるいIE
でも、任意のページを開くことを想定してるわけではないので、ジャンルとしてはブラウザにはならないと思う
要するに、同じだろ。
要するに、違うだろ。
あほかw
要するに、あほだろ。
>>454 >HTA(+JScript)で、ウィンドウを閉じる時に処理させる
>何か良い方法は有りますか?
>(まぁ「閉じますか?」って確認ダイアログ出したいだけ)
onbeforeunloadが発生しているとき、
event.returnValue = '閉じますか?';
とすると確認画面が出て、キャンセルの場合には遷移しない。
閉じますかの文字列は無視されて、
別のページに移ろうとしてますが、
ってなるんじゃなかったけ
やればわかる
HTA:applicationでnavigarable=trueとすると、HTAで画面遷移ができる
仕様を読めばわかる
ファイルやフォルダをドロップしてパスを得る方法はないのか?
>>589 HTAじゃできなそう
ドラッグ&ドロップしてもHTAファイル開けないし、起動してるHTA画面に外からドラッグ&ドロップしても、イベントとして検知してない
ちなみにwinXPです
frame.srcを使う方法はie8以降で使えないからな
ガジェットはそのへんサポートしてるけど
まともな起動方法がないからなぁ・・・
>>589 レジストリに値を入れとく方法ならネットにあった
>>591 特定の拡張子だけで万能じゃないから駄目
フォルダにドロップさせて拾えばいいよ
596 :
デフォルトの名無しさん:2012/03/21(水) 17:48:59.61
>>589 ドロップを受け入れるActiveX
コントロールを作れば。
勉強になるわー
アイデアだけで試したことないんでうまく行ったら報告頼むわ
>>589 ドラッグ&ドロップは昔このスレにBATファイルにして受ける方法が書かれていて自分はそれ使ってます。
HTAソースの先頭2行に↓を付けて拡張子を「.bat」に変えるっていう。
@START MSHTA.EXE "%~f0" %*
@GOTO :EOF
そのコントロールはドラッグドロップのイベント無いから、タイマー監視しかないね
EnumDoneとかSelectionChangedとか使えん?
>>603 フォルダのそれひとつ入れてそれを
>>600で表示して大きいアイコンにしてそれにドロップさせるとか
wmiでフォルダの変更通知イベントなかったっけ?
wmiの監視もタイマ監視だから、自分で軽くやるか、wmiで重くやるか
ShellFolderViewOCで接続できるんじゃね?
それはWSHからの使い方で、HTAでの使い方が分からん。使えるのか?
onfocusとかつかえん?
HTAからWSHを使う
614 :
平井:2012/04/02(月) 20:46:46.75
onfocusで捕捉できるが1回だけしかできない
ほかをクリックすればよいが
URLをドロップして受け取る方法は?
createElementで動的に作成したActiveX Control(OCX)の特有のイベント(clickイベントなど)を扱うことはできないでしょうか。
7 64bit だとエラー出たらIE起動すんのね・・・
何故か途中で突然ieが起動してhtaをDLしようとしてどうしたと思ったらその箇所で正規表現ミスってた。やれやれ。
そうなんだ
なことねー
これ終了する時にexitcode返すにはどうしたらいいの?
close(1)ってやっても毎回0が返ってくる
バッチでラップすれば?
標準出力にexitcode出してバッチでexitすればいい
624 :
デフォルトの名無しさん:2012/10/14(日) 16:03:43.64
HTAはかなりの初期の頃に
JavaScriptをデスクトップアプリの
言語に採用した技術だったんだよな。
時代を先取りしている。
JavaScriptをデスクトップアプリの
言語に採用した技術自体が、主流にくることはなかったんだから
先取りしてたねすげえ!って感覚はないな
時代を先取りしたものは、真っ先に淘汰される運命にある
余程上手く特許とかで固めて、他が参入しにくいように立ち回らない限りな
html5の普及で、また日の目を浴びるんじゃね?
jsonにmangodbにnode.jsと、データを右から左へ加工するにはjsが一番に手っ取り早いんだし
せーがー
最近HTAを発見して、HTMLとJSでデスクトップアプリ作れることに感動したんだけど
今はメインストリームじゃないの?
今のメインストリームって何?
VC++
Windowsアプリケーションのメインストーリームという意味では
今どころか過去に渡ってもHTAがメインストリームだったことなど無いが
デフォルトのWindowsでGUIアプリ的な物が制作できるものの中でという意味なら
今でもHTAがメインストーリームだよ
powershellだ
PowerShellって「GUIアプリ的な物」が制作できるの?
PowerShellの糞っぷりは異常
PowerShellに陶酔してる奴の糞っぷりも異常
>>633 WindowsAPI/.NETは大抵使えるから、可能不可能で言えば可能だよ
フォームデザイナ付のエディタとかもあるし
636 :
デフォルトの名無しさん:2012/11/28(水) 01:01:25.60
HTAで使う画像なんかを HTA自身に内包する方法は無いかな?
MHT みたいな感じでファイルを一本にしたいんだけど。
mhtを内包すればええがな
さるところによれば
mshta.exe "mhtml:file://c:\---\---.mht"
ができるみたい
TABLE使ってツールバーのボタン画像を描いてるのなら見たことある
>>634 HTAをあの手この手で見事に使いこなす変態よりましだろ
へぇ
644 :
636:2012/12/04(火) 22:27:04.55
回答してもいながら放置してごめん。
多分
>>643 方法がスマートな気がするね。
でも残念なことに IE6 な環境だと効かないみたいだね。
テキストの記述だけで画像を表示する方法としては VML なんてのがあるみたいだけど、
これが割りと現実的な気がしてきたよ。
データ作るの面倒だけど。
dllにまとめてres://でアクセスとか
なんで皆難しく考えようとするんだろう?
他人事だからなw
VMLおもしろいよ。
不慣れなんでまだ試行錯誤だけど、hta の限られた環境しか考慮しなくていいならかなり有力だと思う。
1ファイルにこだわらなければあんまり関係無いかもしれないけど。
Word
ミス
Wordで図を描いてhtml保存するとvmlになったりする
ごみ抜きが大変だけど。
VMLってHTAとからめてなんかできんの?
なにも特別なことはできないよ。
ただ、現状のhtml5よりは使えるかな・・・
>>651 画像の変わりに使える
スクリプト内(htaファイル内)の記述だけで使えるから、画像ファイルを別途用意する必要が無い
マウスボタンの状態をCOM経由で知ることって出来ますか?
もちろん出来る
どうやれば出来ますか?
普通にやれば大丈夫だよ
詳細はHTAの話ではなくCOMの話でスレ違いになるので省略
「普通」が分からないのですが。
COMのリファレンスを見ても、書いてあるのはC++の例とかでさっぱりです
HTAはCOMをJavaScriptから扱うのだからスレ違いでもないと思いますが
>>658 HTA内の各要素に対するマウスのイベントは、普通のブラウザでJavaScriptを使う場合と同じ
COMオブジェクトに対するマウスイベントについては、そのCOMオブジェクトがマウスイベントをクライアント側に返すのかどうかと言う問題
HTA内でのマウスイベントをCOMオブジェクトに送信したいのであれば、そのCOMオブジェクトに外部からのイベントを受け取る機能があるかどうかの問題
661 :
デフォルトの名無しさん:2013/02/03(日) 04:45:15.16
hta で POPによるメール受信をしたい。
MSWinsock.Winsockを使って POP を実装したらうまく行ったんだけど、別の PC で実行すると
「正式にライセンスされていないため、コントロールを作成することはできません」
てなエラーが出る。
どうやら MSWinsock.Winsock は開発ライセンスが入った環境でしか使えないようで、
とどのつまり動作させたい PC には VisualStudio なんかを入れないといけないらしい。
しかしできるだけ余計なものをインストールしたくはなく、代替案を探してる次第です。
なにかいい案はありませんかね?
つtelnet.exeの標準入出力
663 :
661:2013/02/03(日) 09:53:23.39
>>662 最初にそれ実験したんだけど、telnet は標準入力がリアルなキーボード、標準出力がコンソールにつながってないとすぐ終了してしまうらしい。
もし telnet を使うノウハウがあるなら教えてください。
664 :
661:2013/02/03(日) 11:54:53.64
試しに VisualStudio 2008 Express の VB を入れてみたら使えるようになった。
しかもアンインストールした後も使えてる。
この状態だけを使いまわせないものかな。
666 :
661:2013/02/06(水) 02:34:23.83
>>665 開発環境入れるくらいならそっちを入れた方がいいとは思う
つか、それが現実路線なんでしょうな
>>662 telnetとか使えてもねえのに適当に言ってんなよカス
IE10でもHTAのバージョンは上がらないの?
Win7でIE10にしたら、HTA:APPLICATION要素が効かなくなったよ。
外観系の設定は我慢できるんだがコマンドライン引数使えなくなったので困ってる。
まじかよ
ファイルに出力する以外の方法で
htaから戻り値を受け取ることってできませんか?
>>669 <meta http-equiv="X-UA-Compatible" content="IE=9">で回避できる。
これIE10RPでバグレポしたんだけど再現不可能とか言われて直らなかった。
>>669 普通に使ってるが?
>>671 標準出力
クリップボード
アプリ起動して引数、環境変数、標準入力
674 :
669:2013/03/18(月) 13:13:38.15
>>672 おぉ、できたできた。
thx
>>673 普通に使える人がいるということは環境依存で発生するバグなのかな?
>>672 Win8+IE10 だと X-UA-Compatible を設定して IE=10 にすると再現する。
なにも指定しないとドキュメントモードが7になっているので(document.documentMode で確認できる)、
おそらく再現確認した側では IE10 Strict 以外のモードになっている状態で確認していたんだと思われ。
>>674 やってみたがX-UA-Compatible書かなくても普通に使えた
>>675のようにわざわざ 10に設定するとエラー
677 :
676:2013/03/19(火) 21:40:45.43
>>672 なので実際再現不可能だったんだろ
なんか特殊な拡張入れてるとか?
その辺は例によってDOCTYPEとかでコロコロ変わるから
暇な人は調べてくれ
X-UA-CompatibleがないとIE=5になるはず
今回問題になるのはIE=10とかIE=edgeにしてる場合だね
防虫閑蟻
681 :
デフォルトの名無しさん:2013/05/05(日) 02:41:42.78
HTA から新しいウィンドウを立ち上げてインターネット上のページを開き、そのページにあるダウンロードボタンかリンクを
自動的にクリックしてダウンロードさせることって可能かな?
ファイルの保存ダイアログをコントロールできなさそうだけど、どんなもんだろう?
682 :
デフォルトの名無しさん:2013/05/05(日) 03:58:27.89
HTAもいいけど、もうそろそろ違うのを使ってみないかい?
node-webkit や tidesdk
これらはHTAと同じコンセプトを実装したもの。
HTAと同じくHTMLとJavaScriptで
デスクトップアプリを作れる。
>>681 OnClick() とかで動くデフォの動作ならダイヤログが出るけど、これは内部のスクリプトじゃ操縦できん。
ほかの操縦スクリプト使わないと。
AutoHotKeyにDLL版があるから、それを呼び出すか、
さもなくば最初から操縦用アプリを使う必要がある。
ファイルのアドレスが分かるならURLDownloadToFileとか使って直接保存できるんじゃね?
DLLを直接呼べないならDLLを呼べるOCXを入れてもいいけど
HTABOXで動かしてもDLL使えるんじゃないかな。
アプリと組み合わせる方法として
クリップボードにURLが入ったら自動的に保存するようなアプリ(FDMとか)を設定し、
HTAではクリップボードに入れるだけにするとか。
これならHTAじゃなく素のIEでもできる。
ただ、URLをクリップボードに入れただけでダウンロードするのはうざいよね。
>>681 HTAからのIEオブジェクトの操作はいくつかの制限がある
- ExecWBが使えない
- 画面遷移に弱い
なので、Webページ 完全や、Webアーカイブみたいな表示状態での保存を意識してるなら難しいと思う
(ダイアログを表示させるまでいけないような気がする)
特定のページを表示させて、リンクリストを取得するくらいならできるだろうし、
そのURLから該当ページのHTMLを直接ダウンロードするくらいなら WinHTTPとか、JQueryとか使ってできそうな気はするけど
686 :
681:2013/05/05(日) 16:34:47.93
いろいろとアドバイスありがとう
HTA を検討してるのはWindows標準で使えそうだからで、準じてMS純正のコンポーネントのインストールまでは許容できる感じです。
後今回のダウンロードボタンは Cookie を維持してないと働かない可能性があって、単純にHTTP通信をすればよいという訳ではないです。
HTTPヘッダを自由に作れるならページのCookieをスクリプトで集めてヘッダ偽装できそうなんで、最悪 MSWinsock で低レベル通信しようと思ってる。
それもHTTPSになったら手に負えないけど。
とはいえどうしても無理なら制約を緩められる可能性もあるんで、教えてもらった方法は実験してみるよ。
<OBJECT id=WB classid=clsid:8856F961-340A-11D0-A96B-00C04FD705A2
WB.ExecWB
689 :
デフォルトの名無しさん:2013/05/16(木) 19:35:41.52
UTF8で記述しているHTAアプリから、
ActiveXObject("ScriptControl")
でRubyを呼び出して、ウェブの取得をしています。
サイトはUTF8で記述されているのですが、
RubyからJavaScriptに文字列が渡ってきた時点で、何故か勝手にSJISに変換されてしまいます。
SJISに変換されると、UTF8にしかない文字が壊れてしまうので困っています
この勝手な処理をなくすためにはどうすればいいのでしょうか?
XMLHttpRequestを使ったらJavaScriptだけで取得できるのか
何故かできないと思ってました
時間のかかる処理をしていると、「このスクリプトの実行に時間がかかっています」というような警告が出て、
処理が止まってしまいます。
これを防ぐにはどうすればいいのでしょうか?
スクリプトエラー警告の閾値以下の時間でひとつのルーチンを終了する。
処理を分割してイベントハンドラから細かく呼び出すようにするとか、
連続するステップをsetTimeoutメソッドをチェインさせて呼び出すとか、
継続条件が決まってるならインターバルタイマーで呼び出すとか。
なるほど〜
ありがとうございました
Connector/ODBC 5.1.12のWindows (x86, 64-bit)をインストールし、
ODBCデータソースアドミニストレーターから、DSNを登録し、接続テストも成功しましたが、
HTAからは接続しようとすると、
指定されたDSNには、ドライバーとアプリケーションのアーキテクチャの不一致が含まれています
とエラーが出て接続できませんでした
32ビット版のConnector/ODBCを入れ直したところ、接続できました
なぜ64bitWindowsなのに32bit版でないといけないのでしょうか?
>>694 HTA で使われているのは 32bit 版の方の mshtml.dll (%WINDIR%\SYSTEM32にある方)だから。
スタートメニューには 32 bit 版と 64 ビット版の Internet Explorer が別々にあるけど、
mshta.exe が使うのはこのうち 32 ビットの方の IE の IE コンポーネントになるわけ。
そういう事情ですか
MySQLに限らず32ビット版のドライバでないと使えないということですね
ありがとうございました
はい
gray
灰
htcもvmlもactivexもフィルタも何も使えなくなるからie10モードは選択肢にならん
>コマンドライン引数使えなくなったので困ってる
いったんバッチファイルでコマンドライン引数を受けて
外部ファイルに保存しておく
そのバッチの中でhtaを起動する
htaは一時ファイルを読み取って処理を続ける
これで何とかww
htaだと複数の引数があったときに自分で対応する必要があるけど
バッチファイルならシステムがやってくれるから
こっちのが楽な場合もあるかも
hta2cmd
706 :
1/2:2013/12/20(金) 10:26:56.21
すみませんが、質問です。
ログインの必要なサイトからファイルをダウンロードする方法について
教えていただけないでしょうか?
いま試みているのは、
1. 手でIEを起動し、当該サイトにログインする。
2. 別途HTAを起動し、その内部で
var objShell = new ActiveXObject("Shell.Application");
objShell.windows();
を利用し、ログイン済みのIEのオブジェクト var ie を取得。
3. HTA内で
// var xhr = new XMLHttpRequest();
var xhr = new ActiveXObject("Msxml2.XMLHTTP");
xhr.open("GET", url, false);
...
xhr.send();
707 :
2/2:2013/12/20(金) 10:29:30.67
ところが、IEのログイン情報を、XHttpRequestオブジェクトに渡す方法が
見つからず困っています。上記の 3. ... の行で
・xhr.setRequestHeader("Cookie", ie.document.cookie);
・xhr.withCredentials = true; // new XMLHttpRequest()を用いる。
などとしましたが、いずれもXMLHttpRequestのセキュリティ制約のため
ログイン情報が引き継がれません。
HTAなら動くかと思っていたのですが、そうは行きませんでした。
XMLHttpRequestと違ってIEのcookieをセットすることのできる
ActiveXObjectがあれば良いと思うのですが。
以上です。よろしければアドバイスをお願いいたします。
708 :
706:2013/12/20(金) 14:28:33.10
自己解決。
>>685さんのご紹介なさった WinHTTPが、そのものズバリでした。
WinHTTP は XMLHttp とほぼ同じで、セキュリティ制約だけが違うものの
ように見えます。
//実際に動作したコード
var xhr = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
xhr.open("GET", url, false);
xhr.setRequestHeader("Cookie", ie.document.cookie);
xhr.send();
あとは new ActiveXObject("Adodb.Stream"); を使ってファイル保存できました。
ここの過去のやりとりを見て解決できました。ありがとうございました。
709 :
デフォルトの名無しさん:2013/12/25(水) 13:21:58.97
質問です。
HTAに限らない話ですが、
new ActiveXObject("InternetExplorer.Application");
で取得した IEの User-Agent文字列は、どうやって取得したら良いでしょう?
オブジェクトのプロパティに見つかりませんでした。
Inconsistent Results using InternetExplorer.Application - KiXtart.org - official site
http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Number=206419
ググったら、UAを表示するページに遷移させて、DOMからUAを取得するという、
大変面倒なことをしている人がいました。
もうちょっと良い方法がありそうな気がします。
どうして知りたいの?知る必要がわからん
>>710 すみませんが、UA文字列を取得したい理由については、説明がしづらいです。
結局、ie.document.createElement(), appendChild()で、IEの表示中のページ
にscript要素などを動的に追加して、UAの取得をしました。
これも煩雑ですが、IEを「診断くん」などのページに遷移させて取得するより
はまだマシだと思います。
712 :
デフォルトの名無しさん:2013/12/26(木) 08:36:22.96
別の質問です。
HTAで呼び出したIEの、DocumentCompleteイベントを利用する方法についてです。
ブラウザのビジー状態を判定するための,より良い方法
http://d.hatena.ne.jp/language_and_engineering/20100410/p1
1. このやり方だと、IEのインスタンス化に、
WScript.CreateObject( "InternetExplorer.Application", "hoge_" )
が必要です。HTAでインスタンス化するにはどうしたら良いでしょう?
2. このやり方だと、イベントハンドラが固定です。ページ遷移をするごとに
別のイベントハンドラを動的に割り当てることはできないのでしょうか?
> http://
何故、質問者がこういう嫌がらせするのか理解に苦しむ
レベルを上げて物理でリンクすればいい
>1. このやり方だと、IEのインスタンス化に、
>WScript.CreateObject( "InternetExplorer.Application", "hoge_" )
>が必要です。HTAでインスタンス化するにはどうしたら良いでしょう?
htaでwscriptオブジェクト使う方法が、例のところにあったような。
WindowsアプリからWScript.exeのWScriptオブジェクトを利用する ...
だな
>2. このやり方だと、イベントハンドラが固定です。ページ遷移をするごとに
>別のイベントハンドラを動的に割り当てることはできないのでしょうか?
代表で受け取って、
call hoge
ページ遷移のイベントで、
set hoge=getref("実際のハンドラ")
718 :
712:2013/12/27(金) 00:13:27.32
ご返事、遅くなりました。
>>713-714 すみません。「忍法帖」の書き込みエラーよけです。よく知らないですが。
>>715-716 ありがとうございます。見てみます。
>>717 ありがとうございます。
よろしかったら、JScriptでの書き方も教えていただけませんか?
代表で受け取って、
hoge();
ページ遷移のイベントで、
var hoge=function(){...}
>>719 ありがとうございました。
別件で忙しく、この件をまだ試せないでいます。
試したらまた改めてご返事させていただきます。
エロサイトのウイルス用にしか需要ないだろ。
のどあめ
HIVかよ
724 :
712:2014/01/10(金) 02:47:06.91
大変遅くなって申し訳ありません。
残念ながら、HTAでIEのイベントを取得できないでいます。
>>715-716 さんの方法で、HTAからWScriptオブジェクトを利用することができました。
また、
>>719さんの記法はよく分からなかったのですが、WSHの場合、
hoge_DocumentComplete = function() { .... }
と記述することで、イベントハンドラを動的に変更できました。
しかし、それを HTAの<script>要素に記述しても、イベントハンドラが割り当てられ
ませんでした。
どうしたら良いか、アドバイスをいただけたらありがたいです。
725 :
712:2014/01/10(金) 15:06:30.31
質問を再定義すると「HTAで、スクリプト内で生成されたActiveXオブジェクトの
イベントを取得できるか」になるでしょう。
>>618さんの質問と同じです。
こちらに回答がないので、不可能なのかもしれません。
関連する質問です。HTA内でIEを生成(new ActiveXObject)、終了(ie.quit())を
繰り返していると
「このシステムでは、これ以上のスレッドを作成できません。」
というエラーが発生してしまいます。
これを避けるにはどうしたら良いでしょう?
quitイベントを取得するまで待つのが良いかと考えています。
ieのeventは特殊で一般論は通用しない
new ActiveXObject以外の方法、wscript.shell runなどでieを起こせばいい
shell.application windowsでieを捕捉すればいい
727 :
712:2014/01/10(金) 17:16:24.95
>>726 ありがとうございます。WScript.ShellからIEの起動と、
Shell.Application windows によるIEのインスタンス取得はできました。
これのDocumentCompleteイベントを取得するにはどうしたら良いのでしょうか?
知識不足で申し訳ありません。
なお、IEのインスタンスの取得ですが、このスクリプトを動かす環境が多様で、
他にIEが起動している場合が多いし、起動直後のIEのホームページも一定では
ありません。起動したIEをどうやって見分けるかについても悩んでおります。
728 :
712:2014/01/11(土) 13:08:38.76
何度もすみません、HTA内で動的に生成したActiveXオブジェクトのイベントの
取得法を説明するページを、お教えいただけないでしょうか?
Scripting Clinic: イベントのスクリプティング
http://msdn.microsoft.com/ja-jp/library/ms974564.aspx
ここだと、
・ブラウザの要素のイベント
・<object>要素で指定したActiveXObject
のイベントの記述しかありませんでした。
WSHだとイベント取得はできるので、最悪、ロジックを全部WSHに書いて、HTAから
それをキックするしかないのかもしれません。
>ieのeventは特殊で一般論は通用しない
wshを使うか、NET、powershellだってば
730 :
712:2014/01/11(土) 20:57:59.68
>>729 ご返事ありがとうございます。
結局、HTAでは、動的に生成したActiveXオブジェクトのイベントの
取得はできない、ということですか…。
>ieのeventは特殊で一般論は通用しない
これは「IEのActiveXObjectが特殊」という文意ではなくて、
IEはスクリプトホストとして特殊で、だからイベント操作には
HTAではなく、他のホスト(WSH, PowerShell, .NETなど)を
使ったほうが良い、という文意だったのでしょうか?
HTAでメインロジックをすでに書いてしまったので、正直頭を
抱えています。
>>348さんなどの、HTAをWSFに埋め込む方法も検討してみます。
ieのコントロールは難しいからやめとけ
webbrowser controlを使え
732 :
712:2014/01/12(日) 10:07:12.67
WSF埋め込みのHTAを書いてみました。
HTAとWSHが一つのファイルにまとまるのは大変ありがたいのですが、
機能的には別ファイルにあるのと変わりがないようです。
変数や関数の共有はできないし、WSHからHTAにデータを渡すのは
HTA起動時に標準入出力を経由したり、外部ファイルをポーリングで監視する
などしかないようで、私のような初心者にはなかなか厳しいですね…。
IEが簡単に素人にしかも簡易なスクリプト程度で制御できちゃったら
今頃ウィルスやらなにやら大問題になってると思わないか?
とにかくローカルからはおいそれと手出しできないように
進化してきてるからある程度で諦めるのが吉
IEの操作はユーザーに任せるべきってMS自体が言ってんだし
しかも環境バラバラで特定できないんだろ?そんなん普通に難しいぞ
まずはそっちをどうにかしてもらった方が早い
アドバイスありがとうございます。
>>732を書いたあと、規制等でここに書けないでおりました。
>>731 webbrowser control とは、普通の "InternetExplorer.Application" の
ことでしょうか?今はそれを使っています。visible = true にしないほうが
安定して動くようです。
>>733 おっしゃるとおり、安定して稼働する環境の条件を見つけ出して、
それ以外はサポート対象外にさせてもらえないか、交渉する方向で
行こうと思います。
今までここに書いた以外にも、IEの不安定さを痛感することが
いくつも起こり、苦戦しております。
IEを細かくコントロールするには、C#で書くべきだったかもしれないし、
そもそもIEを千ページ以上にわたって自動制御する事自体、無理な課題
だったかもしれません。
>そもそもIEを千ページ以上にわたって自動制御する
。 。
/ / ポーン!
( Д )
あほはほうちで
まあ、やらないで無理っていうのはなかなか顧客には納得してもらえないだろうから
その為の期間だったと思えば・・・つかC#使えるのかよ迷わずそっちだろっていう
それ以上はリッチクライアントとか考慮するしか無いんじゃない
>>739 > 結論から言えば、対価を得られるような代物は作れない。
HTAで対価を得ようとか思う奴がいるのか?
リンクをユーザーの標準のブラウザで開かせるにはどうしたらいいのでしょうか
対価得たけどな
>>740 > 詳しいことはkia HTA:APPLICATIONタグとかで。
とか書いておきつつ
> テキスト選択ができる
> マウスのドラッグでアプリケーション上のテキスト選択ができる。(選択範囲が反転する)
> ブラウザ上と同じ動きをするので、テキストだけではなく、ボタンとか画像とか全部反転
> 表示される。ひどい。
ってwww
そりゃあ使う頭が無いんじゃ使えないわなーと思った
実際には誰も使ってないけどな
MS自身がオワコン宣言しちゃったから仕方ない
イケイケ時代ならいざ知らずMSの宣言は逆説
SilverlightでリッチUX!、チーン
PowerShellでUnixShell超え!、チーン
JScript改めJavaScriptでアプリ!←今ここ
PowerShellってUnixShellに対抗しようとしてたのか
htmlビヘイビアでかつる!!!
>>751 実際の所リスナの追加やら何やらをページ側のスクリプト無しでタイミングも気にしないで
実行できるのは非常に便利。
・・・世の中にIE以外のブラウザが無けりゃ。
>>754 このコード今のIEだと動かないし、互換モード指定して動かしたとしても「スクリプトがタブを閉じようとしてる」って
警告が出るんだけどほんとに何したいんだか。
普通のユーザーがIEで訪問したページにこれが仕込まれてても、なんかバグってるとしか思われないと思うんだが…。
756 :
デフォルトの名無しさん:2014/06/23(月) 00:40:27.56 ID:1MZYUWya
firefoxとかClome板htaって出ないかな
ActiveXObjectが使えないから意味ない
758 :
デフォルトの名無しさん:2014/06/26(木) 21:22:15.25 ID:56wR5ryD
とりあえずローカルファイルと階層が簡単に弄れればokなんだが
firefoxとかには元々そーゆー機能があるの? File APIとかの話?
760 :
デフォルトの名無しさん:2014/07/05(土) 13:41:53.29 ID:AlsL4J+L
>>759 いや、自己満足ローカルツールがHTML+Javascriptで簡単に作れる機能が
あればいいなーと思っただけ。
XULもFile APIも俺みたいな底辺には手軽でないし、記述方式も優しくないからな
html5のFile APIで今後どうなるかってところだろうな
でも*nix系やmacではそういう需要ない気がする
Windowsストアアプリが窓化できるようになって
簡単にサイドローディングできるようになればいいんだよ
Win7にランタイムも追加しなきゃな
WInsows10でストアアプリが全画面でなくデスクトップに表示にできるようになりましたってアピールが苦笑せざるをえない
WinJSとSegoeSymbolのアプリアイコンをWin7とIE9のHTAで使えるようにしろ
笑うのは勝手だが野良アプリを解放しなければ状況は改善しない
ナデラに期待
ユーザーにVSをインストールしてもらって自分でビルドしてもらえばいいんだよw
>>768 window.open メソッドのバグか。
リンク先に回避方法も書かれてるけど、そもそもhtaでiframeってそんなに使うかな?
Win10 Build9879のIEの新機能をHTAで使う方法が分からない…
まだ試験的実装だから仕方ないか
771 :
デフォルトの名無しさん:2014/12/06(土) 01:29:26.86 ID:zfdgj8Pu
以下のようなツールを過去に作ったって人いたら下さい!
・Dドライブ内をcmdのdir /s や dir /s /bで検索する
・条件は単一でいいですし and や or で複数
・結果の文字列はハイパーリンク
・dir /s /b の場合はフォルダ毎に開閉できるHTMLタグ
・ウィンドウサイズの変更に、HTA上のオブジェクトの位置がバランスよく追従
ないですかね?
772 :
デフォルトの名無しさん:2014/12/06(土) 01:42:21.35 ID:zfdgj8Pu
ハイパーリンクじゃなくて、ラジオで選択してフォルダを開く、またはファイルを開くボタンでもいいです!
ファイルにリダイレクトしてやれ
dir /s > file.txt
node-webkitがあるんでhtaはオワコンで良いんじゃないの?
Windowsに標準搭載されてから出直しておいで
776 :
デフォルトの名無しさん:2014/12/06(土) 22:08:12.90 ID:kbxsIH5l
>>775 EXE化出来るんだから標準搭載がどうとか関係無いだろw
VSタダだぜ
どっちも一長一短なんだしそれでいいじゃん
779 :
デフォルトの名無しさん:2014/12/06(土) 22:57:02.28 ID:zfdgj8Pu
作った人いないのですか?しょぼん
dirを使うという発想が無かったわ。すまんの
781 :
デフォルトの名無しさん:2014/12/08(月) 22:41:56.36 ID:bVi9rgke
それはつまり、dirじゃないけど似たのは作ったということです?下さい!
dirが最速だと思ってるだけで他のでも全然まったくもって下さい!
もしかしたら日付や時刻まで条件に指定できたりしますか?スゴい!
きめぇ
HTAのWindow handleって取得出来ないんか?
HTA では VBScript より Jscript の方がけた違いに速いってさ
VBScriptについて必死に話し合うスレ [転載禁止](c)2ch.net
ttp://peace.2ch.net/test/read.cgi/tech/1416826139/178 > ### WScript/CScript
> VBScript 14秒
> JScript 25秒 ←遅すぎ
>
> ### HTA(mshta)
> VBScript 14秒
> JScript 0.9秒 ←速すぎw
>
> ### Google Chrome
> JavaScript 0.3秒
>>784 それ、ベンチマークのやり方が不適切なので参考程度で見て
JavaScriptの最適化が進んでいて速いのは確かなんだが
>>784 空ループの時間を計るとか、何の意味もないし参考にならないな。
コード書いた人は脳味噌が80年代のBASICで止まってるんじゃなかろうか。
>>786 ちゃんとしたベンチマークコード書いてください!
HTAでHTML5の恩恵ってなんだろう思いつかないな
VML無駄に強力だもんな
http://blogs.msdn.com/b/osamum/archive/2015/01/06/internet-explorer-6.aspx 2013 年、CSS Nite さんとご一緒させていただき、セミナーで地方をまわった際に、セミナーのアンケートに
「マイクロソフト社員は IE 6 で Web の進化を停滞させてことを反省してほしい」というコメントをいただきました。
たしかに、気持ちはわからないでもありません。
Internet Explorer 6 の時代にそぐわなくなった使用と、Web 標準に準拠しないコンテンツの解釈、
それでいて、なかなか減ることのないシェアは、Web 制作の工数をいたずらに増やし、実装の難易度を上げ、
場合によっては他の Web ブラウザーではあたりまえの機能の搭載を断念せざるを得なくなるといったこともあったことでしょう。
昨今の状況だけを見れば「IE6 が Web の進化を遅らせた」と言われても仕方がないのかもしれません。
しかし、本当にそれだけでしょうか?
Internet Explorer 6 は Web の進化を停滞させるだけで、
Web の進化に寄与した部分はまったくなかったのでしょうか?
>>788-789 HTML5よりjavascriptエンジンが進化してくれた方が恩恵あるよね