DOSEIの日記

技術メモ+日常ログ

Win32

WIN32_LEAN_AND_MEAN

windows.h は山のように大量のヘッダファイルをインクルードするので、コンパイルに時間がかかる。(なんでプリコンパイルヘッダとかいう仕組みがあるわけだが) で、 WIN32_LEAN_AND_MEAN というマクロを事前に定義しておくと、一部のヘッダを読み込まなく…

Platform SDK (Windows Server 2003 SP1 April 2005 Edition)

出てた。 Web 上のインストーラページはなくなった。 ネットワークインストール版: http://www.microsoft.com/downloads/details.aspx?familyid=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5

IE以外のブラウザからもフルセットがダウンロードできる。 20003SDK XPSP2SDK

DCのデフォルト

ディスプレイデバイスコンテキストのデフォルト値 (MSDN)Display Device Context DefaultsText Color と Background Color のデフォルト値がコンパネで設定した値(通常は黒と白)って書いてあるんだが、一体どの設定のコとなんだろう…。たとえばうちの環境…

DEFAULT_GUI_FONT

前の話の続き。 Windows 2000 と XP では、DEFAULT_GUI_FONT は MS UI Gothic で、 SYSTEM_FONT は System だった。 Noteに The font used by the DEFAULT_GUI_FONT stock object could change. って書いてあるんだけど、これは「変更される可能性がある(=…

2chのスレで、C99のコンパウンドリテラルを使った、無駄な変数を作らない記法発見。なかなか(・∀・)イイ!。以下コピペ。 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, PSTR pszCmdLine, int nCmdShow) { if (!CreateWindowEx( 0, (PCTST…

XP SP2 で追加されたAPIはまだドキュメント化されてないらしい…。 http://msdn.microsoft.com/library/en-us/winprog/winprog/functions_by_release.asp

Windows XP SP2 Platform SDK (Aug.2004バージョン)

SDKの新しいのがダウンロードできるようになった。今までのWeb上のUpdaterとは違って、別ソフトをインストールする形式になってるみたい。ってことは、今までのやつはアップデートしないのかなぁ。まだ、Feb.2003バージョンのドキュメントなんですけど…。な…

Visual C++ Toolkit 2003 1.01

MSが無料配布してる VCのコンパイラ。コンパイラのみだが、MSアプリは大抵VC前提で書かれてるのでいろんな意味で便利かも。で、インスコしてみる。 http://msdn.microsoft.com/visualc/vctoolkit2003/ インスコすると、勝手に cmd.exe の補完文字がTabに設定…

win32api-3.1にはGetFontUnicodeRangesがねぇ。orz

gccコマンドライン

-mwindows Windows GUIのコンパイルに必要なオプション(cygwin, mingw固有) -mconsole Windows CUIのコンパイルに必要なオプション(cygwin, mingw固有) -lole32 コモンライブラリを使う場合に必要 -DUNICODE -D_UNICODE Unicode互換で書いたプログラムをUnic…

RichTextBoxクラスのプロテクト機能の問題点

RTFでは、文字列にプロテクト属性がつけられる。そしてプロテクト属性が付いた文字列を編集しようとすると、イベントが発生する。たとえば、次の文字列でABCにプロテクトがかかってるとする。 slimeABCpanda ここで、ABCを消そうとしたり、上書きしようとし…

SYSTEM_FONT

教えてはてなダイアリー! GetStockObjectで取得するフォントで、SYSTEM_FONTとDEFAULT_GUI_FONTってのがある。 W2kでは前者は"SYSTEM"フォントが選択される。固定サイズフォントで、嫌い。 で、MSDNによれば、SYSTEM_FONTは「システムフォントで、デフォル…

AnimateWindowで非表示にしても、タスクバーからボタンが消えない。ShowWindowなら消える。これは仕様かな、バグかな。

新しいw32apiがリリース。AnimateWindowが使えるようになった。が、_WIN32_WINNT==0x0500(Windows 2000)とか宣言してもフラグが使えない。WINVERの指定し忘れ。つーか、SDKのFebruary 2003には載ってないんだってば。早く新しいのをだうんろーどできるように…

DestroyWindow(GetDesktopWindow())はエラーになる(Windows2000) エラーコードはERROR_ACCESS_DENIED(5) Access is denied. そりゃ拒否するわな。

ニューズを探したら、Platform SDK Updateの話が出てた。 SPとかOSが出たときにUpdateが更新されるらしい。 VC++には、__declspec(naked)という呼び出し規約がある。これは、プロローグコードとエピローグコード(クリーンアップ)を書けるらしい。…何に使う…

APIENTRYとWINAPIというマクロがある。どちらもおんなじものなんだが、なんか意味的に違う気がする。どこ探しても違いについてはかかれてなくて、どっちでもいいという記述しかない。 それから、WinMainの返り値の定義がMSDNではただのintだが、和訳ではint …