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

📄 systeminfo.cpp

📁 用来显示PDA的系统信息,控制PDA的动作 today pugin程序.
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		break;
	case 3:	//name
		break;
	case 4: //active
		hWndFore = m_pList->GetIndexData(m_pList->m_dwDataCount-m_dwIndex-1)->hProcessWnd;
		ShowWindow(hWndFore,SW_SHOW);
		SetForegroundWindow((HWND)((ULONG) hWndFore | 0x00000001));
		break;
	case 5: //sep
		break;
	case 6: //stop
		dwProcessId = m_pList->GetIndexData(m_pList->m_dwDataCount-m_dwIndex-1)->dwProcessId;
		hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE,dwProcessId);
		if (hProcess == NULL)
		{
			MessageBox(hWnd,L"Open Process Failed!",L"Error",MB_OK | MB_ICONERROR);
			break;
		}
		if (!TerminateProcess(hProcess, 1)) 
		{ 
			CloseHandle(hProcess);
			MessageBox(hWnd,L"Terminate Process Failed!",L"Error",MB_OK | MB_ICONERROR);
            break; 
        }
		CloseHandle(hProcess);
		m_dwIndex = -1;
		GetClientRect(hWnd,&rc);
		rc.bottom=72;
		//GetRunningPrograms();
		InvalidateRect(hWnd,&rc,FALSE);
		UpdateWindow(hWnd);
		
		break;
	case 7: //stop all
		for(int i=0;i<m_pList->m_dwDataCount;i++)
		{
			dwProcessId = m_pList->GetIndexData(i)->dwProcessId;
			hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE,dwProcessId);
			if (hProcess == NULL)
			{
				dwError = GetLastError();
				if(dwError != ERROR_INVALID_PARAMETER)
				{
					MessageBox(hWnd,L"Open Process Failed!",L"Error",MB_OK | MB_ICONERROR);
					break;
				}
			}
			else
			{
				if (!TerminateProcess(hProcess, 1)) 
				{ 
					CloseHandle(hProcess);
					MessageBox(hWnd,L"Terminate Process Failed!",L"Error",MB_OK | MB_ICONERROR);
					break; 
				}
				CloseHandle(hProcess);
			}
		}
		m_dwIndex = -1;
		GetClientRect(hWnd,&rc);
		rc.bottom=72;
		//GetRunningPrograms();
		InvalidateRect(hWnd,&rc,FALSE);
		UpdateWindow(hWnd);
		
		break;

	case 16:// 0x8910-8900 ID_TASK_UP
		m_dwPage--;
		if(m_dwPage<=0)
		{
			m_dwPage = 0;
			EnableWindow(GetDlgItem(hWnd,ID_TASK_UP),FALSE);
		}
		m_dwTaskIndex =-1;
		InvalidateRect(hWnd,NULL,TRUE);
		UpdateWindow(hWnd);
		break;
	case 17:	//ID_TASK_DOWN
		m_dwPage++;
		if(m_dwPage>=(m_pPoom->m_dwDataCount>>2))
		{
			m_dwPage = (m_pPoom->m_dwDataCount>>2);
			EnableWindow(GetDlgItem(hWnd,ID_TASK_DOWN),FALSE);
		}
		m_dwTaskIndex =-1;
		InvalidateRect(hWnd,NULL,TRUE);
		UpdateWindow(hWnd);
		break;
	case 18: //+
		OnTaskAdd(hWnd);
		break;
	case 19: //-
		OnTaskDelete(hWnd,m_dwTaskIndex);
		m_dwTaskIndex =-1;
		InvalidateRect(hWnd,NULL,TRUE);
		UpdateWindow(hWnd);
		break;
	case 20: //edit
		OnTaskEdit(hWnd,m_dwTaskIndex);
		InvalidateRect(hWnd,NULL,TRUE);
		UpdateWindow(hWnd);
		break;
	case 21: //ID_APP_LEFT
		m_dwAppPage--;
		if(m_dwAppPage<=0)
		{
			m_dwAppPage = 0;
			EnableWindow(GetDlgItem(hWnd,ID_APP_LEFT),FALSE);
		}
		m_dwAppIndex =-1;
		GetClientRect(hWnd,&rc);
		rc.left=0;rc.top=73;
		InvalidateRect(hWnd,&rc,TRUE);
		UpdateWindow(hWnd);
		break;
	case 22: //ID_APP_RIGHT
		m_dwAppPage++;
		if(m_dwAppPage>=((m_pApplicationMarked->m_dwDataCount)>>3))
		{
			m_dwAppPage = (m_pApplicationMarked->m_dwDataCount)>>3;
			EnableWindow(GetDlgItem(hWnd,ID_APP_RIGHT),FALSE);
		}
		m_dwAppIndex =-1;
		GetClientRect(hWnd,&rc);
		rc.left=0;rc.top=73;
		InvalidateRect(hWnd,&rc,TRUE);
		UpdateWindow(hWnd);
		break;
	case 23: //name
		break;
	case 24: //run
		if(m_pApplicationMarked)
		{
			TCHAR	szPath[MAX_PATH];
			wsprintf(szPath,L"\\windows\\%s.exe",m_pApplicationMarked->GetIndexData(m_dwAppIndex+(m_dwAppPage<<3))->szProcessName);
			if(lstrcmp(szPath,L"\\windows\\poutlook.exe")==0)
				CreateProcess(szPath, L"contacts", NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL);
			else
				CreateProcess(szPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, NULL, NULL);
		}
		break;
	case 25: //remove it
		if(m_pApplicationMarked)
		{
			m_pApplicationMarked->RemoveDataFromList(m_dwAppIndex+(m_dwAppPage<<3),FALSE);
			m_dwAppIndex =-1;
			GetClientRect(hWnd,&rc);
			rc.left=0;rc.top=73;
			InvalidateRect(hWnd,&rc,TRUE);
			UpdateWindow(hWnd);
		}
		break;
	case 32: //remove all
		if(m_pApplicationMarked)
		{
			delete m_pApplicationMarked;
			m_pApplicationMarked = NULL;
			m_dwAppIndex =-1;
			GetClientRect(hWnd,&rc);
			rc.left=0;rc.top=73;
			InvalidateRect(hWnd,&rc,TRUE);
			UpdateWindow(hWnd);
		}
		break;
	case 33: //sep
		break;
	case 34: //dlg
		//SetCursor(LoadCursor(NULL, IDC_WAIT));
		DialogBox(g_hInstance, (LPCTSTR)IDD_APPLICATION, hWnd,ApplicationProc);
		//SetCursor(NULL);
		break; 
	default:
		break;
	}
}

