⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systeminfo.cpp

📁 用来显示PDA的系统信息,控制PDA的动作 today pugin程序.
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			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 + -