Linguagem C - Shutdown(desligar PC)

Linguagem C - Shutdown(desligar PC)
#include <windows.h> #include "resource.h" #include <stdio.h> #include <time.h> #include <locale.h> #define BTN_SAIR 2 #define SHUTDOWN 11 LRESULT CALLBACK ProcJan(HWND, UINT, WPARAM, LPARAM); char szNomeAplic[] = "Principal"; HMENU menuP, sMenu; static HWND Lista; int WINAPI WinMain(HINSTANCE hCopia,HINSTANCE hCopiaAnt,LPSTR szLinhaCmd,int iCmdMostrar) { HWND hjan; MSG msg; WNDCLASS classjan; setlocale(LC_ALL, "ptb"); classjan.style = CS_HREDRAW | CS_VREDRAW; classjan.lpfnWndProc = ProcJan; classjan.cbClsExtra = 0; classjan.cbWndExtra = 0; classjan.hInstance = hCopia; classjan.hIcon = LoadIcon(hCopia, IDI_ICON); classjan.hCursor = LoadCursor(NULL, IDC_ARROW); classjan.hbrBackground = GetSysColorBrush(COLOR_INACTIVECAPTION); classjan.lpszMenuName = NULL; classjan.lpszClassName = szNomeAplic; if(!RegisterClass(&classjan)) { return 0; } hjan = CreateWindow( szNomeAplic, TITULO_EXTERNO, WS_OVERLAPPEDWINDOW, 600, 80, 500, 300, NULL, NULL, hCopia, NULL ); ShowWindow(hjan, SW_SHOWNORMAL); UpdateWindow(hjan); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage (&msg); } return msg.wParam; } LRESULT CALLBACK ProcJan(HWND hjan, UINT iMsg, WPARAM wParam, LPARAM lParam) { switch(iMsg) { case WM_CREATE: menuP = CreateMenu(); sMenu = CreateMenu(); AppendMenu(menuP, MF_POPUP, (UINT_PTR) sMenu, "Arquivo"); AppendMenu(menuP, MF_STRING, NULL, "Editar"); AppendMenu(menuP, MF_STRING, NULL, "Copiar"); AppendMenu(menuP, MF_STRING, 1, "Mudar Título"); AppendMenu(sMenu, MF_STRING, NULL, "SUB 1"); AppendMenu(sMenu, MF_STRING, NULL, "Camera"); AppendMenu(sMenu, MF_STRING, (HWND) SHUTDOWN, "Shutdown"); SetMenu(hjan, menuP); CreateWindow( TEXT("static"), DANIEL, WS_VISIBLE | WS_CHILD | ES_LEFT, 10, 20, 430, 70, hjan, NULL, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Cor 1"), WS_VISIBLE | WS_CHILD, 10, 100, 100, 20, hjan, 3, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Cor 2"), WS_VISIBLE | WS_CHILD, 120, 100, 100, 20, hjan, 4, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Cor 3"), WS_VISIBLE | WS_CHILD, 230, 100, 100, 20, hjan, 5, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Cor 4"), WS_VISIBLE | WS_CHILD, 340, 100, 100, 20, hjan, 6, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Tela(x, y)"), WS_VISIBLE | WS_CHILD, 10, 140, 100, 20, hjan, 7, NULL, NULL ); CreateWindow( TEXT("button"), TEXT("Sair"), WS_VISIBLE | WS_CHILD, 160, 140, 100, 20, hjan, (HWND) BTN_SAIR, NULL, NULL ); struct tm *ptr; time_t lt; lt = time(NULL); ptr = localtime(&lt); CreateWindow( TEXT("static"), asctime(ptr), WS_VISIBLE | WS_CHILD, 10, 180, 200, 20, hjan, NULL, NULL, NULL ); Lista = CreateWindow( /**static HWND Lista -> Declarado No escopo*/ "combobox",NULL,WS_CHILD|WS_TABSTOP|WS_VISIBLE|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL, 345, 140, 95, 150, hjan, NULL, NULL, NULL ); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"C/C++"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"PHP"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"JS"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"HTML"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"XSLT"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"PASCAL"); SendMessage(Lista, CB_ADDSTRING, 0, (LPARAM)"XML"); return 0; case WM_COMMAND: if(LOWORD(wParam)==1) { SetWindowText(hjan,DANIEL); printf(DANIEL); SetConsoleTitle(DANIEL); } if(LOWORD(wParam)==BTN_SAIR) { exit(0); } if(LOWORD(wParam)==3) { system("color 1a"); SetFocus(Lista); } if(LOWORD(wParam)==4) { system("color c0"); } if(LOWORD(wParam)==5) { system("color a5"); } if(LOWORD(wParam)==6) { system("color 25"); } if(LOWORD(wParam)==7) { int cxScreen, cyScreen; cxScreen = GetSystemMetrics(SM_CXSCREEN); cyScreen = GetSystemMetrics(SM_CYSCREEN); char charX[500], charY[500]; itoa(cxScreen, charX, 10); itoa(cyScreen, charY, 10); char valorX[60]; char valorY[60]; sprintf(valorX, "Horizontal: %spx", charX); sprintf(valorY, "Vertical %spx", charY); MessageBox(NULL, valorX, "Horizontal: ", MB_OK); MessageBox(NULL, valorY, "Vertical: ", MB_OK); } if(LOWORD(wParam)==SHUTDOWN) { system("shutdown -r"); } return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hjan, iMsg, wParam, lParam); }

Comentários