2011-01-01から1年間の記事一覧
wshでは、WScript.Sleepすれば良いだけですが、ブラウザーやHTAの場合はそうはいきません。 もちろん、setTimeoutの綱渡りを繰り返せば良いだけですが、functionを分割する必要があります。 ということで、手始めに制約ありまくりのsleepを実装してみた。 そ…
VBScript版を書いたので、JScript版も書いてみた。 あくまで、WSHだからこその存在価値。 ODBCドライバー(oo4oとか)とこれを使って、SQLの書かれたスクリプトファイルが可能ですね!
JScript(javascript) / VBScript のインタープリターを作ってみた。 cscript/wscriptがそれだろ、という声が聞こえてきそうだけど、対話的に実行するアプリケーション、ということ。 対話的に実行といっても、evalするだけだけど。 UIは、HTAにした。(とい…
先日、MSXMLを使うとお手軽なことがわかったので、お手軽に書いてみた。 なんとなく、JScript(javascript)。 過去にいろいろ検討したけど、もー、これでいいでしょう。
VBAでできませんか、という質問を見たので、推測を書き連ねる。
VBScriptでヒアドキュメントができないか、というのがあったので、考えてみた。 VBScriptは使ってないFunctionでも構文解析してしまうので、コメントかな。
2014/01/27 未だにこの記事が検索されるようなので、誤りパターンを目立たないようにしました。 特定の文字列を含まない文字列にマッチする正規表現を考えてみた。 例えば、「xyz」を含まない文字列にマッチする正規表現。 否定先読みで処理すべき(否定先読…
UWSC公式掲示板に答えてみた。 起動中のIEのURLを列挙したいらしい。 GetActiveOleObjを使われていて、1枚目しか取れない、ということだったので、タイトル指定でいけるかと思ったけど、URLが欲しいくらいだから、タイトルは判らないものと勝手に想定してみ…
Aliasがあるので、Aliasのない名前を中心として調べてみました。 どこかで、HKCR\MIME\Database\Charsetだとみたので、そこから取得する。
人はそれをDictionaryと呼ぶ。 いえなに、仕事の話です。 ある配列があったです。 0:ヘルプ用 1:文字表示用 2:ものさし表示用 ... と用途が決まってたです。番号で。 これに、新たに、期間限定表示用を追加しろ、と言われたです。 もー、マジ面倒。かんべん…
UWSC公式掲示板で、exeに画像が埋め込めれば良いのに、というのを見た。 興味が沸いたので、解決策を考えてみた。 思想としては、 ファイルがなければ、自ファイルから展開する 展開したファイルを実行する
C#のコードをコンパイル&実行するサンプルを探していたのだけど、見つけたのがいろいろ微妙だったので、自分で書いてみた。
COM操作について、ざっと調べたことのメモ。 UWSCのCreateOleObjはインプロセスで、GetActiveOleObjはアウトプロセスの模様(確証なし) .NETでは、インプロセスのを作る補助はある。 (COM参照のフラグ) アウトプロセスは、C++の力が必要な模様。 多分、C+…
UWSC公式掲示板で、ファイルの後ろから読みたい、という質問を見たので書いてみた。 UWSCのFOPENはたしかすべてをメモリーに展開して、メモリー上で操作を行い、FCLOSEで書き出す。 このため、大きなファイルになると遅くなる、、、はず。 (メモリーが潤沢…
昨日書いたもののソースを掲載。 クラス名はUIWindowでない方が良いかな。 $source = @" using System; using System.Windows.Automation; using System.Threading; public class UIWindow { private const int _moment = 100; private AutomationElement _a…
いわゆるフィンガープリント用ですね。 .NETのSystem.Security.Cryptography名前空間を利用しているので、SHA256/SHA384/SHA512あたりも同様です。 # ハッシュ値を計算する function Calc-Hash([System.Security.Cryptography.HashAlgorithm] $alg, [string]…
WPFのテスト自動化方法を長らく探していたのだが、ようやくたどり着いた。 UIAutomation。 これが見つからないとは、、、。 ダメじゃのぅ。 System.Windows.Automation名前空間にいろいろ便利なものがある。 ただ、そのままだと使いにくいので、ラップが必要…
Rundll32.exeについてのメモ。 おそるべきことにRundll32.exeは、渡されたDLLがx86かx64か判断している。 このため、以下のような関係になる。 Rundll32のType 渡すDLLのType 起動プロセス x86 x86 x86 x86 x64 x86,x64 x64 x86 x86,x64 x64 x64 x64 すなわ…
UWSCでプロセス間通信をやってみようと思い立ったので、やってみた。 メモリマップドファイル方式は、しろまささんのところにあるので、 http://siromasa.xxxxxxxx.jp/Sample/index.html 名前付きパイプにて。 これなら、別端末でも通信できますね。
いろいろ検討したけど、CreateMutexが良い模様。 以下は、検討したスクリプト。
UWSC公式掲示板ですごい質問を見つけた。 質問者さんには悪いと思うけど、あまりにあまりなので、私の受けた衝撃を書きたいと思う。 あと、おまけで最後に、UWSCでモールス信号を解釈するジョーク・スクリプトをつけた。 モールス信号の練習をしたい方はどう…
公式掲示板で、「ファイルを開く」ダイアログのショートカット動作が変わった、という質問を見た。 ということで、解決方法を考えてみた。 (本当にUWSCが原因で変わったのかは知らないけど) あと、.lnkファイルについて調べてみた。(UWSCというより、WSH…
仮想デスクトップで以下の用件に満たすようなものがあれば教えて… - 人力検索はてな あれば欲しいです。 多分ない。いやどれでも良いのかも。 注目のため、トラックバック。 でも、Virtual PCなんだろうなぁ。楽なのは。
UWSCで書いてますが、WMIなので、いろんなところで適用可能です。 あと、モジュールのコンストラクタで全ドライブの情報を取得しているので、、、立ち上がり遅し。
Powershellじゃなくて、C#だけど。 なんとなく書いてみた。
こんな方法もあるのか、ということ。 クリックしたりキーボード入力したりは、MouseOrgの第二引数を2にすると、いろいろできますが、それでも前面に来ることもある。 仮想デスクトップにして、メッセージを飛ばして制御してしまえば、見ないで済む。 仮想デ…
ま、またUWSC絡みの話だったりします。 公式掲示板に、「UWSCがいないのに、二重起動でおこられる」というのがあったので、考えてみた。 で、思いついた。 通常、Windowsアプリケーションでの二重起動の抑止は、Mutexで行う。 で、試しに、UWSCが使ってそう…
UWSC公式掲示板の素晴らしい回答に触発されて、別方式版を作ってみた。 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=3715 でも、Findstr方式に比べても、3倍くらいの遅さなので、あまり実用的ではないので黙ってることに。 メリット…
UWSCの公式掲示板の記事より。 http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=3715 このLinersさんの回答が、あまりに素晴らしい。 12万件というデータ量を、ほぼ瞬時にこなしています。 ポイントは、windowsのfindstrコマンドを使う…
ちょっと正規表現をいじっていて、思い立った。 正規表現でTokenもどきが出来るのでは?と。 結果ですが、、、長大な文字列では、正規表現の方が早い。 Tokenは文字列編集を繰り返すからでしょうね。 多分、長大でなかったら、メモリ分Tokenが有利かな?