从头开始创建C 背景Win32应用程序
Create C++ background Win32 application from scratch
我想创建一个非常简单的背景应用程序。我从空的C 项目开始,然后创建一个源。CPP文件,其中包括以下代码:
#include "Windows.h"
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
MSG Msg;
while (GetMessage(&Msg, NULL, 0, 0))
{
}
return 0;
}
然后我设置项目的设置如下:
属性 ->配置属性 ->链接器 ->系统:SET子系统是:Windows(/Subsystem:Windows)
属性 ->配置属性 ->链接器 ->高级 ->设置入口点为:_twinmain
我在做对吗?我也想将MFC库添加到此项目中,以便我可以使用MFC的功能,该如何做?
感谢您的阅读:)
编辑:奇怪的是,我只需要包括" tchar.h",而错误[必须定义的输入点]消失。我不需要再配置项目设置了。我只需要以下代码:
#include "Windows.h"
#include "tchar.h"
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//MessageBox(0, _T("test"), _T("Test"), 0);
return 0;
}
在不使用文档和视图的情况下创建SDI应用程序。仅检查您需要的选项。在大多数情况下,您甚至需要一个窗口才能获取窗口消息。
留下创建的主窗口,不要显示它,将m_ncmdshow设置为sw_hide。破坏此主窗口将结束消息循环并停止程序。
后来您可以删除其他未使用的东西,例如大型机中的工具栏。
另一种方法是使用向导创建一个基于对话框的应用程序。不创建任何对话框并使用自己的消息泵。这样的东西:
while (OuterCondition())
{
while( ::PeekMessage( &message, NULL , WM_MIN, WM_MAX, PM_NOREMOVE ) )
{
::AfxPumpMessage();
}
}
也可能有用。
您通常需要一个cwinapp对象才能正确启动MFC。
相关文章:
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- SWIG和Mingw-64与Python一起使用...不是有效的 Win32 应用程序
- 在 Win32 应用程序中承载 GTK+3 上下文
- 开发如何解决错误193:%1不是Dev C 中的Win32应用程序
- 您如何使用Winrt创建经典的Win32应用程序窗口
- 链接错误时,使用CLION/CMAKE/MSVC 2015编译WIN32应用程序
- 如何在VS 2017 C++Win32应用程序中打印出gethostname结果
- 我如何将Win32应用程序迁移到X64
- 如何制作一个不依赖msvc dll的win32应用程序
- 空的Win32 C++应用程序内存消耗过多
- 是否可以在 Visual Studio 中的 Win32 C++应用程序中的控制台中进行调试
- 从头开始创建C 背景Win32应用程序
- 托管C#Win32应用程序的非托管DLL.与课堂入口
- Exe不是有效的win32应用程序,但在64位上运行
- 具有控制台输出且没有新窗口的 Win32 应用程序
- 使用 C++11 编写 Win32 应用程序
- 使用类设置 win32 应用程序的更好方法
- 用于 Win32 应用程序的 WriteFile() 函数
- 调用 C 代码的 Win32 应用程序