rundll32 が関数に渡す引数は何なのか

概要 Windows 付属の rundll32.exe コマンドを利用して、指定した DLL 内の関数を呼び出すことができます。このとき rundll32 が関数に渡す引数について、やや詳しく説明します。 動作確認環境 Windows 10 Home 21H1, 64bit(ただし、今回は 32bit の C:\Windows\SysWOW64\rundll32.exe モジュールについて扱います) Visual Studio Community 2019 rundll32 の使い方 rundl […]

ヘッダファイルやライブラリを where コマンドで探す

Visual C++ のヘッダファイル (.h) やライブラリ (.lib) は、あちこちに分散していたり、バージョンアップのたびに場所が変わったりして、何がどこにあるのかすぐに分からなくなってしまいます。そんなとき、通常は実行ファイルの検索に使う where コマンドを利用して、ヘッダファイルやライブラリを探すことができます。 動作確認環境 Windows 10 Home 21H1, 64bit Visual Studio Community 2019 ヘッダファイルを探す where コマン […]

メモ帳を別フォルダにコピーすると起動しない理由

あるときメモ帳 (notepad.exe) を別のフォルダにコピーしたところ、コピーしたメモ帳が起動しないことに気づきました。 たとえば、次の画面のように「C:\Windows」フォルダ内の「notepad.exe」を「C:\tmp」フォルダ内にコピーすると、コピー先の「notepad.exe」をダブルクリックしてもメモ帳が起動しません。 なぜ起動しないのか、原因を調べてみました。 動作確認環境 Windows 10 Home 21H1, 64bit Process Monitor による調査 […]

コマンドプロンプトから音を出す方法

Windows のコマンドプロンプトから音を出す方法をいくつか紹介します。 動作確認環境 Windows 10 Home 21H1, 64bit 方法 1. 「^G」を出力して音を出す コマンドプロンプトから「^G」を出力することで音を出すことができます。「^G」と表記していますが、これはバイナリデータの「0x07」、ASCII コードの「BEL」を意味します。 echo コマンドを使って「^G」を出力してみましょう。 コマンドプロンプト (cmd.exe) を起動します。 「echo ^G」と […]

Windows のデフォルトの環境でバイナリファイルを作る方法

バイナリエディタをインストールしていない Windows のデフォルトの環境でバイナリファイルを作る方法をいくつか紹介します。 動作確認環境 Windows 10 Home 21H1, 64bit 方法 1. メモ帳とIME でバイナリファイルを作る メモ帳と IME(かな漢字変換)を利用してバイナリファイルを作成できます。入力できるバイナリデータは、「0x01」~「0x1F」と「0x7F」「0x80」です。 たとえば「0x1C」を入力するには、全角 4 桁 16 進数で「001c」と入力後、[ […]