Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2023, 15:49   #1
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию Аналоги функций WinAPI в Qt

Я переделываю свой проект, который был написан под Visual Studio на библиотеке MFC, на проект под Qt Creator на библиотеке Qt.
В связи с этим я столкнулся с проблемой перевода функций WinAPI на функции Qt, чтобы была кроссплатформенность программы.
Меня интересует, какие существуют Qt-шные аналоги следующих WinAPI-шных функций:

1) функции, определённые в stdlib.h:
_fullpath
system
_atodbl

2) функции, определённые в processenv.h:
GetCurrentDirectory
SetCurrentDirectory
GetStdHandle

3) функции, определённые в winbase.h:
GetPrivateProfileIntA
GetPrivateProfileStringA
WritePrivateProfileStringA
CopyFile

4) функции, определённые в wincon.h:
AllocConsole
GetConsoleMode
SetConsoleMode
GetConsoleScreenBufferInfo
SetConsoleScreenBufferSize
ReadConsoleW

5) функции, определённые в winuser.h:
SetForegroundWindow
CharToOem
OemToChar
setWindowPos

6) функции, определённые в synchapi.h:
Sleep

7) функции, определённые в fileapi.h:
FindFirstFile
DeleteFile
CreateFile

8) функции, определённые в memoryapi.h:
CreateFileMapping
MapViewOfFile

9) функции, определённые в handleapi.h:
CloseHandle

Также меня интересует, как правильно создавать консольное окно в диалоговом оконнном приложении на Qt и как правильно работать с этим консольным окном.
На MFC-шном проекте у меня написан следующий код для создания консольного окна и перенаправления потоков (streams) ввода и вывода на него:

Код:
::AllocConsole();
freopen("CONIN$","rt",stdin);
freopen("CONOUT$","rt",stdout);
freopen("CONOUT$","rt",stderr);
HANDLE  hStdin, hStdout, hStderr;
hStdin = CreateFileW(L"CONIN$",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,nullptr,OPEN_EXISTING,0,nullptr);
DWORD  oldMode;
GetConsoleMode(hStdin,&oldMode);
SetConsoleMode(hStdin,oldMode|ENABLE_LINE_INPUT|ENABLE_ECHO_INPUT);
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
hStderr = GetStdHandle(STD_ERROR_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO  csbiInfo;
GetConsoleScreenBufferInfo(hStdout,&csbiInfo);
COORD  dwSize.Y = 9999;
SetConsoleScreenBufferSize(hStdin,dwSize);
SetConsoleScreenBufferSize(hStdout,dwSize);
SetConsoleScreenBufferSize(hStderr,dwSize);
А как написать аналогичный код с использованием Qt-шных функций? Чтобы обеспечивалась кроссплатформенность работы с консольным окном?
erslgoeirjh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler под Windows (MASM32). Вывод массива в Edit диалогового окна используя WinAPI или функций MASM munthrekosh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.06.2013 04:03
Использование функций WinApi в VS 2010 Lazio Win Api 4 05.09.2012 18:16
функций WinApi для получения системной информации!!! Amoled Win Api 7 10.04.2012 10:00
Аналоги функций iiunbreakableii Общие вопросы C/C++ 8 26.06.2009 12:14
Аналоги функций xfoxx Общие вопросы C/C++ 4 26.03.2008 00:22