显示窗口的极简主义Visual C++应用程序

Minimalistic Visual C++ app which shows a window

本文关键字:Visual C++ 应用程序 窗口 显示      更新时间:2023-10-16

我正试图在Visual Studio 2010中创建一个符合以下条件的C++应用程序:

  1. 显示一个空窗口
  2. 尽可能小(例如,在100kb)
  3. 在新的空安装的Windows XP上运行(不需要任何运行时、库等)

基本上,我想摆脱运行时。我唯一需要的就是调用WinAPI函数来显示一个窗口,并在它的表面上BitBlt一些东西。

有可能吗?

1/2:Visual Studio可以生成一个基本模板,这正是您所需要的(显示一个空窗口)。使用File -> New -> New Project -> select 'Win32 Project' -> click 'Finish'创建项目。静态链接到C运行时库时,Release \Win32二进制文件的大小为81KB(有关详细信息,请参阅下文)。当然,添加代码可能会增加二进制大小。您可能需要查看优化设置,甚至二进制压缩以最小化大小。由于防病毒软件经常出现误报,我不建议使用后者。

3:您需要静态链接到C运行时库。这可以在Configuration Properties -> C/C++ -> Code Generation -> Runtime Library下进行配置(选择/MT进行发布,选择/MTd进行调试)。这样做将允许您在不安装Visual C++2010可再发行包的情况下运行可执行文件。

请注意,使用Visual Studio 2010编译的二进制文件需要Windows XP SP2或更高版本。如果您需要针对SP2之前版本的Windows XP,您可能希望检查此解决方法。

MSDN文档中有一个很好的WinAPI"Hello,World!"的分步示例。你只需要喝一点开菲尔酒就可以了;)