No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 6 | 7 | 8 |...| 10 | 11 | 12 || Next»

RawInput というか WM_INPUT をフォーカスなしでも受け取るには

RegisterRawInputDevices での登録時に RIDEV_INPUTSINK をフラグ指定にすればいいらしい.ということで,グローバルフック使わずにほかのウィンドウへの入力を挿げ替えることができそう.これでキーの入れ替えソフトもC#で簡単に書けるかな.

参考:

http://www.codeproject.com/cs/system/rawinput.asp

Windowsのコンボボックスのカスタム化

聞かれて調べたのでメモ.

なにやらウィンドウプロシージャを乗っ取るらしい.ただ,コンボボックス内のエディットコントロールは独立したウィンドウプロシージャを持つらしいので,

    HWND hwndEdit = GetTopWindow( hwndComboBox );

とかしてエディットコントロールのハンドラを取っとかないとはまる.あとは,GetWindowLong で元のプロシージャを取得して,SetWindowLong で新しいプロシージャを登録して,新しいプロシージャ内で CallWindowProc を使って元のプロシージャを呼べばいいらしい.

参考:

http://www.expertmg.co.jp/html/cti/vctips/control.htm

http://www.arcpit.co.jp/winapi/api_02/ap020108.htm

RawInput + SendInputs + GlobalHook

これらを使えば複数のキーボードによる入力を複数のウィンドウに分配できる気がするのだが… RawInput をグローバルhookするのが C# 単体だと無理だよなぁ.Low Level Hook みたいに DLL なしでもフックできると便利なのだが…

素朴な疑問と解決

C# で mmap 使いたいなぁと思って色々調べてたら, Windows だと MapViewOfFile という API だったのね.

それはさておき Marshal.StructToPtr は便利そうだ.

Windows Vista Beta2 を試してみる

どうやら日本語版が出ているようなので試しにメインマシンのあいてるディスクに入れてみた.取り合えずいろんなとこが半透明になってるところとかサイドバーの Gadgets (付箋とかメーターとか)がいい感じで結構遊べそう.ただ,いわゆるエクスプローラのディレクトリ構造のツリー表示の仕方がわからず作業不能.適当なファイラを探してくるべきか? あと,タスクバーにかかるようにウィンドウを移動したときに重なった部分の周辺がバグってたのも気になった.まだまだ表示は怪しそう.

coLinuxインストール用に

メモしておく.

大きなファイルを高速に生成:

fsutil file createnew root.img 6442450944

中身のデータを書き込まないので dd より高速.

ついでに,coLinux 0.6.3 にしたらブルースクリーンで落ちまくったやつの解決.boot.ini のオプション部分を書き換え:

/NoExecute=OptIn   →  /NoExecute=AlwaysOff

HT の環境下ではこれをやらないとダメだったらしい.

«Prev || 1 | 2 | 3 |...| 6 | 7 | 8 |...| 10 | 11 | 12 || Next»
Search
Feeds

Page Top