2012-01-01から1年間の記事一覧

UWSCのStarsをUWSCにとかせる

UWSC公式掲示板に懐かしいゲームが再びあったので、今度はAIもどきにしてみた。

UWSCでヌメロン風?ゲーム

UWSC公式掲示板に、懐かしいゲームがあったので、対戦式にしてみた。 Master Mindとか、Hit & Errorとか呼ばれるゲームですよね。

プロセスの管理者権限の有無を調べる

Win32APIに、「BOOL IsUserAnAdmin(void);」というのがshell32.dllで提供されています。 UWSCで確認すると DEF_DLL IsUserAnAdmin(): BOOL: shell32 PRINT IsUserAnAdmin() あるなら、TRUE(1)。ないなら、FALSE(0)ですね。 最近のMSDNには、 IsUserAnAdmin f…

UWSCでjavascriptのarrayを使う

前に連想配列を検討したときも悩んだんですよね。 UWSCで連想配列を配列にする - じゅんじゅんのきまぐれ stuncloudさんも微妙に思ったようなので、考えてみた。 UWSCでjson | たっぷす庵

UWSCのスレッドを自在に操る

あんまり推奨行為ではない気がしますが、UWSCのスレッドはネイティブスレッドのようなので、自由に操れます。 Suspend/Resumeは必要ならスクリプト的に実装すべきですが、ま、開発中は使えるかも。 AffinityMaskを操作して、使用するCPUを制限することは、演…

UWSCのスレッドに割り込む

スレッドとCPUの関連でスレッドの割り込みを検討したので、実証コードを書いてみた。 スレッドとCPUの関連について - じゅんじゅんのきまぐれ

UWSCで連想配列を配列にする

UWSCの連想配列(HASHTBL)は、配列に入れられない。 関数の返り値にもできない。 これが、たま〜に、もどかしい。 ということで、考えてみた。

スレッドとCPUの関連について

スレッドについて気になったので、調べてみた。 UWSCのスレッドは、ネイティブスレッド(GetCurrentThreadIdで判明) スレッドの動いている(瞬間の)CPU番号は、GetCurrentProcessorNumberで取得可能。ただしVista以降。XPは後述 プロセスのCPU割り当ては、…

UWSCでオブジェクトを扱う

やったー!!! ついに閃いた! ちょっと、不完全だけど。 追記 20121012 入れ子は、オブジェクトをjavascript内で設定すればOK UWSC側にしか参照がない場合は、AddObjectで逆輸入という手も こんなことができる。 DIM pt = Object.Create("Point") pt.x = 1…

UWSCで数字の3桁区切りをする

UWSC公式掲示板に面白いお題があったので参戦してみた。 「数値に3桁カンマ区切りを付与する」 その感想。 みなさんの答え まずは、しろまささんがシンプルに文字列操作。 次に、LinersさんがFORMAT関数で桁を揃えCOPYで区切り" ,"を""置換でTRIMというトリ…

UWSCでディレクトリー内の変更を監視する

ディレクトリー監視をする場合、何が変わったかを知るにはReadDirectoryChangesWを使いますが、、、面倒だったので、Find*ChangeNotification系で。

ファイルをUWSCスクリプトにするスクリプト

以前書いたバイナリーファイルをjsにするスクリプトのUWSC版。 バイナリーファイルをwsh javascriptにするjscript - じゅんじゅんのきまぐれ 気が向いたので書いてみた。

ソートについて(その2)

普通はライブラリ提供のソートを利用する。 それ以外なら、クイックソート。 ワーストケースが怖いなら、マージソート。 メモリーにきつい制限があるなら、コムソート。 さらに安定ソートを希望なら、In-place マージソート。

ソートについて

UWSCでソート処理を考えたついでに考えた。 ソートアルゴリズムはどれを使うべきだろうか? 並列処理を考えないのであれば、以下の通りと思う。 O(n)のメモリーを使って良い? Yes: QuickSort(メモリー使用で安定化)のワーストケースが怖い? Yes: MergeSo…

UWSCでイメージを表示する

UWSCで画像を表示する方法を検討してみた。 ただ、画像を表示するだけ。

インターネット使用時に心掛けたいこと

マカーな人が、iPhone/iPad/Macをクリアされるという、かなり恐ろしい事態があったので、考えてみる。 とりあえずポイントだけあげると サービス毎にバラバラにすべきはパスワードでなく、アカウント名 Amazonはザル

