📄 systeminfo.cpp
字号:
else
{
//SetCursor(LoadCursor(NULL, IDC_WAIT));
DialogBox(g_hInstance, (LPCTSTR)IDD_APPLICATION, hWnd,ApplicationProc);
//SetCursor(NULL);
}
}
}
}
DWORD GetProgramIndex(POINT ptPos,LPDWORD pdwRow,LPDWORD pdwCol)
{
DWORD dwRet;
DWORD dwRow = ptPos.x/22;
DWORD dwCol = ptPos.y/22;
if(dwRow<9 && dwCol<3)
{
dwRet = dwCol*9+dwRow;
if(pdwRow&&pdwCol)
{
*pdwRow = dwRow;
*pdwCol = dwCol;
}
}
if(m_pList)
{
if(dwRet<m_pList->m_dwDataCount)
return dwRet;
}
return -1;
}
DWORD GetApplicationIndex(POINT ptPos,LPDWORD pdwRow,LPDWORD pdwCol)
{
DWORD dwRet;
DWORD dwRow = ptPos.x/22;
DWORD dwCol = 0;
if(dwRow<8)
{
dwRet = (dwCol<<3)+dwRow;
*pdwRow = dwRow;
*pdwCol = dwCol;
}
if(m_pApplicationMarked)
{
if((dwRet+(m_dwAppPage<<3))<m_pApplicationMarked->m_dwDataCount)
return dwRet;
}
return -1;
}
DWORD GetTaskIndex(POINT ptPos,LPDWORD pdwRow)
{
DWORD dwRet;
DWORD dwRow = ptPos.y/24;
dwRet = dwRow;
*pdwRow = dwRow;
if(m_pPoom)
{
if(dwRet<m_pPoom->m_dwDataCount)
return dwRet;
}
return -1;
}
DWORD GetLCDStatus()
{
HDC gdc;
VIDEO_POWER_MANAGEMENT vpm;
int iESC = GETPOWERMANAGEMENT;
gdc = GetDC(NULL);
if (ExtEscape(gdc, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&iESC, 0, NULL)==0)
{
ReleaseDC(NULL, gdc);
return -1;
}
else
{
vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
vpm.DPMSVersion = 0x0001;
ExtEscape(gdc, GETPOWERMANAGEMENT, 0, 0,
sizeof(VIDEO_POWER_MANAGEMENT),
(LPSTR)&vpm);
}
ReleaseDC(NULL, gdc);
return vpm.PowerState;
}
BOOL SetLCDStatus(VIDEO_POWER_STATE dwStatus)
{
HDC gdc;
VIDEO_POWER_MANAGEMENT vpm;
int iESC = SETPOWERMANAGEMENT;
gdc = GetDC(NULL);
if (ExtEscape(gdc, QUERYESCSUPPORT, sizeof(int), (LPCSTR)&iESC, 0, NULL)==0)
{
ReleaseDC(NULL, gdc);
return FALSE;
}
else
{
vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
vpm.DPMSVersion = 0x0001;
vpm.PowerState = dwStatus;
ExtEscape(gdc, SETPOWERMANAGEMENT,
vpm.Length, (LPCSTR) &vpm, 0, NULL);
}
ReleaseDC(NULL, gdc);
return TRUE;
}
void OnChildrenNotify(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
NMHDR* pnmhdr = (NMHDR*)lParam;
if (NM_CUSTOMDRAW == pnmhdr->code)
{/*
if(pnmhdr->idFrom == ID_LISTVIEW)
{
TODAYDRAWWATERMARKINFO dwi;
LPNMLVCUSTOMDRAW lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;
dwi.hdc = lpNMCustomDraw->nmcd.hdc;
GetClientRect(lpNMCustomDraw->nmcd.hdr.hwndFrom, &dwi.rc);
dwi.hwnd = lpNMCustomDraw->nmcd.hdr.hwndFrom;
SendMessage(g_hWndParent, TODAYM_DRAWWATERMARK, 0,(LPARAM)&dwi);
//NMLISTVIEW* pnmlv = (NMLISTVIEW*)lParam;
}*/
//TCHAR szMessage[32];
//wsprintf(szMessage,L"%d",m_dwIndex);
//MessageBox(NULL,szMessage,L"dfd",MB_OK);
}
}
void OnChildrenContext(HWND hWnd,WPARAM wParam,LPARAM lParam)
{
POINT ptPos;
ptPos.x = LOWORD(lParam);
ptPos.y = HIWORD(lParam);
ScreenToClient(hWnd,&ptPos);
m_dwIndex = GetProgramIndex(ptPos,&m_dwRow,&m_dwCol);
ListView_Update(GetDlgItem(hWnd,ID_LISTVIEW),0);
}
void OnHandMenuDrawItem(HWND hWnd,LPDRAWITEMSTRUCT lpDIS)
{
HICON hIcon = NULL;
COLORREF cr;
HFONT hftOld,hFont;
HBRUSH hbr,hbrOld;
LOGFONT lf;
//here for tasks and app
TCHAR szTitle[256];
TCHAR szTemp1[32];
TCHAR szTemp2[32];
TCHAR szTemp3[32];
TCHAR szTemp4[32];
POOMDATA *pPoomTemp;
if (lpDIS->itemState == ODS_SELECTED)
{
cr = GetSysColor(COLOR_HIGHLIGHT);
}
else
{
cr = GetSysColor(COLOR_MENU);
}
hbr = CreateSolidBrush (cr);
hbrOld =(HBRUSH) SelectObject(lpDIS->hDC,hbr);
FillRect (lpDIS->hDC, (LPRECT)&lpDIS->rcItem, hbr);
SelectObject(lpDIS->hDC,hbrOld);
DeleteObject ((HBRUSH) hbr);
SetTextColor(lpDIS->hDC,RGB(0,0,0));
if(lpDIS->itemID == ID_POPUPMENU_NAME)
{
cr = GetSysColor(RGB(192,192,192));
hbr = CreateSolidBrush (cr);
hbrOld =(HBRUSH) SelectObject(lpDIS->hDC,hbr);
FillRect (lpDIS->hDC, (LPRECT)&lpDIS->rcItem, hbr);
SelectObject(lpDIS->hDC,hbrOld);
DeleteObject ((HBRUSH) hbr);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfWeight = FW_BOLD;
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
SetTextColor(lpDIS->hDC,RGB(255,255,255));
SetBkMode(lpDIS->hDC,TRANSPARENT);
DWORD dwData = m_pList->m_dwDataCount-m_dwIndex-1;
DrawText(lpDIS->hDC,m_pList->GetIndexData(dwData)->szProcessName,-1,
&lpDIS->rcItem,DT_CENTER|DT_VCENTER);
//MoveToEx(lpDIS->hDC,0,20,NULL);
//LineTo(lpDIS->hDC,100,20);
}
else if(lpDIS->itemID == ID_POPUPMENU_ACTIVE)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_ACTIVE));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Active",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_POPUPMENU_STOP)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_STOP));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Stop",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_POPUPMENU_STOPALL)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_STOPALL));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Stop all",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_TASKAPP_DETAIL)
{
cr = GetSysColor(COLOR_MENU);
hbr = CreateSolidBrush (cr);
hbrOld =(HBRUSH) SelectObject(lpDIS->hDC,hbr);
FillRect (lpDIS->hDC, (LPRECT)&lpDIS->rcItem, hbr);
SelectObject(lpDIS->hDC,hbrOld);
DeleteObject ((HBRUSH) hbr);
hftOld = (HFONT)SelectObject(lpDIS->hDC,m_hNormalTodayFont);
SetTextColor(lpDIS->hDC,GetSysColor(COLOR_HIGHLIGHT));
SetBkMode(lpDIS->hDC,TRANSPARENT);
pPoomTemp = m_pPoom->GetIndexData(m_dwTaskIndex+m_dwPage*4);
if(pPoomTemp)
{
if(pPoomTemp->dwType==0)
{
LoadString(g_hInstance,IDS_PRIORITY_LOW+pPoomTemp->pTask->dwImportance,szTemp1,32);
if(pPoomTemp->pTask->bCompleted)
LoadString(g_hInstance,IDS_BOOL_COM,szTemp2,32);
else
LoadString(g_hInstance,IDS_BOOL_UCOM,szTemp2,32);
LoadString(g_hInstance,IDS_SEN_NORMAL+pPoomTemp->pTask->dwSensitivity,szTemp3,32);
wsprintf(szTitle,L"Priority:%s Status:%s Sensitivity:%s",
szTemp1,szTemp2,szTemp3);
}
else
{
if(pPoomTemp->pAppointment->bAllDay)
LoadString(g_hInstance,IDS_BOOL_DAY,szTemp1,32);
else
LoadString(g_hInstance,IDS_BOOL_UDAY,szTemp1,32);
LoadString(g_hInstance,IDS_STATUS_FREE+pPoomTemp->pAppointment->dwBusyStatus,szTemp2,32);
LoadString(g_hInstance,IDS_MEET_NON+pPoomTemp->pAppointment->dwMeetingStatus,szTemp3,32);
LoadString(g_hInstance,IDS_SEN_NORMAL+pPoomTemp->pAppointment->dwSensitivity,szTemp4,32);
wsprintf(szTitle,L"All Day:%s Status:%s,%s Sensitivity:%s",
szTemp1,szTemp2,szTemp3,szTemp4);
}
DrawText(lpDIS->hDC,szTitle,-1,&lpDIS->rcItem,DT_LEFT|DT_VCENTER);
}
}
else if(lpDIS->itemID == ID_POPUPAPP_NAME)
{
cr = GetSysColor(RGB(192,192,192));
hbr = CreateSolidBrush (cr);
hbrOld =(HBRUSH) SelectObject(lpDIS->hDC,hbr);
FillRect (lpDIS->hDC, (LPRECT)&lpDIS->rcItem, hbr);
SelectObject(lpDIS->hDC,hbrOld);
DeleteObject ((HBRUSH) hbr);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfWeight = FW_BOLD;
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
SetTextColor(lpDIS->hDC,RGB(255,255,255));
SetBkMode(lpDIS->hDC,TRANSPARENT);
DWORD dwData = m_dwAppIndex+(m_dwAppPage<<3);
DrawText(lpDIS->hDC,m_pApplicationMarked->GetIndexData(dwData)->szProgramName,-1,
&lpDIS->rcItem,DT_CENTER|DT_VCENTER);
//MoveToEx(lpDIS->hDC,0,20,NULL);
//LineTo(lpDIS->hDC,100,20);
}
else if(lpDIS->itemID == ID_POPUPAPP_RUN)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_ACTIVE));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Run item",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_POPUPAPP_REMOVE)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_STOP));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Remove item",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_POPUPAPP_REMOVEALL)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_STOPALL));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Remove all items",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
else if(lpDIS->itemID == ID_POPUPAPP_ADD)
{
hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_SET_ITEM));
DrawIcon(lpDIS->hDC,lpDIS->rcItem.left+2,lpDIS->rcItem.top+1,hIcon);
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), &lf);
lf.lfHeight = 13;
hFont = (HFONT)CreateFontIndirect(&lf);
hftOld = (HFONT)SelectObject(lpDIS->hDC,hFont);
lpDIS->rcItem.left+=21;
DrawText(lpDIS->hDC,L"Set items...",-1,&lpDIS->rcItem,DT_LEFT|DT_SINGLELINE|DT_VCENTER);
}
SelectObject(lpDIS->hDC,hftOld);
DeleteObject(hFont);
if(hIcon)
DestroyIcon(hIcon);
}
HWND AddDateTimePickerControl(HWND hWnd,int ix,int iy,int iWidth,int iHeight,UINT uiID,BOOL bOwnerDraw)
{
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(icex);
icex.dwICC = ICC_DATE_CLASSES;
InitCommonControlsEx(&icex);
HWND hDateTimeWnd = CreateWindow( L"SysDateTimePick32", L"",
WS_CHILD | WS_VISIBLE |
DTS_RIGHTALIGN | DTS_SHORTDATECENTURYFORMAT ,
ix,
iy,
iWidth,
iHeight,
hWnd,
(HMENU) ID_DATETIME,
g_hInstance, NULL );
SYSTEMTIME st;
GetLocalTime(&st);
DateTime_SetSystemtime(hDateTimeWnd,GDT_VALID,&st);
ShowWindow(hDateTimeWnd,SW_HIDE);
return hDateTimeWnd;
}
HWND AddStaticControl(HWND hWnd,int ix,int iy,int iWidth,int iHeight,UINT uiID,BOOL bOwnerDraw)
{
DWORD dwFlags = WS_CHILD | WS_VISIBLE | SS_LEFT;
//if(bOwnerDraw)
//dwFlags |= BS_OWNERDRAW;
HWND hRet = CreateWindow( L"Static", L"",
dwFlags,
ix,
iy,
iWidth,
iHeight,
hWnd,
(HMENU)ID_OWNERINFO,
g_hInstance, NULL);
return hRet;
}
BOOL GetTaskAndAppointment()
{
if(m_pPoom)
{
delete m_pPoom;
m_pPoom = NULL;
}
m_pPoom = new CPoomList();
if(!InitPoom())
return FALSE;
int dwCount = 0;
TASKDATA *pTaskTemp;
POOMDATA *pPoomTemp;
APPOINTMENTDATA *pAppTemp;
//here to do get poom task data
IFolder * pFolder = NULL;
IPOutlookItemCollection * pItemCol = NULL;
ITask * pTask = NULL;
IAppointment * pAppoinment = NULL;
BSTR bstrSubject;
DATE dueDate;
VARIANT_BOOL bComplete;
//here get tasks
if(!GetPoomFolder(olFolderTasks, &pFolder))
return FALSE;
pFolder->get_Items(&pItemCol);
pItemCol->get_Count(&dwCount);
for(int i=1;i<=dwCount;i++)
{
pPoomTemp = (POOMDATA*)malloc(sizeof(POOMDATA));
pTaskTemp = (TASKDATA*)malloc(sizeof(TASKDATA));
pItemCol->Item(i, (IDispatch**)&pTask);
pTask->get_Subject(&bstrSubject);
wsprintf(pTaskTemp->szSubject,L"%s",bstrSubject);
pTask->get_Importance(&pTaskTemp->dwImportance);
pTask->get_Complete(&bComplete);
pTaskTemp->bCompleted = bComplete;
pTask->get_DueDate(&dueDate);
VariantTimeToSystemTime(dueDate,&pTaskTemp->sysDueDate);
pTask->get_Sensitivity(&pTaskTemp->dwSensitivity);
pPoomTemp->dwType = 0; //0--Task
pPoomTemp->pAppointment = NULL;
pPoomTemp->dwPoomId = i;
pPoomTemp->pTask = pTaskTemp;
if(m_pPoom)
m_pPoom->AddDataToList(pPoomTemp);
pTask->Release();
}
pItemCol->Release();
pFolder->Release();
//here get app
if(!GetPoomFolder(olFolderCalendar, &pFolder))
return FALSE;
pFolder->get_Items(&pItemCol);
pItemCol->get_Count(&dwCount);
for(int j=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -