Различия
Показаны различия между двумя версиями страницы.
— | allocconsole [2025/07/06 12:38] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== AllocConsole ====== | ||
+ | < | ||
+ | # | ||
+ | # | ||
+ | #include < | ||
+ | #pragma comment (lib, " | ||
+ | /* | ||
+ | Из графического приложения запускается консоль, | ||
+ | */ | ||
+ | void ShowError(DWORD); | ||
+ | LRESULT CALLBACK WndProc(HWND, | ||
+ | void RegisterClass(TCHAR*, | ||
+ | HANDLE con = NULL; | ||
+ | int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, | ||
+ | { | ||
+ | AllocConsole(); | ||
+ | SECURITY_ATTRIBUTES s; | ||
+ | s.bInheritHandle = TRUE; | ||
+ | con = CreateFile( | ||
+ | L" | ||
+ | GENERIC_READ | GENERIC_WRITE , | ||
+ | FILE_SHARE_READ | FILE_SHARE_WRITE, | ||
+ | & | ||
+ | OPEN_EXISTING , | ||
+ | NULL, | ||
+ | NULL); | ||
+ | |||
+ | DWORD d; | ||
+ | WriteFile(con," | ||
+ | |||
+ | TCHAR szAppName[] = L" | ||
+ | HWND hwnd; | ||
+ | MSG msg; | ||
+ | RegisterClass(szAppName, | ||
+ | hwnd = CreateWindow( szAppName, L"my window", | ||
+ | InitCommonControls(); | ||
+ | ShowWindow( hwnd, iCmdShow ); | ||
+ | UpdateWindow( hwnd ); | ||
+ | |||
+ | while( GetMessage(& | ||
+ | { | ||
+ | TranslateMessage( &msg ); | ||
+ | DispatchMessage( &msg ); | ||
+ | } | ||
+ | return (int)msg.wParam; | ||
+ | } | ||
+ | |||
+ | void RegisterClass(TCHAR * name, HINSTANCE hInst) | ||
+ | { | ||
+ | WNDCLASSEX wc; | ||
+ | wc.cbSize = sizeof(wc); | ||
+ | wc.style = CS_HREDRAW | CS_VREDRAW; | ||
+ | wc.lpfnWndProc = WndProc; | ||
+ | wc.cbClsExtra = 0; | ||
+ | wc.cbWndExtra = 0; | ||
+ | wc.hInstance = hInst; | ||
+ | wc.hIcon = LoadIcon( NULL, IDI_APPLICATION ); | ||
+ | wc.hIconSm = LoadIcon( NULL, IDI_APPLICATION ); | ||
+ | wc.hCursor = LoadCursor( NULL, IDC_ARROW ); | ||
+ | wc.hbrBackground = ( HBRUSH ) GetStockObject( WHITE_BRUSH ); | ||
+ | wc.lpszClassName = name; | ||
+ | wc.lpszMenuName = NULL; | ||
+ | RegisterClassEx( &wc ); | ||
+ | |||
+ | } | ||
+ | LRESULT CALLBACK WndProc( HWND hwnd,UINT iMsg,WPARAM wParam, | ||
+ | { | ||
+ | HDC hdc; | ||
+ | PAINTSTRUCT ps; | ||
+ | RECT rect; | ||
+ | switch( iMsg ) | ||
+ | { | ||
+ | case WM_CREATE: | ||
+ | { | ||
+ | CreateWindow(L" | ||
+ | return 0; | ||
+ | } | ||
+ | case WM_COMMAND: | ||
+ | { | ||
+ | DWORD d; | ||
+ | WriteFile(con," | ||
+ | return 0; | ||
+ | } | ||
+ | case WM_PAINT: | ||
+ | { | ||
+ | hdc = BeginPaint( hwnd, &ps ); | ||
+ | GetClientRect( hwnd, &rect ); | ||
+ | EndPaint( hwnd, &ps ); | ||
+ | return 0; | ||
+ | } | ||
+ | case WM_DESTROY: | ||
+ | PostQuitMessage( 0 ); | ||
+ | return 0; | ||
+ | case WM_LBUTTONDOWN: | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | return DefWindowProc( hwnd, iMsg, wParam, lParam ); | ||
+ | } | ||
+ | |||
+ | void ShowError(DWORD Err) | ||
+ | { | ||
+ | LPVOID lpMsgBuf; | ||
+ | if (!FormatMessage( | ||
+ | FORMAT_MESSAGE_ALLOCATE_BUFFER | | ||
+ | FORMAT_MESSAGE_FROM_SYSTEM | | ||
+ | FORMAT_MESSAGE_IGNORE_INSERTS, | ||
+ | NULL, | ||
+ | Err, | ||
+ | MAKELANGID(LANG_NEUTRAL, | ||
+ | (LPTSTR) & | ||
+ | 0, | ||
+ | NULL )) | ||
+ | { | ||
+ | return; | ||
+ | } | ||
+ | MessageBox( NULL, (LPCTSTR)lpMsgBuf, | ||
+ | LocalFree( lpMsgBuf ); | ||
+ | } | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга