日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

周报_2012第11周(2012/03/11-2012/03/17)

發(fā)布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 周报_2012第11周(2012/03/11-2012/03/17) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

項目:X保密項目

2012.03.12

// Win XP 需要判斷取消操作.??? By lishupeng@360.cn 2012/03/12 11:49.
??? if (FileOp.fAnyOperationsAborted)
??? {
??????? bRet = FALSE;
??? }

?

const int gcn_SEC_DELAY = 100;??? // 等待 HTTP Download 下載線程處理網(wǎng)絡(luò)數(shù)據(jù)。
??????????????????????????????? // By lishuepng@360.cn 2012/03/12 16:37

if (Report(STAT_*))
??????????? {
??????????????? ShowWindow(SW_HIDE);
??????????????? Delay(gcn_SEC_DELAY);
??????????????? PostMessage(WM_CLOSE);
??????????????? //TerminateProcess(GetCurrentProcess(),0);

??????????????? //PostQuitMessage(-1);
??????????????? //TerminateProcess(GetCurrentProcess(),0);
??????????? }

?

2012.03.13

\BackUp\import.fg 配置文件 –> \AppData\Roaming\360Desktop

?

2012.03.14

// DRAWENTIRE時窗口句柄為空。 RedrawWindow時窗口句柄有效。
??????????? //m_wndMenu = ::WindowFromDC(lpDIS->hDC);
??????????? //::GetWindowRect(m_wndMenu, &rectTmp);

?

if (ODA_SELECT == lpDIS->itemAction)
{
??? // 菜單高度超過屏幕高度時,菜單項位置會變化,每次選中時需要保存菜單項位置。
??? m_wndMenu = ::WindowFromDC(lpDIS->hDC);
???
??? // 獲取菜單的裁剪區(qū)域
??? ::GetClipBox(lpDIS->hDC, &rectTmp);
???
??? // 判斷菜單是否被裁剪,如果被裁剪則計算頂端偏移位置。(20像素為菜單頂端和底端箭頭按鈕的高度)
??? int nTopOffset = rectTmp.top ? 20 - rectTmp.top : 0;
???
??? ::GetWindowRect(m_wndMenu, &rectTmp);
??? // 系統(tǒng)內(nèi)置 V:3 像素邊框
??? rectTmp.top??? = rectTmp.top + lpDIS->rcItem.top + gcn_COLOR_MARGIN_TOP + 3 + nTopOffset;
??? rectTmp.bottom = rectTmp.top + bmpInfo.bmHeight;
??? // 系統(tǒng)內(nèi)置 H:4 像素邊框
??? rectTmp.left += 4;
??? m_vecIconRect.clear();
??? for (int i = 0; i < s_nColorMenuItemCnt; ++i)
??? {
??????? rectTmp.left = rectTmp.left + gcn_COLOR_MARGIN_H;???????????????
??????? rectTmp.right = rectTmp.left + bmpInfo.bmWidth;???????????????
??????? m_vecIconRect.push_back(rectTmp);
??? }

??? // 鼠標(biāo)進入熱區(qū)后截獲環(huán)境菜單的窗口過程。??? Added by Li Shupeng 2012\02\29 22:13.
??? if (s_pCurMenuProc == NULL)
??? {
??????? this->PostMessageW(UDM_CONTEXTMENU_HOOK, WPARAM(m_wndMenu), NULL);
??? }
}

?

LRESULT CFolderView::OnMeasureItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& b_ret)
{???
??? int nIDCtl = (UINT)wParam;
??? LPMEASUREITEMSTRUCT lpDrawItemStruct = (LPMEASUREITEMSTRUCT)lParam;

??? // Windows XP 下判斷控件類型: 菜單項 TEXT_BKCOLOR_COMMAND_IDBASE(區(qū)別 Notepad++ 的自繪菜單項)
??? if (ODT_MENU == lpDrawItemStruct->CtlType && TEXT_BKCOLOR_COMMAND_IDBASE == lpDrawItemStruct->itemID)


}

?

LRESULT CFolderView::OnDrawItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& b_ret)
{
??? int nCtrlID = (UINT)wParam;
??? LPDRAWITEMSTRUCT lpDIS = (LPDRAWITEMSTRUCT)lParam;???

??? // Windows XP 下判斷控件類型: 菜單項 TEXT_BKCOLOR_COMMAND_IDBASE(區(qū)別 Notepad++ 的自繪菜單項)
??? if (ODT_MENU == lpDIS->CtlType && TEXT_BKCOLOR_COMMAND_IDBASE == lpDIS->itemID)


}

?

2012.03.15

調(diào)查截圖操作異常:全屏的截圖進程啟動之后,再激活后臺進程窗口,截圖進程的窗口過程將不會再接收到鍵盤消息。

解決方案:創(chuàng)建線程監(jiān)控激活的進程窗口。

?

virtual BOOL PreTranslateMessage(MSG* pMsg)
{
??? if(pMsg->message==WM_KEYDOWN)
??? {
??????? HWND hWndLiveWriter = ::FindWindowW(_T("WindowsForms10.Window.8.app.0.33c0d9d"), NULL);
??????? switch ((int)pMsg->wParam)
??????? {
??????? case VK_ESCAPE:
??????????? Report(STAT_ESC);
??????????? ShowWindow(SW_HIDE);
??????????? Delay(gcn_SEC_DELAY);
??????????? PostMessage(WM_CLOSE);
??????????? return TRUE;
??????? case VK_SHIFT:???????????????
??????????? if (hWndLiveWriter)
??????????? {
??????????????? ::ShowWindow(hWndLiveWriter, SW_SHOW);
??????????? }
??????????? break;
??????? case VK_CONTROL:???????????????
??????????? if (hWndLiveWriter)
??????????? {
??????????????? ::SetForegroundWindow(m_hWnd);
??????????? }
??????????? break;
??????? }
??? }

??? if( CFrameWindowImpl<CMainFram>::PreTranslateMessage(pMsg) )
??? {
??????? return TRUE;
??? }
??? else
??? {
??????? return FALSE;
??? }
}

?

DWORD dwThreadId = 0;
g_hThreadActive = CreateThread(
??? NULL,?????????????????? // default security attributes
??? 0,????????????????????? // use default stack size?
??? MonitorActiveThread,??? // thread function name
??? wndMain.m_hWnd,???????? // argument to thread function
??? CREATE_SUSPENDED,?????? // use default creation flags
??? &dwThreadId);??????????? // returns the thread identifier
if (g_hThreadActive)
{
??? ResumeThread(g_hThreadActive);
}


?

if (g_hThreadActive)
{
??? TerminateThread(g_hThreadActive, 0);
??? CloseHandle(g_hThreadActive);
??? g_hThreadActive = NULL;
}

?

DWORD WINAPI MonitorActiveThread( LPVOID lpParam )
{
??? while (true)
??? {
??????? HWND hWndMainfrm = (HWND)lpParam;
??????? if (hWndMainfrm == NULL)
??????? {
??????????? break;
??????? }
??????? HWND hWndForeground = ::GetForegroundWindow();
??????? if (hWndForeground && (hWndMainfrm != hWndForeground))
??????? {
??????????? ::SetForegroundWindow(hWndMainfrm);
??????? }???????????????
??? }

??? return 0;
}

轉(zhuǎn)載于:https://www.cnblogs.com/DancingFish/archive/2012/03/12/2391554.html

總結(jié)

以上是生活随笔為你收集整理的周报_2012第11周(2012/03/11-2012/03/17)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。