У меня есть тестовое приложение C ++ GUI, созданное в Visual Studio с использованием мастера настольных компьютеров, которое я хочу запустить во время настройки. В целях тестирования я запускаю Блокнот, Paint и свое приложение. Блокнот и краска запускаются правильно, но мое приложение запускается как фоновый процесс (оно показано как фоновый процесс в Windows Task Manager) не показывает окно графического интерфейса и консольное окно. Как это исправить?
У меня есть тестовое приложение C ++ GUI, созданное в Visual Studio с использованием мастера настольных компьютеров, которое я хочу запустить во время настройки. В целях тестирования я запускаю Блокнот, Paint и свое приложение. Блокнот и краска запускаются правильно, но мое приложение запускается как фоновый процесс (оно показано как фоновый процесс в Windows Task Manager) не показывает окно графического интерфейса и консольное окно. Как это исправить?[code]ManifestDPIAware true OutFile "setup.exe"
!include MUI2.nsh
RequestExecutionLevel admin
!define TARGET_NAME "1_Test" !define MUI_WELCOMEPAGE_TITLE "Warcraft II for Windows 10" !define MUI_WELCOMEPAGE_TEXT "Ready to work!$\r$\n$\r$\nWith just a few simple steps, our peons will have you ready to play Warcraft II on Windows 10." !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "Russian"
Section SetOutPath "$TEMP" File "SetupBack\${TARGET_NAME}.exe" SectionEnd < /code> и вот приложение C ++: < /p> #include "framework.h" #include "resource.h"
#include // For _O_TEXT macro. #include
#include
#define MAX_LOADSTRING 100
HINSTANCE hInstance; // current instance WCHAR szTitle[MAX_LOADSTRING]; // The title bar text WCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name
// Get STDOUT handle HANDLE consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); int systemOutput = _open_osfhandle(intptr_t(consoleOutput), _O_TEXT); FILE* cOutputHandle = _fdopen(systemOutput, "w");
// Get STDERR handle HANDLE consoleError = GetStdHandle(STD_ERROR_HANDLE); int systemError = _open_osfhandle(intptr_t(consoleError), _O_TEXT); FILE* cErrorHandle = _fdopen(systemError, "w");
// Get STDIN handle HANDLE consoleInput = GetStdHandle(STD_INPUT_HANDLE); int systemInput = _open_osfhandle(intptr_t(consoleInput), _O_TEXT); FILE* cInputHandle = _fdopen(systemInput, "r");
// Make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog point to console as well std::ios::sync_with_stdio(true);
// Redirect the CRT standard input, output, and error handles to the console freopen_s(&cInputHandle, "CONIN$", "r", stdin); freopen_s(&cOutputHandle, "CONOUT$", "w", stdout); freopen_s(&cErrorHandle, "CONOUT$", "w", stderr);
// Clear the error state for each of the C++ standard stream objects. We need to do this, as // attempts to access the standard streams before they refer to a valid target will cause the // iostream objects to enter an error state. In versions of Visual Studio after 2005, this seems // to always occur during startup regardless of whether anything has been read from or written to // the console or not. std::wcout.clear(); std::cout.clear(); std::wcerr.clear(); std::cerr.clear(); std::wcin.clear(); std::cin.clear(); }
int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine);
Я пытаюсь создать установку для пакета на основе Python и использую для этого NSIS. Однако после завершения установки мне нужно создать виртуальную среду для пакета внутри каталога установки, чего я не могу сделать с помощью сценария NSIS. Я...
Я новичок в NSIS, я пытаюсь добавить две команды установки, которые добавят значения реестра для моего приложения, конечная цель состоит в том, чтобы эти значения выглядели следующими: «PATH \ to \ Executive» «%1»
Проблема заключается в том, что...
Можно ли создать ярлык контекстного меню для моей программы в Cpack для Windows? А именно, я хочу создать ярлык «запустить myprogram здесь». Я не вижу никаких подходящих команд в списке команд: