fork download
  1. #include <windows.h>
  2.  
  3. // Этот коллбэк будет вызываться операционной системой, когда она захочет
  4. // передать какую-либо информацию.
  5. LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
  6.  
  7. switch (uMsg) {
  8.  
  9. case WM_DESTROY:
  10. PostQuitMessage(0);
  11. break;
  12.  
  13. default:
  14. return DefWindowProc(hWnd, uMsg, wParam, lParam);
  15. }
  16.  
  17. return 0;
  18. }
  19.  
  20. int CALLBACK WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine,
  21. int nCmdShow) {
  22.  
  23. MSG msg;
  24. WNDCLASS wc;
  25.  
  26. wc.style = 0;
  27. wc.lpfnWndProc = &WindowProc; // Передача ссылки на функцию
  28. wc.cbClsExtra = 0;
  29. wc.cbWndExtra = 0;
  30. wc.hInstance = hInst;
  31. wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  32. wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  33. wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
  34. wc.lpszMenuName = NULL;
  35. wc.lpszClassName = "MainWindowClass";
  36.  
  37. if (!RegisterClass(&wc))
  38. return FALSE;
  39.  
  40. HWND hWnd = CreateWindow(wc.lpszClassName, "Hello World",
  41. WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
  42. CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInst, (LPVOID)NULL);
  43.  
  44. if (!hWnd)
  45. return FALSE;
  46.  
  47. ShowWindow(hWnd, nCmdShow);
  48. UpdateWindow(hWnd);
  49.  
  50. BOOL bRet;
  51. while ((bRet = GetMessageA(&msg, NULL, 0, 0)) != 0) {
  52. if (bRet == -1) {
  53. return GetLastError();
  54. } else {
  55. TranslateMessage(&msg);
  56. DispatchMessage(&msg);
  57. }
  58. }
  59.  
  60. // Return the exit code to the system.
  61. return msg.wParam;
  62. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:1:21: fatal error: windows.h: No such file or directory
compilation terminated.
stdout
Standard output is empty