トリッキーコードネット トップへ戻る   C/C++, Java, Perl, PHP, JavaScript, アルゴリズム, ショートコーディング, IOCCCコードの解説, 等々

サイト情報

トリッキーなコード

7行プログラミング

物凄いコード集

アルゴリズム

データ構造

C/C++な話題

コードサンプル

ツール/環境構築

開発ノウハウ 等

ネタ/ジョーク集

おススメ書籍/サイト

サイトTOP >> コードサンプル >> デスクトップ上のランダム位置に、延々と点を描画

デスクトップのランダム位置にランダム色で、延々と点を描画 (Win32API)

ESCキーを押すまで、デスクトップのランダム位置に延々と点を描画し続けるネタプログラムです^^;)

#include <windows.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int)
{
    SHORT nKeyState;
    SYSTEMTIME st;
    HDC hdc;
    RECT rt;

    GetLocalTime(&st);
    srand((unsigned)st.wMilliseconds);
    hdc = GetDC(NULL);
    GetWindowRect(GetDesktopWindow(), &rt);

    while (1) {
        SetPixelV(hdc,
                  rand() % rt.right,
                  rand() % rt.bottom,
                  RGB(rand() % 255, rand() % 255, rand() % 255)
                  );

        nKeyState = GetAsyncKeyState(VK_ESCAPE);

        if(nKeyState & 0x8000) {
            break;
        }

        Sleep(0);
    }

    ReleaseDC(NULL, hdc);
    return 0;
}
実行すると、デスクトップのランダム位置に、ランダム色で、点が延々と描画され続けます。 ※ スクリーンショットは、自PCでやると、ちょっとヤバめな物まで写ってしまうのでなし(爆) srand()に、現在時刻のミリ秒をシードで渡して、 GetDC(NULL)で、デスクトップのデバイスコンテキストを取得して、 GetWindowRectで、デスクトップの広さを取得して (↑今気がついたんだけれど、GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)の方が良いかも)、 ループ内のSetPixelVで、点を描画~♪ GetAsyncKeyStateで、ESCキーの入力を判定し、もし入力されていればループを抜けて、 取得したデバイスコンテキストを開放。The END。 というわけです^^;)
         このエントリーをはてなブックマークに追加   


作業効率化・ライフハックのオススメ記事




コンピュータ・テクノロジーのオススメ記事





恋愛・人間関係のオススメ記事




※ 当サイトは、トップページからリンクで辿る事の出来るページに限り、リンクフリーです。
※ 当サイトの閲覧/利用によって生じた如何なる損害も、当サイト管理人は責任を負いません。
※ 当サイトの内容を転載される場合は、当サイトへのリンクをお願い致します。