从控制台运行时从WinMain管道控制台输出

问题描述 投票:0回答:1

我正在尝试通过控制台通过管道从VCL表单应用程序的WinMain函数传递标准输出。

尤其是我需要在控制台中执行此操作:

mywinprogram.exe -v > toMyFile.txt 

我能够使用此处的答案获得输出to控制台:How do I get console output in C++ with a Windows program?

但是将输出管道传输到文件不起作用。

c++ vcl winmain
1个回答
0
投票

需要一些工作。

  • 创建新的控制台应用程序
  • 目标框架:视觉组件库
  • [x]指定项目来源选择您的VCL项目主文件,该文件包含int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
  • 将此代理功能添加到底部:
    int _tmain(int argc, _TCHAR* argv[]) {
        _tWinMain(HINSTANCE{}, HINSTANCE{}, LPTSTR{}, int{});
    }
    
  • 从您的旧项目添加.cpp.dfm(表单)文件。
  • 编译并感到高兴:-)

如果从Windows运行新的应用程序,它将启动一个新的控制台窗口,但是如果您从一个控制台启动它,它将输出到该控制台-并重定向到文件。

© www.soinside.com 2019 - 2024. All rights reserved.