Windowsのwprintf関数はUnicodeを出力できない?

C 標準ライブラリ関数には標準出力に文字列を出力する printf 関数があります。これをワイドキャラクタ ≒Unicode 出力に対応させたバージョンが wprintf 関数です。

ところが Windows wprintf 関数は Unicode を出力できないというのです。にわかには信じられない話です。本当にそんなことがあるんでしょうか?

wprintf 関数の問題点と Windows のコンソールに Unicode を出力する方法を解説します。

バッチファイルで使えるショートカット作成コマンド

実行ファイルへのショートカットをバッチファイルから作成する方法を紹介します。

ショートカットを作成する機能は ShellLink オブジェクトによって提供されています。ShellLink オブジェクトは Windows Scripting Host WSH からも呼び出せるので VBScript VBS JScript でショートカット作成コマンドを実装することもできるのですが 今回は C++を使って実行ファイル EXE としてショートカット作成コマンドを実装してみました。

GTK+で非矩形ウィンドウを表示する

gtkmm を使って C++で GTK+アプリケーションを開発しています。ウィンドウの一部が透過している非矩形のウィンドウを作ろうとしたのですが Windows ではウィンドウの背景が透過するのに Ubuntu Linux ではウィンドウの背景が黒く塗りつぶされてしまいずいぶんと悩みました。

GTK+で透過ウィンドウを作成するために試行錯誤したときの解決メモと非矩形ウィンドウのサンプルコードです。

Unixエポックからの経過時間をミリ秒単位で取得する(Windows版)

C 言語 Win32 API を使って Windows アプリケーションを開発している時に Unix エポック 1970 1 1 からの経過時間を秒単位ではなくミリ秒単位で取得する必要に迫られました。

Unix エポックからの経過時間を秒単位で取得するのであれば time 関数を使うだけで済むのですが ミリ秒単位で取得する場合は少しコードを書く必要がありました。今回は Windows Unix エポックからの経過時間をミリ秒単位で取得する方法を紹介します。