2004-01-01から1年間の記事一覧
// 普段、画面に表示する内容は文字列ばっかりなので // ビットマップの描画方法とかをメモ。 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { static HBITMAP hBmp; switch(uMsg) { case WM_CREATE: { HDC hDC: HDC hMemD…
パソコンの電源を切る。(Windows NT以上) OpenProcessTokenで取得したハンドルはCloseHandleで解放する。 日本語版MSDNには、そのこと書いて無いから注意! 英語版MSDN OpenProcessToken HANDLE hToken; TOKEN_PRIVILEGES tp; LUID luid; BOOL bResult; //ア…
OSのバージョンを取得する。 NT系でしかサポートしていない関数とかを使う場合に。 PlatformIDを見ればNT系か9x系かを判断できる。 OSVERSIONINFO OSInfo; OSInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&OSInfo); if(OSInfo.dwPlatfor…
コンソールウインドウを開いて文字を出力したりする。 デバッグ用に便利、もちろんDLLでも使用可能。 下のプログラムをコンパイルして出来た 実行ファイルのサイズは 1,024 バイトでした。 #include <windows.h> #pragma comment(linker, "/nodefaultlib:\"libc.lib\"")</windows.h>…
コンソールウインドウを開いて文字を出力したりする。 デバッグ用に便利、もちろんDLLでも使用可能。 void OutputConsole(LPCSTR lpszFormat, ...) { char szBuff[100]; va_list args; va_start(args, lpszFormat); wvsprintf(szBuff, lpszFormat, args); va…
__argc : __argv に格納されている引数の数 __argv : NULL で終わる文字列の配列 使い方は C と同じで良いみたいだけど、WinMain()以外でも使える。 for(int i = 0; i < __argc; i++) { wsprintf(szBuf, "%d : %s", i, __argv[i]); MessageBox(NULL, szBuf, …
Public Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long Public Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As Long Dim curStartTime As Currency Dim cur…