C言語によるWindowsプログラミングの解説サイトです。 書籍Windows Internalsの解説はこちらをご確認ください。
はじめに デスクトップに複数のウィンドウを並べて作業することがありますが、マウス操作では、なかなかぴったりの幅に合わせることができません。几帳面な性格を持つ多くの人は、これを非常に気持ち悪く感じるはずです。そこで、ウィンドウ同士を気持ちよくぴったり合わせるツールを作成します。このためには、ウィンドウメッセージをフックして、マウス操作が起きた場合に、強制的にウィンドウをグリッドに合わせるようにします。 Windowsで多くのデスクトップユーティリティが公開されています。ダイアログが表示されると自動的にマウスをダイアログの上に移動させたり、ウィンドウのタイトルをクリックするとウィンドウが透明になったりします。こうしたツールはどうやってデスクトップにあるウィンドウを監視しているのだろうと不思議に思ったことはありませんか。 これらの動作は、ウィンドウメッセージをフックすることにより実現しています。
Archived MSDN and TechNet Blogs 2/7/2020 2 minutes to read MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. Archived blogs are grouped alphabetically by the initial letter of the blog name. Blogs and blog posts can be searched by their names, using the Search box at the top of the page. Actively updated blogs have been moved to other blog sites,
あるプロセスの物理メモリ最大使用量を測定するというお話.『Cozy Ozy』より. GetProcessMemoryInfoというAPIはどうかと思い、このようなコードを書いてみた。 最大の問題は,消費メモリ量をどう定義するか,ということかもしれません. 例えば 16*1024*1024 個の整数配列をソートすることを考えてみましょう.この作業,一見 64 MB 近い物理メモリが必要な気がしますが,実際にはデータを 64 MB のファイルに書き出して,それをちまちま読み書きしながらソートすればもっと少ないメモリで完走できそうです. Windows 環境に限定して考えると,これは別にファイル I/O API を使う必要すらありません.64 MB のファイルをメモリ空間にマップして,必要な箇所だけ物理メモリを割り当てていけば,元のソートアルゴリズムをあまり変更せずに済みそうです. さらに言えば
はじめに 私はGUI環境で簡単にコマンドを送ることができるマウスジェスチャが大好きです。今回はそんなマウスジェスチャを作ってみましょう。なお、.NET版については別稿を参照してください。対象読者 C言語(またはC++言語)でWin32のプログラムを開発したことがある方。必要な環境 少なくとも32bitのWindows環境が必要です。64bit環境でのテストはしていませんが大丈夫だと思います。設計 まずは構想を練らなければなりません。今回はサンプルなのでこちらで決めさせて頂きます。右ボタンが押されたら始まり、離されたら終わる。入力可能方向は4方向(斜め判定は無し)同じ方向への連続入力は無し(普通はこうすると思います)ある方向に動かすと反対側の移動量は0になる縦横の移動量を比較して多い方だけを考える(より自然な移動になる)ウィンドウの外に出てもしっかりと動作するようにする(これを行わないと変な
はじめに 私は以前「リバースエンジニアリング」という記事を書きました。そして、この記事の最後の「絶対にKrackされないソフトウェアの作り方を考える」にて、マシン語を暗号化したプログラムを内部に入れておき、特定のパスワードを入力しなければ任意のコードが復号化されず、結果的に任意のコードが実行されないようにするというテクニックを書きました。しかし、このテクニックは前回の記事で書いた通り、実用性に欠けます。 そして数ヵ月後くらいに私のところへあるメールが来ました。その内容は「DLLをプロセスへマッピングする処理を自前で作成し、暗号化したDLLイメージを動的に復号化して、プロセスへマッピングさせるようにすれば、暗号化しておきたいプログラムをDLLとして作成しておくことができ、実用性が大きく増すのではないか?」というものでした。つまり「プロセス内にあらかじめ暗号化した状態のDLLイメージを持ってお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く