void	PaintPage1(HWND hWnd,HDC hdc)
{
	TCHAR	szOwnerInfo[64];
	TCHAR	szProcessorInfo[64];
	DWORD	dwSize = sizeof(PROCESSOR_INFO);
	PROCESSOR_INFO	processorInfo;
	RECT	rc;
	HFONT	hOldFont;
	LPCTSTR	m_strName=L"";
	LPCTSTR m_strCompany=L"";
	LPCTSTR m_strAddress = L"";
	LPCTSTR m_strTelephone=L"";
	LPCTSTR m_strEmail=L"";

	HKEY	hKey;
	DWORD dwDisposition; 
	RegCreateKeyEx( 
	HKEY_CURRENT_USER, 
	TEXT("\\ControlPanel\\Owner"), 
	0, 
	NULL, 
	0, 
	0, 
	NULL, 
	&hKey, 
	&dwDisposition); 

	DWORD dwType = REG_BINARY;

	DWORD dwOwnerSize  = 0x300 ; 
	WCHAR *Owner = new WCHAR[dwOwnerSize>>1];
	memset(Owner, 0x00, dwOwnerSize); 

	if (RegQueryValueEx( 
		hKey, 
		TEXT("Owner"),  
		0, 
		&dwType, 
		(PBYTE)Owner, 
		&dwOwnerSize 
	) == ERROR_SUCCESS) 
	{ 
	m_strName  = (LPCTSTR) Owner;
	m_strCompany = (LPCTSTR) (Owner + 0x24);
	m_strAddress  = (LPCTSTR) ( Owner + 0x48);
	m_strTelephone = (LPCTSTR) ( Owner + 0x102);
	m_strEmail = (LPCTSTR) (Owner  + 0x11B);
	RegCloseKey(hKey);
	}

	GetClientRect(hWnd,&rc);
	rc.bottom = 48;

	if(lstrcmp(m_strName,L"")==0)
		m_strName=L"not set";
	if(lstrcmp(m_strCompany,L"")==0)
		m_strCompany=L"Not set";

	wsprintf(szOwnerInfo,L"Owner: %s, %s",m_strCompany,m_strName);

	if(KernelIoControl(IOCTL_PROCESSOR_INFORMATION,NULL,0,&processorInfo,sizeof(PROCESSOR_INFO),&dwSize))
		wsprintf(szProcessorInfo,L"Processor: %s, %s, %dMHz",processorInfo.szProcessCore,processorInfo.szProcessorName,processorInfo.dwClockSpeed);
	else
		wsprintf(szProcessorInfo,L"Processor: %s",L"Unknown");

	hOldFont = (HFONT)SelectObject(hdc,m_hBoldTodayFont);
	SetTextColor(hdc,RGB(255,255,255));
	SetBkMode(hdc,TRANSPARENT);
	DrawText(hdc,szOwnerInfo,-1,&rc,DT_LEFT|DT_TOP);
	rc.top=16;
	DrawText(hdc,szProcessorInfo,-1,&rc,DT_LEFT|DT_TOP);
	SelectObject(hdc,hOldFont);

}
void	PaintPage2(HWND hWnd,HDC hdc)
{
	TCHAR	szMonth[16],szWeek[32];
	SYSTEMTIME	sysDateTime;
	HFONT	hOldFont;
	TCHAR	szIndicate[32];
	float   fValue;
	RECT	rcFill;
	float	fPer;
	DWORD	dwPer;
	DWORD	dwTotal,dwAvail;
	HICON	hIcon;
	hOldFont=(HFONT)SelectObject(hdc,m_hSmallTodayFont);
	SetTextColor(hdc,RGB(255,255,255));
	SetBkMode(hdc,TRANSPARENT);
	//draw icon
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_MEMORY));
	DrawIcon(hdc,3,3,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_STORAGE));
	DrawIcon(hdc,3,27,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_SDCARD));
	DrawIcon(hdc,3,51,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_BATTERY));
	DrawIcon(hdc,3,75,hIcon);
	/*
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_BACKLIGHT));
	DrawIcon(hdc,70,3,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_LED));
	DrawIcon(hdc,70,27,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_VIBRATE));
	DrawIcon(hdc,70,51,hIcon);
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_TEMPATURE));
	DrawIcon(hdc,70,75,hIcon);*/
	//draw bar this is 30 pixels long
	hIcon = LoadIcon(g_hInstance,MAKEINTRESOURCE(IDI_BAR));
	//program memory
	DrawIcon(hdc,25,5,hIcon);
	GetProgramMemory(&dwTotal,&dwAvail);
	fPer = (float)(dwTotal-dwAvail)/(float)dwTotal;
	rcFill.left = 26;rcFill.top = 6;rcFill.bottom = 15;rcFill.right = rcFill.left+(30*fPer);
	FillRect(hdc,&rcFill,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
	rcFill.left = 26;rcFill.top = 6;rcFill.bottom = 15;rcFill.right = rcFill.left+30;
	fValue = (float)(dwTotal-dwAvail)/(float)1048576;
	wsprintf(szIndicate,L"%.1fM",fValue);
	DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	//storage memory
	DrawIcon(hdc,25,29,hIcon);
	if(GetStorageMemory(&dwTotal,&dwAvail))
	{
		fPer = (float)(dwTotal-dwAvail)/(float)dwTotal;
		rcFill.left = 26;rcFill.top = 30;rcFill.bottom = 39;rcFill.right = rcFill.left+(30*fPer);
		FillRect(hdc,&rcFill,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
		rcFill.left = 26;rcFill.top = 30;rcFill.bottom = 39;rcFill.right = rcFill.left+30;
		fValue = (float)(dwTotal-dwAvail)/(float)1048576;
		wsprintf(szIndicate,L"%.1fM",fValue);
		DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	}
	//sd card memory
	DrawIcon(hdc,25,53,hIcon);
	if(GetSDCardMemory(&dwTotal,&dwAvail))
	{
		fPer = (float)(dwTotal-dwAvail)/(float)dwTotal;
		rcFill.left = 26;rcFill.top = 54;rcFill.bottom = 63;rcFill.right = rcFill.left+(30*fPer);
		FillRect(hdc,&rcFill,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
		rcFill.left = 26;rcFill.top = 54;rcFill.bottom = 63;rcFill.right = rcFill.left+30;
		fValue = (float)(dwTotal-dwAvail)/(float)1048576;
		wsprintf(szIndicate,L"%.1fM",fValue);
		DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	}
	else
	{
		rcFill.left = 26;rcFill.top = 54;rcFill.bottom = 63;rcFill.right = rcFill.left+30;
		wsprintf(szIndicate,L"%s",L"?");
		DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	}
	//power percent
	DrawIcon(hdc,25,77,hIcon);
	if(GetBattery(&dwPer))
	{
		fPer = (float)(dwPer)/(float)100;
		rcFill.left = 26;rcFill.top = 78;rcFill.bottom = 87;rcFill.right = rcFill.left+(30*fPer);
		FillRect(hdc,&rcFill,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
		rcFill.left = 26;rcFill.top = 78;rcFill.bottom = 87;rcFill.right = rcFill.left+30;
		wsprintf(szIndicate,L"%d%s",dwPer,L"%");
		DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	}
	/*
	//backlight brightness
	DrawIcon(hdc,91,5,hIcon);
	if(GetBacklight(&dwPer))
	{
		fPer = (float)(dwPer)/(float)100;
		rcFill.left = 92;rcFill.top = 6;rcFill.bottom = 15;rcFill.right = rcFill.left+(30*fPer);
		FillRect(hdc,&rcFill,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
		rcFill.left = 92;rcFill.top = 6;rcFill.bottom = 15;rcFill.right = rcFill.left+30;
	}
	//text size
	DrawIcon(hdc,91,29,hIcon);
	//system sound
	DrawIcon(hdc,91,53,hIcon);
	//tempature
	DrawIcon(hdc,91,77,hIcon);*/

	if(hIcon)
		DestroyIcon(hIcon);

	SelectObject(hdc,hOldFont);

	hOldFont=(HFONT)SelectObject(hdc,m_hBoldTodayFont);
	//set the date time
	GetDateTime(&sysDateTime);

	LoadString(g_hInstance,IDS_MONTH_JAN+sysDateTime.wMonth-1,szMonth,16);
	LoadString(g_hInstance,IDS_WEEK_SUN+sysDateTime.wDayOfWeek,szWeek,32);
	if(sysDateTime.wDay>9)
		wsprintf(szIndicate,L"%s %d, %d",szMonth,sysDateTime.wDay,sysDateTime.wYear);
	else
		wsprintf(szIndicate,L"%s %d%d, %d",szMonth,0,sysDateTime.wDay,sysDateTime.wYear);
	//draw the date text
	GetClientRect(hWnd,&rcFill);
	rcFill.left = 130;rcFill.top = 0;
	rcFill.bottom = 13;
	SetBkMode(hdc,TRANSPARENT);
	DrawText(hdc,szIndicate,-1,&rcFill,DT_CENTER|DT_VCENTER);
	rcFill.left = 130;rcFill.top = 13;
	rcFill.bottom = 26;
	DrawText(hdc,szWeek,-1,&rcFill,DT_CENTER|DT_VCENTER);

	SelectObject(hdc,hOldFont);
}
void	PaintPage3(HWND hWnd,HDC hdc)
{
	HFONT	hFontOld;
	GetRunningPrograms();
	RECT	rc;
	if(m_pList)
	{
		//if(m_dwIndex<m_pList->m_dwDataCount)
		{
			if(m_dwIndex!=-1)
			{
				rc.left = m_dwRow*22;
				rc.top = m_dwCol*22;
				rc.right = rc.left+22;
				rc.bottom = rc.top+22;
				FillRect(hdc,&rc,CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT)));
			}

			GetClientRect(hWnd,&rc);
			int	i=0,j=0;
			if(m_pList->m_dwDataCount>0)
			{
				PROGRAMDATA	*pTemp = m_pList->m_pDataLast;
				while(pTemp)
				{
					if((3+i*22)>(rc.right-20))
					{
						i=0;
						j++;
					}
					DrawIcon(hdc,3+i*22,3+j*22,pTemp->hProcessIcon);
					pTemp=pTemp->pPrev;
					i++;
				}
			}
			else
			{
				rc.left=0;rc.top=0;
				rc.bottom = 21;rc.right=200;
				SetBkMode(hdc,TRANSPARENT);
				hFontOld = (HFONT)SelectObject(hdc,m_hBoldTodayFont);
				SetTextColor(hdc,RGB(255,255,255));
				DrawText(hdc,L"No running programs",-1,&rc,DT_LEFT|DT_VCENTER);
				SelectObject(hdc,hFontOld);
			}
		}
	}

	HPEN hPen,hPenOld;
	hPen = CreatePen(PS_SOLID,0,GetSysColor(COLOR_HIGHLIGHT));
	hPenOld = (HPEN)SelectObject(hdc,hPen);
	RECT	rect;
	GetClientRect(hWnd,&rect);
	MoveToEx(hdc,0,72,NULL);
	LineTo(hdc,rect.right-5,72);
	SelectObject(hdc,hPenOld);
	if(hPen)
		DeleteObject(hPen);

	if(m_pApplicationMarked)
	{
		if(m_pApplicationMarked->m_dwDataCount<=APP_MAX)
		{
			ShowWindow(GetDlgItem(hWnd,ID_APP_LEFT),SW_HIDE);
			ShowWindow(GetDlgItem(hWnd,ID_APP_RIGHT),SW_HIDE);
			m_dwAppPage=0;
		}
		else
		{
			ShowWindow(GetDlgItem(hWnd,ID_APP_LEFT),SW_SHOW);
			ShowWindow(GetDlgItem(hWnd,ID_APP_RIGHT),SW_SHOW);

			if(m_dwAppPage>0)
				EnableWindow(GetDlgItem(hWnd,ID_APP_LEFT),TRUE);

			if(m_dwAppPage<((m_pApplicationMarked->m_dwDataCount)>>3)) //<m_pPoom->m_dwDataCount/4
				EnableWindow(GetDlgItem(hWnd,ID_APP_RIGHT),TRUE);
		}
		if(m_pApplicationMarked->m_dwDataCount>0)
		{
			if(m_dwAppIndex!=-1)
			{
				rc.left = m_dwAppRow*22;
				rc.top = m_dwAppCol*22+74;
				rc.right = rc.left+22;
				rc.bottom = rc.top+20;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -