• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            這段代碼很有趣:Windows藍(lán)屏代碼

            Posted on 2010-01-13 21:36 S.l.e!ep.¢% 閱讀(1005) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): RootKit
            【原創(chuàng)】【討論】這段代碼很有趣:Windows藍(lán)屏代碼

            【討論】這段代碼很有趣:Windows藍(lán)屏代碼
            這個(gè)是在學(xué)習(xí)windows程序設(shè)計(jì)時(shí),偶然發(fā)現(xiàn)的。程序運(yùn)行后,在滾動(dòng)條上右擊,在彈出的快捷菜單中選擇“滾動(dòng)至此”,接下來(lái)程序會(huì)提示3次的"藍(lán)屏死機(jī)!請(qǐng)先保存好數(shù)據(jù)!",依次點(diǎn)3次確定后,windows?xp就藍(lán)屏重啟了。
            程序本身沒(méi)有用到特殊的api。程序也很容易理解。
            藍(lán)屏的原因是在處理滾動(dòng)條消息時(shí)時(shí),MessgeBox函數(shù)造成的。但是直接在滾動(dòng)條的點(diǎn)擊并不會(huì)藍(lán)屏,具體什么原因我也不知道。估計(jì)是系統(tǒng)的bug。
            VC?6.0?下編譯通過(guò),以下是代碼。
            復(fù)制內(nèi)容到剪貼板代碼:
            ///////////////////////////////////////////////////////////////////////////?#include?<windows.h>

            LRESULT?CALLBACK?WndProc?(HWND,?UINT,?WPARAM,?LPARAM)?;

            int?WINAPI?WinMain?(HINSTANCE?hInstance,?HINSTANCE?hPrevInstance,
            ????????????????????PSTR?szCmdLine,?int?iCmdShow)
            {
            ????????static?TCHAR?szAppName[]?=?TEXT?("MyWindow")?;
            ????????HWND?????????????hwnd?;
            ????????MSG?????????????msg?;
            ????????WNDCLASS?????wndclass?;

            ????????wndclass.style????????????????=?CS_HREDRAW?|?CS_VREDRAW?;
            ????????wndclass.lpfnWndProc????????=?WndProc?;
            ????????wndclass.cbClsExtra????????=?0?;
            ????????wndclass.cbWndExtra????????=?0?;
            ????????wndclass.hInstance????????=?hInstance?;
            ????????wndclass.hIcon????????????????=?LoadIcon?(NULL,?IDI_APPLICATION)?;
            ????????wndclass.hCursor????????=?LoadCursor?(NULL,?IDC_ARROW)?;
            ????????wndclass.hbrBackground????????=?(HBRUSH)?GetStockObject?(WHITE_BRUSH)?;
            ????????wndclass.lpszMenuName????????=?NULL?;
            ????????wndclass.lpszClassName????????=?szAppName?;

            ????????if(!RegisterClass?(&wndclass))
            ????????{
            ?????????????MessageBox?(NULL,?TEXT?("此程序必須運(yùn)行在NT下!"),?szAppName,?MB_ICONERROR)?;
            ?????????????return?0;
            ????????}

            ????????hwnd?=?CreateWindow?(szAppName,
            ?????????????????????TEXT?("藍(lán)屏死機(jī)"),?????????????
            ?????????????????????????????WS_OVERLAPPEDWINDOW,
            ?????????????????????????????CW_USEDEFAULT,
            ?????????????????????????????CW_USEDEFAULT,
            ?????????????????????????????300,
            ?????????????????????????????210,
            ?????????????????????????????NULL,
            ?????????????????????????????NULL,
            ?????????????????????????????hInstance,
            ?????????????????????????????NULL)?;

            ????????ShowWindow?(hwnd,?iCmdShow)?;
            ????????UpdateWindow?(hwnd)?;
            ????????
            ????????while?(GetMessage?(&msg,?NULL,?0,?0))
            ????????{
            ?????????????TranslateMessage?(&msg)?;
            ?????????????DispatchMessage?(&msg)?;
            ????????}
            ????????return?msg.wParam?;
            }

            LRESULT?CALLBACK?WndProc?(HWND?hwnd,?UINT?message,?WPARAM?wParam,?LPARAM?lParam)
            {
            ??????HDC???????????hdc?;
            ??????PAINTSTRUCT??ps?;
            ??????RECT???????????rect?;
            ??????static?HINSTANCE?hInstance;
            ??????static?HWND?hScrollBar;

            ??????switch?(message)
            ??????{
            ????????case?WM_CREATE:
            ?????????????hInstance?=?(HINSTANCE)?GetWindowLong?(hwnd,?GWL_HINSTANCE)?;?//取得實(shí)例句柄
            ?????????????hScrollBar?=?CreateWindow?(TEXT?("scrollbar"),?NULL,
            ??????????????????????????????????????????????WS_CHILD?|?WS_VISIBLE?|?WS_TABSTOP?|?SBS_VERT,????
            ??????????????????????????????????????????30,?30,?100,?100,?
            ??????????????????????????????????????????hwnd,?(HMENU)?1,?hInstance,?NULL)?;?//創(chuàng)建垂直滾動(dòng)條
            ?????????????return?0?;
            ?????????????
            ????????case?WM_SIZE?:
            ?????????????MoveWindow?(hScrollBar,?30,?30,?LOWORD?(lParam)?/?2,?HIWORD?(lParam)-50,?TRUE)?;
            ?????????????return?0;
            ?????????????
            ????????case?WM_VSCROLL?:
            ?????????????MessageBox(NULL,?TEXT("藍(lán)屏死機(jī)!請(qǐng)先保存好數(shù)據(jù)!"),TEXT("請(qǐng)先保存好數(shù)據(jù)"),?MB_OK);?//藍(lán)屏的原因就是加上了這句。去掉這句就不會(huì)藍(lán)屏了。
            ?????????????Sleep(500);
            ?????????????return?0;

            ????????case?WM_PAINT:
            ?????????????hdc?=?BeginPaint?(hwnd,?&ps)?;
            ?????????????GetClientRect?(hwnd,?&rect)?;
            ?????????????DrawText?(hdc,?TEXT?("Windows?XP下的藍(lán)屏,死機(jī)程序!"),?-1,?&rect,?DT_SINGLELINE?|?DT_CENTER);
            ?????????????EndPaint?(hwnd,?&ps)?;
            ?????????????return?0?;

            ????????case?WM_DESTROY:
            ?????????????PostQuitMessage?(0)?;
            ?????????????return?0?;
            ????????}
            ????????return?DefWindowProc?(hwnd,?message,?wParam,?lParam)?;
            }
            久久精品中文字幕第23页| 伊人久久无码精品中文字幕| 日本久久中文字幕| 手机看片久久高清国产日韩| 亚洲伊人久久综合中文成人网| 亚洲欧洲久久av| AV无码久久久久不卡蜜桃| 久久99国产亚洲高清观看首页| 国产亚州精品女人久久久久久 | 伊人热热久久原色播放www| 波多野结衣AV无码久久一区| 中文国产成人精品久久不卡| 99久久精品国产一区二区| 久久久久国产精品人妻| 青青草国产精品久久| 蜜桃麻豆WWW久久囤产精品| 东京热TOKYO综合久久精品| 亚洲国产成人乱码精品女人久久久不卡| 一本一本久久aa综合精品| 久久久受www免费人成| 99久久人妻无码精品系列 | 99精品久久精品| 一个色综合久久| 精品久久久久久无码人妻蜜桃| 久久精品亚洲中文字幕无码麻豆| 色婷婷久久久SWAG精品| 国产精品伦理久久久久久| 麻豆精品久久久一区二区| 中文字幕久久精品无码| 亚洲欧美另类日本久久国产真实乱对白 | 国产精品99久久精品| 人妻无码αv中文字幕久久琪琪布| 久久99精品国产99久久| 久久精品中文闷骚内射| 国产精品对白刺激久久久| 久久99久国产麻精品66| 波多野结衣久久一区二区 | 一本一道久久精品综合| 国产99精品久久| 久久综合久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 |