win32系统信息获取

win32系统信息获取

 1 #include <Windows.h>
 2 #include "resource.h"
 3 #include <strsafe.h>
 4 
 5 
 6 PTSTR BigNumToString(LONG lNum, PTSTR szBuf, DWORD chBufSize)
 7 {
 8     TCHAR szNum[100];
 9     StringCchPrintf(szNum,_countof(szNum),TEXT("%d"),lNum);
10 
11     NUMBERFMT nf;
12     nf.NumDigits = 0;
13     nf.LeadingZero = FALSE;
14     nf.Grouping = 3;
15     nf.lpDecimalSep = TEXT(".");
16     nf.lpThousandSep = TEXT(",");
17     nf.NegativeOrder = 0;
18     GetNumberFormat(LOCALE_USER_DEFAULT,0,szNum,&nf,szBuf,chBufSize);
19     
20     return szBuf;
21 }
22 
23 INT_PTR CALLBACK MainDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
24 {
25     BOOL bRet = TRUE;
26 
27     switch(uMsg)
28     {
29     case WM_INITDIALOG:
30 
31         SYSTEM_INFO sinf;
32         GetSystemInfo(&sinf);
33         
34         TCHAR szBuf[50];
35         
36         SetDlgItemText(hDlg,IDC_PAGESIZE,BigNumToString(sinf.dwPageSize,szBuf,_countof(szBuf)));
37         
38         StringCchPrintf(szBuf,_countof(szBuf),TEXT("%p"),sinf.lpMinimumApplicationAddress);
39         SetDlgItemText(hDlg,IDC_MINAPPADDR,szBuf);
40         StringCchPrintf(szBuf,_countof(szBuf),TEXT("%p"),sinf.lpMaximumApplicationAddress);
41         SetDlgItemText(hDlg,IDC_MAXAPPADDR,szBuf);
42 
43         SetDlgItemText(hDlg,IDC_ALLOCGRAN,BigNumToString(sinf.dwAllocationGranularity,szBuf,_countof(szBuf)));
44 
45         break;
46     case WM_CLOSE:
47         EndDialog(hDlg,0);
48         break;
49     default:
50         bRet = FALSE;
51         break;
52     }
53 
54     return bRet;
55 }
56 
57 int APIENTRY wWinMain(HINSTANCE hInstance,
58     HINSTANCE hPrevInstance,
59     LPTSTR lpCmdLine,
60     int nCmdShow)
61 {
62     DialogBox(hInstance,MAKEINTRESOURCE(IDD_MAIN),NULL,MainDlgProc);
63     return 0;
64 }

 

win32系统信息获取

上一篇:Elasticsearch 快速入门


下一篇:C# Socket连接请求超时机制