• <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>

            道。道。道

            安全特性不等于安全的特性

               :: 首頁 :: 聯系 :: 聚合  :: 管理

            常用鏈接

            搜索

            •  

            最新評論

            ??1?//?MainFrm.h
            ??2?
            ??3?//對話框(用來顯示進度條)
            ??4?
            ??5?#include?"ProgressDlg.h"
            ??6?
            ??7?#define?WM_WORKPROGRESS?WM_USER+100
            ??8?#define?CN_PROGRESS?1
            ??9?#define?CN_DONE?3
            ?10?
            ?11?
            ?12?struct?ThreadParam{
            ?13??HWND?m_NotifyWnd;
            ?14?};
            ?15?
            ?16?class?CMainFrame?:?public?CFrameWnd
            ?17?{
            ?18?
            ?19?..
            ?20?
            ?21?protected:??
            ?22?
            ?23????CProgressDlg?m_ProgressDlg;
            ?24?
            ?25?public:
            ?26??//?處理線程消息
            ?27??LRESULT?OnThreadProgress(WPARAM?wParam,?LPARAM?lParam);
            ?28?
            ?29??CWinThread*?m_pAssistantThread?;
            ?30??ThreadParam?gThreadParam;
            ?31?
            ?32?
            ?33?}
            ?34?
            ?35?
            ?36?//?MainFrm.cpp
            ?37?
            ?38?BEGIN_MESSAGE_MAP(CMainFrame,?CFrameWnd)
            ?39?
            ?40??.
            ?41??ON_MESSAGE(WM_WORKPROGRESS,?OnThreadProgress)
            ?42?END_MESSAGE_MAP()
            ?43?
            ?44?CMainFrame::CMainFrame()
            ?45?{
            ?46??//?TODO:?在此添加成員初始化代碼
            ?47??m_pAssistantThread?=?NULL;
            ?48?}
            ?49?
            ?50?CMainFrame::~CMainFrame()
            ?51?{
            ?52??if(?m_pAssistantThread!=NULL?)
            ?53???delete?m_pAssistantThread;?m_pAssistantThread?=?NULL;
            ?54?}
            ?55?
            ?56?
            ?57?int?CMainFrame::OnCreate(LPCREATESTRUCT?lpCreateStruct)
            ?58?
            ?59?{
            ?60?
            ?61????.
            ?62?
            ?63????m_ProgressDlg.Create(CProgressDlg::IDD,?this);
            ?64?
            ?65????return?0;
            ?66?
            ?67?}
            ?68?
            ?69?//輔助線程
            ?70?static?UINT?ThreadFunc(LPVOID?pParam)
            ?71?{
            ?72??ThreadParam?*ptParam?=?(ThreadParam*)pParam;
            ?73??HWND?hNotifyWnd?=?ptParam->m_NotifyWnd;
            ?74??int?nSum?=?1000;
            ?75??for(int?i=0;i<nSum;i++)
            ?76??{
            ?77???if(::IsWindow(hNotifyWnd))
            ?78???{
            ?79????::PostMessage(?hNotifyWnd,WM_WORKPROGRESS,MAKEWPARAM(CN_PROGRESS,0),(LPARAM)i?);
            ?80???}
            ?81???Sleep(1);
            ?82??}
            ?83??
            ?84??if(::IsWindow(hNotifyWnd))
            ?85??{
            ?86???::PostMessage(hNotifyWnd,WM_WORKPROGRESS,MAKEWPARAM(CN_DONE,0),(LPARAM)nSum?);
            ?87??}
            ?88??return?0;
            ?89?}
            ?90?
            ?91?void?CMainFrame::OnTestthreadShowprogressdlg()
            ?92?{
            ?93??//m_ProgressDlg.ShowWindow(SW_SHOW);
            ?94??if(m_pAssistantThread?!=?NULL?)
            ?95??{
            ?96???DWORD?dwExitCode?=?-1;
            ?97???VERIFY(GetExitCodeThread(*m_pAssistantThread,&dwExitCode));
            ?98???if(dwExitCode?==?STILL_ACTIVE)
            ?99???{
            100????return?;
            101???}
            102???delete?m_pAssistantThread;?m_pAssistantThread?=?NULL;
            103??}
            104?
            105??
            106??m_ProgressDlg.m_ProgressCtrl.SetRange(0,1000);
            107??gThreadParam.m_NotifyWnd?=?(AfxGetApp()->m_pMainWnd)->m_hWnd;
            108??m_pAssistantThread?=?AfxBeginThread(?ThreadFunc,
            109???&gThreadParam,
            110???THREAD_PRIORITY_NORMAL,
            111???0,
            112???CREATE_SUSPENDED,
            113???NULL);
            114??ASSERT(?m_pAssistantThread?);
            115??m_pAssistantThread->m_bAutoDelete?=?FALSE;
            116??m_pAssistantThread->ResumeThread();
            117?}
            118?
            119?//?處理線程消息
            120?LRESULT?CMainFrame::OnThreadProgress(WPARAM?wParam,?LPARAM?lParam)
            121?{
            122??UINT?nID?=?LOWORD(wParam);
            123??if(nID?==?CN_PROGRESS)
            124??{
            125???int?nProgress?=?(int)lParam;
            126???m_ProgressDlg.ShowWindow(SW_SHOW);
            127???m_ProgressDlg.m_ProgressCtrl.SetPos(nProgress);
            128??}
            129??else?if(nID?==?CN_DONE)
            130??{
            131???int?nSum?=?(int)lParam;
            132???m_ProgressDlg.ShowWindow(SW_HIDE);
            133??}
            134??return?0;
            135?}
            136?
            137?
            posted on 2006-11-18 16:38 獨孤九劍 閱讀(144) 評論(0)  編輯 收藏 引用 所屬分類: Visual C++ 8.0
            国内精品久久久久久久影视麻豆| 97久久精品无码一区二区| 综合久久国产九一剧情麻豆| 国产一级持黄大片99久久| 无码日韩人妻精品久久蜜桃 | 国产无套内射久久久国产| 亚洲国产成人久久一区久久| 日韩AV毛片精品久久久| 久久精品国产亚洲AV香蕉| 久久精品国产99久久久| 99久久99久久精品国产片果冻| 久久久WWW成人免费精品| 久久综合亚洲色HEZYO社区| 色综合久久久久综合99| 久久99热这里只有精品66| 久久久久se色偷偷亚洲精品av| 久久国产高清字幕中文| 91久久婷婷国产综合精品青草| 国产福利电影一区二区三区久久久久成人精品综合 | 久久国产精品成人片免费| 国产精品久久网| 色老头网站久久网| 国产叼嘿久久精品久久| 久久精品国产亚洲av日韩| 久久伊人五月天论坛| 亚洲国产精品一区二区久久| 亚洲午夜无码久久久久| 色99久久久久高潮综合影院| 精品999久久久久久中文字幕| 中文字幕乱码人妻无码久久| 亚洲国产成人久久综合野外| 色噜噜狠狠先锋影音久久| 久久青青草原精品国产| 久久久午夜精品福利内容| 久久人人爽人爽人人爽av | 久久av无码专区亚洲av桃花岛| 品成人欧美大片久久国产欧美| 狠狠干狠狠久久| 韩国三级大全久久网站| 亚洲嫩草影院久久精品| 99久久国产综合精品成人影院|