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

WSHやバッチファイルからWin32APIを呼び出す

WSHでDLLの関数を呼び出せるツールにSFC miniというものがありますが、これはどうやらインストールという作業が必要みたいで、配布の障壁になるかなぁと思っていました。 簡単な用途であれば、以前作った汎用Rundll32でもいけるので、簡単ではありますがサン…

HTAのWindowがちょっとおかしい件について

FlashWindowでHTAのタスクバーを光らせたあと、アクティブにしても点滅状態が元に戻らないので、これはどういうことかと思って調べていました。 WindowExplorerでmshta.exeの持っているウィンドウを見てみたところ、謎の隠しウィンドウがあったので表示させ…

汎用Rundll32というものを作った

WindowsにはRundll32といって、DLLにある関数をコマンドで呼び出せるツールが入っているのですが、Rundll32では呼び出せる関数の形式が決まっているので、たとえばMessageBoxなんかは呼び出せないわけです。そこで、どんな関数の形式でも呼び出せる汎用Rundl…

Cで代入演算子の評価順

C

*(++p) += *p; とあった場合、左から実行されるようで、つまり #include <stdio.h> int main() { int i[] = {0,1}; int *p = i; *(++p) += *p; printf("%d\n", i[1]); return 0; } の結果が2になります。</stdio.h>

Windowsでコマンドライン引数に改行などが使えることを確認した

a.exe #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(0,lpCmdLine,0,0); } a.js (new ActiveXObject("WScript.Shell")).Run("a.exe a\ta\r\nb"); Win98とWin2000でも使えました</windows.h>…

VC++のインラインアセンブラとgccのインラインアセンブラとではかなり違うので大変でした

C

なお、私はアセンブリはよくわかりません。 私の環境 WinXPSP3 CeleronM VC++2010 MinGW 20101030のやつ VC++ __asm add esp,n インテル記法Cの変数をそのままかけるgcc __asm__("addl _n,%esp"); AT&T記法インテル記法と順番が逆レジスタの前に%命令でb,w,l…

IE6でTABLEのDOMを操作するときはTBODYもいれる

IE6ではテーブル要素の動的生成時にtbodyを生成しないとだめみたい 最近IE6を見放してたので気づきませんでしたが、テーブルをうまく生成できてなかったみたいです。 番組表とTruth Table Generatorを直しました。

VisualC++2010で作ったアプリケーションがXP以前で使えないかもしれない

Visual Studio 2005ではWindows 95用アプリを作れない?! Windows95 で作動するアプリケーションを作成できる最後の VC++ のバージョンは? 上記リンクにはVC++で作ったアプリがWin95で動かないということが書いてありますが、同じようなことがWin98やWin20…

Windowsのコマンドラインに文字コードがある(?)のか?と考えたけど違う

CommandLineToArgvWのページにUnicode ワイド文字で渡されたコマンドライン文字列を解析とあるので、コマンドラインに文字コードがあるのか?あるならどうやって文字コードを判定するんだ?と思いましたが、以下のプログラムをテストしてそういうことではな…

jsで配列を初期化するときはnew Arrayのほうが早いのか

http://www.kanasansoft.com/weblab/2007/11/post_15.html 確かにあらかじめ確保しておいた方が速そうに思えるけど正直変わらないと思ってました。 2,3個ぐらいなら[]ってところですかね。

ラッキー

昔ZIPで固めておいたものを解凍しようと思ったら、パスワードが設定してあって、いつも使ってるやつをいくつか試してみたのですが、解凍できずに困っていました。 私は解読できないように長めのパスワードを設定するので、PkZipなどの総当たりも使えない状況…

Array.push遅い

Array[Array.length]のほうがよかった2011-02-05追記Chromeだとpushのほうが早いらしい

javascriptのArray.pushの戻り値って配列の個数だったんですか

配列を返してくれそうな気がしてて少しはまってしまいました。

Japan Wide Web

世界のどこからでも参照できるインターネッツに何かを公開したとしても、日本語で書いていたらほぼ日本からでしか参照されないものになるんだろうなと思って、英語のページを作ろうとしましたが、挫折しました。 中学〜高校までの私は、典型的な日本にいるか…

最近作ったもの

最近作ったものは、 アニメ番組表 n面サイコロ 命題論理の論理式計算ツール labsをちょこちょこ という感じです。アニメ番組表はインターネットTVガイドから関東周辺の情報を集めてフィルタつけただけって感じですかね。 n面サイコロは外で何かを決めかねて…