{"id":22846,"date":"2011-12-06T12:51:08","date_gmt":"2011-12-06T09:51:08","guid":{"rendered":"http:\/\/studentpmr.ru\/?p=22846"},"modified":"2011-12-06T12:51:45","modified_gmt":"2011-12-06T09:51:45","slug":"%d1%82%d0%b5%d0%ba%d1%81%d1%82-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-windows-%d0%bd%d0%b0-%d1%8f%d0%b7%d1%8b%d0%ba%d0%b5-c%d0%b8","status":"publish","type":"post","link":"http:\/\/studentpmr.ru\/?p=22846","title":{"rendered":"\u0422\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f WINDOWS \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C\u0438"},"content":{"rendered":"<p>  38<br \/>\n\t\t\t\t\t\t   \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u0418\u0415 2<br \/>\n\t\t\t\u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u0418\u0415 WINDOWS<\/p>\n<p>     \u041f2.1. \u0422\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f WINDOWS \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C\u0438<\/p>\n<p>#include <windows.h><br \/>\n#include <stdio.h><br \/>\n#pragma argsused<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#define ITEM_1 1<br \/>\n#define ITEM_A 2<br \/>\n#define ITEM_B 3<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nlong FAR PASCAL WndProc( HWND, WORD, WORD, LONG);<br \/>\nvoid FAR PASCAL CommandProc(HWND, WORD, LONG);<br \/>\nvoid FAR PASCAL PaintProc(HWND, WORD, LONG);<!--more--><br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0 \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0444\u0443\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\nint PASCAL WinMain<br \/>\n (<br \/>\n  HANDLE hInstance,              \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043f\u0438\u0438<br \/>\n  HANDLE hPrevInstance,          \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u043a\u043e\u043f\u0438\u0438<br \/>\n  LPSTR lpCmdLine,               \/\/ \u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430<br \/>\n  int nCmdShow                   \/\/ \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043e\u043a\u043d\u0430<br \/>\n )<br \/>\n {<br \/>\n\/\/&#8212;&#8212;&#8212;- \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f  &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n  HWND hWnd;                    \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430<br \/>\n  MSG Message;\t\t\t\/\/ \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n  LPMSG lpMessage=&Message;\t\/\/ \u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435<br \/>\n  HMENU hMenu, hMenuPopUp;      \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u044b \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<br \/>\n  char szCaption[60];           \/\/ \u0411\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a<\/p>\n<p>  if( !hPrevInstance )\t\t\/\/ \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<br \/>\n     {\t\t\t\t\/\/ \u0442\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430<br \/>\n\/\/&#8212;&#8212;&#8212; \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n      PWNDCLASS pWndClass;      \/\/ \u0423\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043a\u043b\u0430\u0441\u0441 \u043e\u043a\u043d\u0430<br \/>\n      HANDLE hMemory;           \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0431\u043b\u043e\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438<br \/>\n      BOOL bSuccess;            \/\/ \u0424\u043b\u0430\u0433 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438<br \/>\n\/\/&#8212;&#8212;&#8212; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u0434 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u043a\u043d\u0430 &#8212;&#8212;&#8212;<br \/>\n      hMemory=LocalAlloc(LMEM_DISCARDABLE, sizeof(WNDCLASS));<br \/>\n      if(hMemory==NULL) return 0; \/\/ \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0442<br \/>\n\/\/&#8212;&#8212;&#8212; \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u043a\u043d\u0430 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n      pWndClass=(PWNDCLASS)LocalLock(hMemory); \/\/\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a<br \/>\n      pWndClass->style         = CS_HREDRAW|CS_VREDRAW|CS_SAVEBITS;<br \/>\n      pWndClass->lpfnWndProc   = WndProc;<br \/>\n      pWndClass->cbClsExtra    = NULL;<br \/>\n      pWndClass->cbWndExtra    = NULL;<br \/>\n      pWndClass->hInstance     = hInstance;<br \/>\n      pWndClass->hIcon         = LoadIcon( NULL, IDI_APPLICATION);<br \/>\n      pWndClass->hCursor       = LoadCursor( NULL, IDC_ARROW );<br \/>\n      pWndClass->hbrBackground = GetStockObject( WHITE_BRUSH );<br \/>\n      pWndClass->lpszMenuName  = (LPSTR)0;<br \/>\n      pWndClass->lpszClassName = &#171;OS&#187;;<br \/>\n\/\/&#8212;&#8212;&#8212; \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043a\u043d\u043e &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n      bSuccess=RegisterClass( pWndClass );<br \/>\n      LocalUnlock(hMemory); LocalFree(hMemory); \/\/\u041e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0431\u043b\u043e\u043a<br \/>\n      if(!bSuccess) return 0;<br \/>\n     }<\/p>\n<p>                                                               39<\/p>\n<p>\/\/ &#8212;&#8212;- \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u044b \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n  hMenuPopUp=CreateMenu();<br \/>\n  if(!AppendMenu(hMenuPopUp, MF_STRING, ITEM_A, &#171;Item_A&#187;)) return 0;<br \/>\n  if(!AppendMenu(hMenuPopUp, MF_STRING, ITEM_B, &#171;Item_B&#187;)) return 0;<br \/>\n  hMenu=CreateMenu();<br \/>\n  if( !AppendMenu(hMenu, MF_STRING, ITEM_1, &#171;Item_1&#187;) ) return 0;<br \/>\n  if( !AppendMenu(hMenu, MF_POPUP, hMenuPopUp, &#171;Item_2&#187;) ) return 0;<br \/>\n\/\/&#8212;&#8212;&#8212;- \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n  hWnd = CreateWindow<br \/>\n     (<br \/>\n      &#171;OS&#187;,                     \/\/ \u0418\u043c\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u043e\u043a\u043d\u0430<br \/>\n      &#171;Simple Application&#187;,     \/\/ \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u043a\u043d\u0430<br \/>\n      WS_OVERLAPPEDWINDOW,      \/\/ \u0422\u0438\u043f \u043e\u043a\u043d\u0430: \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0435\u0441\u044f<br \/>\n      CW_USEDEFAULT,            \/\/ \u0425-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043e\u043a\u043d\u0430<br \/>\n      CW_USEDEFAULT,            \/\/ Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043e\u043a\u043d\u0430<br \/>\n      CW_USEDEFAULT,            \/\/ \u0428\u0438\u0440\u0438\u043d\u0430 \u043e\u043a\u043d\u0430<br \/>\n      CW_USEDEFAULT,            \/\/ \u0412\u044b\u0441\u043e\u0442\u0430 \u043e\u043a\u043d\u0430<br \/>\n      NULL,                     \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043a\u043e\u043f\u0438\u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f<br \/>\n      hMenu \/*NULL*\/,           \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044e<br \/>\n      hInstance,                \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043a\u043e\u043f\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<br \/>\n      (LPSTR) NULL              \/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<br \/>\n      );<br \/>\n  if ( hWnd==NULL ) return( FALSE );<br \/>\n\/\/&#8212;&#8212;&#8212;- \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n  sprintf(szCaption,&#187;\u041b\u0430\u0431.\u0440\u0430\u0431.N3:\u041f\u0440\u0438\u043b\u043e\u0436.=%X,\u041e\u043a\u043d\u043e=%X&#187;,hInstance,hWnd);<br \/>\n  SetWindowText(hWnd, szCaption);<br \/>\n  ShowWindow(hWnd, nCmdShow );  \/\/ \u041e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043e\u043a\u043d\u043e<br \/>\n  UpdateWindow(hWnd);           \/\/ \u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043a\u043d\u043e: WM_PAINT<br \/>\n\/\/&#8212;&#8212;&#8212;- \u0426\u0438\u043a\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n  while( GetMessage(lpMessage, NULL, NULL, NULL))\/\/\u041f\u043e\u043a\u0430 \u043d\u0435 WM_DECTROY<br \/>\n     {<br \/>\n      TranslateMessage(lpMessage); \/\/ \u041f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435<br \/>\n      DispatchMessage(lpMessage);  \/\/ \u041f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u043a\u043d\u0430<br \/>\n     }<br \/>\n  return (lpMessage->wParam);<br \/>\n };<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0 \u0424\u0443\u043d\u043a\u0446\u0438\u044f  \u043e\u043a\u043d\u0430  \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\nlong FAR PASCAL WndProc<br \/>\n   (<br \/>\n    HWND hWnd,\t\t\t\/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u0444\u043e\u043a\u0443\u0441\u0430 \u0432\u0432\u043e\u0434\u0430<br \/>\n    unsigned iMessage,\t\t\/\/ \u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n    WORD wParam,\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n    LONG lParam\t\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0434\u0432\u043e\u0439\u043d\u043e\u0435_\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n   )<br \/>\n{<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u0437 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n switch (iMessage)<br \/>\n    {<br \/>\n     case WM_CREATE:   break;<br \/>\n     case WM_PAINT:    PaintProc(hWnd, wParam, lParam); break;<br \/>\n     case WM_INITMENU: SetWindowText(hWnd, &#171;ITEM_2&#187;); break;<br \/>\n     case WM_COMMAND:  CommandProc(hWnd, wParam, lParam); break;<br \/>\n     case WM_DESTROY:  PostQuitMessage( 0 ); break;<br \/>\n     default:<br \/>\n\treturn DefWindowProc( hWnd, iMessage, wParam, lParam );<br \/>\n    };<br \/>\n  return 0;<br \/>\n}<\/p>\n<p> 40<\/p>\n<p>\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0 \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u0430 \u0432 \u043c\u0435\u043d\u044e \u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\nvoid FAR PASCAL CommandProc<br \/>\n   (<br \/>\n    HWND hWnd,\t\t\t\/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u0444\u043e\u043a\u0443\u0441\u0430 \u0432\u0432\u043e\u0434\u0430<br \/>\n    WORD wParam,\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n    LONG lParam\t\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0434\u0432\u043e\u0439\u043d\u043e\u0435_\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n   )<br \/>\n{<br \/>\n switch (wParam)<br \/>\n  {<br \/>\n   case ITEM_1: SetWindowText(hWnd, &#171;ITEM_1&#187;); break;<br \/>\n   case ITEM_A: SetWindowText(hWnd, &#171;ITEM_A&#187;); break;<br \/>\n   case ITEM_B: SetWindowText(hWnd, &#171;ITEM_B&#187;); break;<br \/>\n   default:;<br \/>\n  };<br \/>\nreturn;<br \/>\n}<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0 \u041f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0430 \u043e\u043a\u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0<br \/>\n#include <string.h><br \/>\nvoid FAR PASCAL PaintProc<br \/>\n   (<br \/>\n    HWND hWnd,\t\t\t\/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u043e\u043a\u043d\u0430 \u0444\u043e\u043a\u0443\u0441\u0430 \u0432\u0432\u043e\u0434\u0430<br \/>\n    WORD wParam,\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n    LONG lParam\t\t\t\/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440-\u0434\u0432\u043e\u0439\u043d\u043e\u0435_\u0441\u043b\u043e\u0432\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f<br \/>\n   )<br \/>\n{<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212; \u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043e\u043a\u043d\u043e &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n static char * szText[4]={      \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043e\u043a\u043d\u043e<br \/>\n    &#171;\u041b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 N 3&#187;,<br \/>\n    &#171;\u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&#187;,<br \/>\n    &#171;\u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 5 \u043a\u0443\u0440\u0441\u0430&#187;,<br \/>\n    &#171;\u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e-\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0444\u0430\u043a\u0443\u043b\u044c\u0442\u0435\u0442\u0430&#187;};<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212; \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0438 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n PAINTSTRUCT paint;             \/\/ \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0438<br \/>\n TEXTMETRIC  text;              \/\/ \u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0448\u0440\u0438\u0444\u0442\u0430<br \/>\n HDC hDC;                       \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212; \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0438 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n hDC\u0455ginPaint(hWnd, &#038;paint);  \/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<br \/>\n GetTextMetrics(hDC, &#038;text);    \/\/ \u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0435\u043a\u0441\u0442\u0430<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212; \u041d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u043c\u043a\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n Rectangle<br \/>\n    (<br \/>\n     hDC,                       \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0434\u0438\u0441\u043f\u043b\u0435\u0439)<br \/>\n     text.tmMaxCharWidth,       \/\/ \u0425-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043b\u0435\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430<br \/>\n     text.tmHeight,             \/\/ Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043b\u0435\u0432\u043e\u0433\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430<br \/>\n     20*text.tmMaxCharWidth,    \/\/ \u0425-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430<br \/>\n     7*text.tmHeight            \/\/ Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043f\u0440\u0430\u0432\u043e\u0433\u043e \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0433\u043b\u0430<br \/>\n    );<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212; \u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0442\u0435\u043a\u0441\u0442 \u0432 \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043e\u043a\u043d\u0430 &#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n for( int i=0; i<4; i++)\n    {\n     TextOut\n\t(\n\t hDC,                   \/\/ \u0414\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0434\u0438\u0441\u043f\u043b\u0435\u0439)\n\t 5*text.tmMaxCharWidth, \/\/ \u0425-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0438\n\n\f\n\t\t\t\t\t\t\t       41\n\n\t i*text.tmHeight,       \/\/ Y-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0438\n\t szText[i],             \/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u043c\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430\n\t strlen(szText[i]));    \/\/ \u0420\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u0445\n    }\n EndPaint(hWnd, &#038;paint);        \/\/ \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\n return;\n}\n\/\/\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\u00b0\n\n\n\n     \u041f2.2. \u0424\u0430\u0439\u043b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f WINDOWS\n\nNAME          OS03\t\t  ; \u0418\u043c\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b\nDESCRIPTION   '\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f' ; \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\nEXETYPE       WINDOWS             ; \u0422\u0438\u043f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f (\u0442\u043e\u043b\u044c\u043a\u043e\n\t\t\t\t  ; \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 Microsoft C 6.0)\nSTUB          'winstub.exe'       ; \u0418\u043c\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430-\n                                  ; \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 MS-DOS\nCODE          PRELOAD MOVEABLE\t  ; \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043a\u043e\u0434\u0430\nDATA          MOVEABLE MULTIPLE   ; \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\nHEAPSIZE      1024                ; \u0420\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438\nSTACKSIZE     5120                ; \u0420\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0435\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\nEXPORTS                           ; \u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438\n  ExpWndProc1                     ; (\u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u043c\u043e, \u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u0442\u044c\n  ExpWndProc2                     ; \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u043c-\n  ExpWndProc3                     ; \u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a (*.dll)\n\n\f\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>38 \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u0418\u0415 2 \u041f\u0420\u0418\u041b\u041e\u0416\u0415\u041d\u0418\u0415 WINDOWS \u041f2.1. \u0422\u0435\u043a\u0441\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f WINDOWS \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C\u0438 #include #include #pragma argsused \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0431\u043e\u0440\u0430 \u043f\u0443\u043d\u043a\u0442\u0430 \u043c\u0435\u043d\u044e &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; #define ITEM_1 1 #define ITEM_A 2 #define ITEM_B 3 \/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; \u041f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- long FAR PASCAL WndProc( HWND, WORD, WORD, LONG); void FAR PASCAL CommandProc(HWND, WORD, LONG); void FAR PASCAL PaintProc(HWND, WORD, <a class=\"readmore\" href=\"http:\/\/studentpmr.ru\/?p=22846\">\u0427\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u0435<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"_links":{"self":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22846"}],"collection":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22846"}],"version-history":[{"count":2,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22846\/revisions"}],"predecessor-version":[{"id":22848,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=\/wp\/v2\/posts\/22846\/revisions\/22848"}],"wp:attachment":[{"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22846"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/studentpmr.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}