用VS创建一个win32窗口,编译运行都可以,但那个窗口没有显示出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用VS创建一个win32窗口,编译运行都可以,但那个窗口没有显示出来相关的知识,希望对你有一定的参考价值。
RT
代码如下:
#include<windows.h>
#include<tchar.h>
LRESULT CALLBACK WindowProc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WindowProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=0;
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wndclass.lpszMenuName=0;
wndclass.lpszClassName=_T("我的窗体");
if(RegisterClass(&wndclass)==0)
MessageBox(0,_T("注册窗口类失败"),_T("我的窗体"),MB_OK);
return 0;
HWND hWnd=CreateWindow(_T("我的窗口"),_T("我的第一个窗体"),WS_OVERLAPPEDWINDOW,200,200,500,400,0,0,hInstance,0);
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
MSG msg;
while(GetMessage(&msg,0,0,0))
TranslateMessage(&msg);
DispatchMessage(&msg);
return 0;
LRESULT CALLBACK WindowProc(HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
switch(uMsg)
case WM_CLOSE:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
return 0;
但是可以在进程中看到那个程序在运行
wndclass.lpszClassName=_T("我的窗体");->wndclass.lpszClassName=_T("MyWindows");
HWND hWnd=CreateWindow(_T("我的窗口"),_T("我的第一个窗体"),WS_OVERLAPPEDWINDOW,200,200,500,400,0,0,hInstance,0);->
HWND hWnd=CreateWindow(_T("MyWindow"),_T("我的第一个窗体"),WS_OVERLAPPEDWINDOW,200,200,500,400,0,0,hInstance,0);
vs2017运行不起来.net web程序,包不兼容
以前的电脑性能不行了太卡,换了新电脑,装的新系统win10,然后装的vs2017,这个项目在旧电脑上也是vs2017开发的,代码托管到git,旧电脑上也是可以正常运行调试的,但是换了电脑后,就报出了下面这些很多错误,我估计是框架没装对的问题,因为在错误窗口里,连最基本的包system都报了错。旧电脑win7系统,控制面板里面看到的不一样,图片里面可以看到,下面这些错误贴出了一些,请问有没有遇到相同问题的网友,能否给我一些帮助,谢谢!错误 包 Microsoft.AspNetCore.Hosting 2.1.0 与 netcoreapp2.1 (.NETCoreApp,Version=v2.1) 不兼容。 包 Microsoft.AspNetCore.Hosting 2.1.0 支持: netstandard2.0 (.NETStandard,Version=v2.0)错误 包 Microsoft.Extensions.Options.ConfigurationExtensions 2.1.0 与 netcoreapp2.1 (.NETCoreApp,Version=v2.1) 不兼容。 包 Microsoft.Extensions.Options.ConfigurationExtensions 2.1.0 支持: netstandard2.0 (.NETStandard,Version=v2.0) 0 错误 包 Microsoft.Extensions.Caching.Abstractions 2.0.0 与 netcoreapp2.0 (.NETCoreApp,Version=v2.0) 不兼容。 包 Microsoft.Extensions.Caching.Abstractions 2.0.0 支持: netstandard2.0 (.NETStandard,Version=v2.0) 错误 一个或多个包与 .NETCoreApp,Version=v2.1 不兼容。 错误 一个或多个包与 .NETCoreApp,Version=v2.0 不兼容。 错误 包 Microsoft.AspNetCore.Hosting 2.1.0 与 netcoreapp2.1 (.NETCoreApp,Version=v2.1) 不兼容。 包 Microsoft.AspNetCore.Hosting 2.1.0 支持: netstandard2.0 (.NETStandard,Version=v2.0)
重新修改引用,改为2.1的。或者windows功能里看启用.net3.5没有。 参考技术A 你好 解决了没有 我也遇到同样的问题 ,无法解决以上是关于用VS创建一个win32窗口,编译运行都可以,但那个窗口没有显示出来的主要内容,如果未能解决你的问题,请参考以下文章
VS2008里,创建一个win32 static libraryd静态库后,怎么添加一个 symbol “TETLIBRARY” 到编译开关?
用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序