GetSystemInfo, GetSystemTime, GetComputerName e GetUserName

  1 #include <windows.h>
  2  
  3  LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  4  
  5  HWND texto, texto2, texto3, texto4;
  6  
  7  int WINAPI WinMain(HINSTANCE hHinstance, HINSTANCE hInstance, LPSTR szCmdLine, int iCmdShow) {
  8      static   TCHAR szAppName[] = TEXT("AltWind");
  9      HWND     hwnd;
 10      MSG      msg;
 11      WNDCLASS wndclass;
 12  
 13      wndclass.style         = CS_HREDRAW | CS_VREDRAW;
 14      wndclass.lpfnWndProc   = WndProc;
 15      wndclass.cbClsExtra    = 0;
 16      wndclass.cbWndExtra    = 0;
 17      wndclass.hInstance     = hInstance;
 18      wndclass.hIcon         = LoadIcon(NULL, IDI_WARNING);
 19      wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);
 20      wndclass.hbrBackground = GetSysColorBrush(COLOR_INFOBK);
 21      wndclass.lpszMenuName  = NULL;
 22      wndclass.lpszClassName = szAppName;
 23  
 24      if(!RegisterClass(&wndclass)) {
 25          MessageBox(NULL, TEXT("Program requires Windows NT"), szAppName, MB_ICONERROR);
 26          return 0;
 27      }
 28  
 29      hwnd = CreateWindow(
 30          szAppName, TEXT("Propriedades"), WS_OVERLAPPEDWINDOW,
 31          CW_USEDEFAULT, CW_USEDEFAULT, 400, 300,
 32          NULL, NULL, hInstance, NULL
 33      );
 34  
 35      ShowWindow(hwnd, iCmdShow);
 36      UpdateWindow(hwnd);
 37  
 38      while(GetMessage(&msg, NULL, 0, 0)) {
 39          TranslateMessage(&msg);
 40          DispatchMessage (&msg);
 41      }
 42      return 0;
 43  }
 44  
 45  LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
 46      switch(message) {
 47          case WM_CREATE:
 48              texto = CreateWindow(
 49                  TEXT("edit"), TEXT(""), WS_VISIBLE | WS_CHILD | WS_BORDER,
 50                  10, 40, 120, 20,
 51                  hwnd, NULL, NULL, NULL
 52              );
 53              CreateWindow(
 54                  TEXT("button"), TEXT("Usuario - GetUserName"), WS_VISIBLE | WS_CHILD | WS_BORDER,
 55                  140, 40, 220, 20,
 56                  hwnd, 1, NULL, NULL
 57              );
 58  
 59              texto2 = CreateWindow(
 60                  TEXT("edit"), TEXT(""), WS_VISIBLE | WS_CHILD | WS_BORDER,
 61                  10, 100, 120, 20,
 62                  hwnd, NULL, NULL, NULL
 63              );
 64              CreateWindow(
 65                  TEXT("button"), TEXT("Computer - GetComputerName"), WS_VISIBLE | WS_CHILD | WS_BORDER,
 66                  140, 100, 220, 20,
 67                  hwnd, 2, NULL, NULL
 68              );
 69  
 70              texto3 = CreateWindow(
 71                  TEXT("edit"), TEXT(""), WS_VISIBLE | WS_CHILD | WS_BORDER,
 72                  10, 160, 120, 20,
 73                  hwnd, NULL, NULL, NULL
 74              );
 75              CreateWindow(
 76                  TEXT("button"), TEXT("SYSTEMTIME"), WS_VISIBLE | WS_CHILD | WS_BORDER,
 77                  140, 160, 220, 20,
 78                  hwnd, 3, NULL, NULL
 79              );
 80  
 81              texto4 = CreateWindow(
 82                  TEXT("edit"), TEXT(""), WS_VISIBLE | WS_CHILD | WS_BORDER,
 83                  10, 220, 120, 20,
 84                  hwnd, NULL, NULL, NULL
 85              );
 86              CreateWindow(
 87                  TEXT("button"), TEXT("SYSTEM_INFO"), WS_VISIBLE | WS_CHILD | WS_BORDER,
 88                  140, 220, 220, 20,
 89                  hwnd, 4, NULL, NULL
 90              );
 91              return 0;
 92          case WM_COMMAND:
 93              if(LOWORD(wParam)==1) {
 94                  char buffer[256];
 95                  DWORD size;
 96                  size = 256;
 97                  GetUserName(buffer, &size);
 98                  SetWindowText(texto, buffer);
 99              }
100              if(LOWORD(wParam)==2) {
101                  char buffer2[256];
102                  DWORD size2;
103                  size2 = 256;
104                  GetComputerName(buffer2, &size2);
105                  SetWindowText(texto2, buffer2);
106              }
107              if(LOWORD(wParam)==3) {
108                  SYSTEMTIME st;
109                  GetSystemTime(&st);
110  
111                  int stime = &st;
112  
113                  char wh[500];
114  
115                  itoa(stime, wh, 10);
116  
117                  SetWindowText(texto3, wh);
118              }
119              if(LOWORD(wParam)==4) {
120                  SYSTEM_INFO si;
121                  GetSystemInfo(&si);
122  
123                  int sInfo = &si;
124  
125                  char sI[500];
126  
127                  itoa(sInfo, sI, 10);
128  
129                  SetWindowText(texto4, sI);
130              }
131              return 0;
132          case WM_DESTROY:
133              PostQuitMessage(0);
134              return 0;
135      }
136      return DefWindowProc(hwnd, message, wParam, lParam);
137  }

Comentários