"Возможно тут есть умные люди" Есть код: Spoiler #include<Windows.h> #include<string.h> void MyMenu(HWND hWnd) { HMENU hMenu = CreateMenu(); AppendMenu(hMenu, MF_POPUP, 2, L"Close"); SetMenu(hWnd, hMenu); } int CALLBACK wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR szCmdLine, int nCmdShow) { static HWND hEdit; MSG msg{}; HWND hwnd{}; WNDCLASSEX wc{ sizeof(WNDCLASSEX) }; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = reinterpret_cast<HBRUSH>(GetStockObject(WHITE_BRUSH)); wc.hCursor = LoadCursor(nullptr, IDC_ARROW); wc.hIcon = LoadIcon(nullptr, IDI_APPLICATION); wc.hIconSm = LoadIcon(nullptr, IDI_APPLICATION); wc.hInstance = hInstance; wc.lpfnWndProc = [](HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)->LRESULT { switch (uMsg) { case WM_CREATE: { MyMenu(hWnd); RECT rc{}; GetClientRect(hWnd, &rc); hEdit = CreateWindow ( L"eDit", L"", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_MULTILINE, 0, 0, rc.right, rc.bottom, hWnd, reinterpret_cast<HMENU>(1337), nullptr, nullptr ); return 0; } case WM_SIZE: { SetWindowPos(hEdit, nullptr, 0, 0, LOWORD(lParam), HIWORD(lParam), SWP_NOMOVE | SWP_NOZORDER| SWP_NOOWNERZORDER); } return 0; case WM_DESTROY: { PostQuitMessage(EXIT_SUCCESS); } return 0; } return DefWindowProc(hWnd, uMsg, wParam, lParam); }; wc.lpszClassName = L"MyAppClass"; wc.lpszMenuName = nullptr; wc.style = CS_VREDRAW | CS_HREDRAW; if (!RegisterClassEx(&wc)) return EXIT_FAILURE; if (hwnd = CreateWindow(wc.lpszClassName, L"Заголовок", WS_OVERLAPPEDWINDOW, 0, 0, 600, 600, nullptr, nullptr, wc.hInstance, nullptr); hwnd == INVALID_HANDLE_VALUE) { return EXIT_FAILURE; } ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); while (GetMessage(&msg, nullptr, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return static_cast<int>(msg.wParam); } Code #include<Windows.h> #include<string.h> void MyMenu(HWND hWnd) { HMENU hMenu = CreateMenu(); AppendMenu(hMenu, MF_POPUP, 2, L"Close"); SetMenu(hWnd, hMenu); } int CALLBACK wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR szCmdLine, int nCmdShow) { static HWND hEdit; MSG msg{}; HWND hwnd{}; WNDCLASSEX wc{ sizeof(WNDCLASSEX) }; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = reinterpret_cast<HBRUSH>(GetStockObject(WHITE_BRUSH)); wc.hCursor = LoadCursor(nullptr, IDC_ARROW); wc.hIcon = LoadIcon(nullptr, IDI_APPLICATION); wc.hIconSm = LoadIcon(nullptr, IDI_APPLICATION); wc.hInstance = hInstance; wc.lpfnWndProc = [](HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)->LRESULT { switch (uMsg) { case WM_CREATE: { MyMenu(hWnd); RECT rc{}; GetClientRect(hWnd, &rc); hEdit = CreateWindow ( L"eDit", L"", WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_MULTILINE, 0, 0, rc.right, rc.bottom, hWnd, reinterpret_cast<HMENU>(1337), nullptr, nullptr ); return 0; } case WM_SIZE: { SetWindowPos(hEdit, nullptr, 0, 0, LOWORD(lParam), HIWORD(lParam), SWP_NOMOVE | SWP_NOZORDER| SWP_NOOWNERZORDER); } return 0; case WM_DESTROY: { PostQuitMessage(EXIT_SUCCESS); } return 0; } return DefWindowProc(hWnd, uMsg, wParam, lParam); }; wc.lpszClassName = L"MyAppClass"; wc.lpszMenuName = nullptr; wc.style = CS_VREDRAW | CS_HREDRAW; if (!RegisterClassEx(&wc)) return EXIT_FAILURE; if (hwnd = CreateWindow(wc.lpszClassName, L"Заголовок", WS_OVERLAPPEDWINDOW, 0, 0, 600, 600, nullptr, nullptr, wc.hInstance, nullptr); hwnd == INVALID_HANDLE_VALUE) { return EXIT_FAILURE; } ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); while (GetMessage(&msg, nullptr, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return static_cast<int>(msg.wParam); } Необходимо вытащить текст из EditBox в .txt , буфер обмена, массив , переменную(на ваше усмотрение, но лучше конечно в буфер). Читать документацию по Clipboard не предлагать.