UWSCでグローバルアトムを使う

前回の実行状態を保持したい場合、INIファイルを使うのが一般的ですね。 でも、POFF(P_UWSC_REEXEC,TRUE)で処理を続行するのにもINIを使うのは、なんかくやしくないですか? そこで登場するのが、Global Atom!

UWSCでWin32 Crypto APIを使う

Crypto APIをラップするモジュールを書いてみた。 Crypto APIはVISTA以降Crypto Next Generationに更新されていますが、とりあえず旧版で。

UWSCでCSVファイルをソートする

公式掲示板より aaa.csvから数値データを取り出して(3列目-4列目)/9列目の計算結果を元にソートをかけたい 気が向いたので、考えてみた。

UWSCで仮想デスクトップ切替

Enum系APIをたたいてみたくなって、やってみた。 ついでに、仮想デスクトップ切替スクリプトに仕上げてみた。

UWSCで通り抜けフープもどきを作ってみる

CreateWindow出来るようになったので、調子に乗って通り抜けフープもどきを作ってみた。 通り抜けフープもどきを使うと、そのウインドウの下が見えます。 、、、でも、CreateWindowなくても多分できるな、これ、、、。 ま、CreateWindowした方が比較的きれい…

UWSCでタスクマネージャーに悪戯する

なにをするかは、実行してのお楽しみ! 手順は、 タスクマネージャーを起動し、最小化する 次のスクリプトを実行する ちょっと待つ(デコードに結構時間かかる)と吹き出しが出るので、指示に従う 止めるのは、ESCキー 難読化させてもらいます。 このスクリ…

UWSCでCreateWindowする

ついにやったー!!! できましたよ。CreateWindow。 ま、Pro版のフォームと比べるといろいろ難儀なので、公開します。

UWSCのループ速度と時間取得精度について

UWSCのループは三種類。 同じ回数のループでどれだけ早さが違うかと、時刻取得APIの精度を検証してみた。 修正 2015/06/11 時刻取得に1msec精度が必要ならAPIコールをすること。ただしGETTIMEの方が早い。 手元の環境では ループは、Forが最も早い 時刻取得…

UWSCによるメッセージ制御できないウインドウの制御について

ちょっとやる気にならないほど面倒なのだけど、閃いたことがある。 メッセージ送信で制御できないアプリケーションは、マウスポインターの位置等に期待するものがあるのだと思う。 ↓ その位置取得に使用するAPIをフックすれば、騙せるのでは? ↓ フックには…

ぱっと見わからないUWSCスクリプト

UWSCスクリプトの難読化を考えたが、あれは大げさすぎる。 UWSC難読化スクリプト! - じゅんじゅんのきまぐれ ま、ぱっと見わからないくらいにしたい場合を考えてみた。 RtlMoveMemoryの便利さに気づいただけとも言うけど、、、。 DIM data[] = $4247534D,57…

UWSCの関数で配列を返す

最近、UWSCでネイティブコードを実行するといういかれたことをしている。 しかし、むつい。 どうも、UWSCのスレッドとネイティブスレッドの仲が良くない。 、、、いや、待ち合わせが良くないのかもしれない。 ネイティブコードだけなら動作するロジックが、U…

UWSCスクリプトとネイティブコードのキメラ

難読化、といえば、こういう方法もある、という紹介。 ロジックの一部を、ネイティブコードに載せて、わかりにくくする。 とりあえず、0〜9のループを隠蔽してみた。 0〜9にコマンドを割り当てて、ループでない順番に実行させれば、わかりにくいですね。

UWSC難読化スクリプト!

jjencodeを突然思い出した。 jjencode、記号だけで書かれたjavascript。 UWSCでこれができないか、考えてみた。 これでどうだ! CALL - |{.}{{("{{{*|+{{}{_{{{*|+{{}{_{}*|+{}}}_{}*|+{}_({{*|*|+{}{)*|+{{_({{*|*|+{}}{)*|+{{_({{*|*|+{{})*|+{}{{_({{*|*|…

ウイルス騒動

「他のプロセスにコードインジェクションすることすらできるということ」 と書いたので、出来るか実証コードをC++で書いてたら、、、。 ウイルス検出された、、、。 ビルドした瞬間に。 まー、ウイルス作れますけど、まだ、ウイルスじゃないんですけど、、、…