サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
blog.goo.ne.jp/masaki_goo_2006
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) 簡単なアニメーションやゲームなどを作成したとき、キャラクタの数が多いと画面がちらつく事があります。 これは WM_ERASEBKGND メッセージで背景を描画してから、WM_PAINT メッセージで図形などを描画するためです。 通常は、この仕組みで先にキャラクタの背景が描画され、その後にキャラクタを描画するからゲームなどで キャラクタを連続的に描画すると毎回キャラクタが背景と共に消去されます。これがちらつきの原因です。 それでは、どうやったらちらつきをなくせるのか。 その方法の一つに[ダブル・バッファリング]という方法があります。 WM_PAINT メッセージの処理だけ紹介します。 (1)裏画面であるオフスクリーンにアニメーションなどの背景とキャラクタを全て描画。 (2)
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) ここには、このブログ記事のサンプル集が188個あります。 ウインドウ雛形 ウインドウの作成 ウインドウの雛形 ダイアログアプリの雛形 ダイアログアプリ1(ダイアログのみ) ダイアログアプリ2(ウインドウのみ) ダイアログアプリ3(ウインドウ+ダイアログ) ウインドウ関連 ウインドウの表示/非表示 ウインドウの有効化/無効化 ウインドウの最大化/最小化/元に戻す(1) ウインドウの最大化/最小化/元に戻す(2) ウインドウの最大化/最小化の状態 ウインドウの最前面表示の設定/解除 ウインドウ・スタイルの動的変更 画面中央にウインドウを移動 画面隅にウインドウを移動 画面端にウインドウを移動 画面9箇所にウインドウを移動 指定ウインドウの状態 指定ウインドウの検索 指定の子ウ
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) 単純なビープ音を鳴らすには Beep 関数を使います。 この関数の第一引数に音の周波数を指定して、第二引数に持続時間を指定します。 この関数は同期実行されるため、音が鳴り終わるまでは呼び出し側へ制御を返しません。(戻る) 音の周波数 ド……440(Hz) レ……494(Hz) ミ……554(Hz) ファ…587(Hz) ソ……659(Hz) ラ……740(Hz) シ……830(Hz) ド……880(Hz) プロトタイプ宣言 BOOL Beep( DWORD dwFreq, // 音の周波数(Hz) DWORD dwDuration // 音の持続時間(ms) ); サンプル #include <conio.h> #include <stdio.h> #include <w
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) プロセスのメモリ情報を取得するにはGetProcessMemoryInfo()関数を利用します。(戻る) プロセスのハンドルを開く(OpenProcess) プロセスのメモリ情報を取得(GetProcessMemoryInfo) プロセスのハンドルを閉じる(CloseHandle) 取得可能なメモリ情報 ページ・フォールト数(ページ フォルト) 現在ワーキングセット(メモリ使用量) 最大ワーキングセット(最大メモリ使用量) 現在ページプールの使用サイズ(ページ プール) 最大ページプールの使用サイズ 現在非ページプールの使用サイズ(非ページ プール) 最大非ページプールの使用サイズ 現在ページングファイルの使用サイズ(仮想メモリ サイズ) 最大ページングファイルの使用サイ
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) CPU使用率を取得するには次の手順で行います。(戻る) パフォーマンス・データのハンドルを作成(PdhOpenQuery) ハンドル総数のカウンタパスを追加(PdhAddCounter) ハンドル総数のカウンタ値を取得(PdhCollectQueryData) パフォーマンス・データのハンドルを破棄(PdhCloseQuery) プロトタイプ宣言 PDH_STATUS PdhOpenQuery( LPCTSTR szDataSource, // ログファイル名 DWORD dwUserData, // 問い合わせに結び付ける値 PDH_HQUERY* phQuery // 問い合わせハンドルのポインタ ); PDH_STATUS PdhCloseQuery( PDH_HQ
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) Windows NT 4.0 以降でプロセスのフルパス名を列挙するには次のようにします。(戻る) プロセスIDの列挙(EnumProcesses) プロセスIDからプロセス・ハンドルの取得(OpenProcess) プロセス・ハンドルからモジュールの列挙(EnumProcessModules) モジュール・ハンドルからフルパスの取得(GetModuleFileNameEx) プロセス・ハンドルを閉じる(CloseHandle) プロトタイプ宣言 HANDLE OpenProcess( DWORD dwDesiredAccess, // アクセス方法のフラグ BOOL bInheritHandle, // ハンドルの継承オプション DWORD dwProcessId //
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) CRCとは巡回冗長検査(じゅんかい・じょうちょう・けんさ)という誤りを検出する方法の1つです。 その他ハッシュ・キーを計算するハッシュ関数としても使うことが出来ます。(戻る) 今回のCRCは16ビット幅で生成多項式に X16 + X12 + X5 + 1 を利用します。 この生成多項式は CRC-CCITT で使われているものです。 CRCタイプ CRCタイプ(CRC-CCITT) 生成多項式(0x1021) 初期値(0xFFFF) 出力XOR(0x0000) 入力ビット逆転(なし) 出力ビット逆転(なし) ビット送り(左送り) 使い方 #include <stdio.h> #include <string.h> #include <limits.h> // CHAR_B
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) CRCとは巡回冗長検査(じゅんかい・じょうちょう・けんさ)という誤りを検出する方法の1つです。 その他ハッシュ・キーを計算するハッシュ関数としても使うことが出来ます。(戻る) 今回のCRCは32ビット幅で生成多項式に X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X1 + 1 を利用します。 この生成多項式は CRC32 で使われているものです。 CRCタイプ CRCタイプ(CRC32) 生成多項式(0x04C11DB7) 初期値(0xFFFFFFFF) 出力XOR(0xFFFFFFFF) 入力ビット逆転(なし) 出力ビット逆転(なし) ビット送り(左送り) 使い方 #in
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) Windows の休止状態、スタンバイするには次の手順で行います。(戻る) 休止状態、スタンバイさせるために SE_SHUTDOWN_NAME 特権を有効にする(ProcessPrivilegeName) 休止状態、スタンバイさせるAPIを呼び出す(SetSystemPowerState) Windows 95/98/Me では(1)の特権を有効にする必要はありません。 プロトタイプ宣言 HANDLE GetCurrentProcess( VOID ); BOOL SetSystemPowerState( BOOL fSuspend, // サスペンド状態(TRUE=スタンバイ、FALSE=休止状態) BOOL fForce // 強制的に中断(TRUE=強制的、FALS
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) 4Gバイト以上の物理メモリ容量を取得するにはGlobalMemoryStatusEx()関数を使います。 搭載容量と空き容量が取得できます。使用容量は引き算して求めます。 // プロトタイプ宣言 BOOL GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpBuffer // メモリステータスの構造体 ); // 構造体 typedef struct _MEMORYSTATUSEX { DWORD dwLength; // 構造体のサイズ DWORD dwMemoryLoad; // メモリの使用率(%) DWORDLONG ullTotalPhys; // 物理メモリの搭載容量 DWORDLONG ullAvailPhys; // 物理メモ
このブログのバナー画像を用意しました。 ご自由にお使い下さい。 ただし直接リンクしないで ダウンロードしてからお使い下さい。 手順: (1)右メニューを表示 (2)『名前を付けて画像を保存(S)...』を選択 (3)『保存ボタン(S)』を押す
日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) プロセス情報を取得するにはProcess32First()、Process32Next()関数を使います。 手順は次のようになります。(戻る) プロセス情報を含むスナップショットを作成(CreateToolhelp32Snapshot) 最初のモジュール情報を取得(Process32First) 続きのモジュール情報を取得(Process32Next) スナップショットを破棄(CloseHandle) プロトタイプ宣言 BOOL Process32First( HANDLE hSnapshot, // スナップショットのハンドル LPPROCESSENTRY32 lppe // プロセス情報の格納構造体 ); BOOL Process32Next( HANDLE hSna
このページを最初にブックマークしてみませんか?
『プログラミングのメモ帳(C/C++/HSP)』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く