如何实现基于Win32控制台创建窗口

如何实现基于Win32控制台创建窗口,第1张

#include<stdio.h>

#include<windows.h>

//窗口过程函数

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

PAINTSTRUCT ps

HDC hDc

char str[64]="阿浪网易博客 http://blog.163.com/wenxianliang08@126/"

switch(message)

{

case WM_PAINT:

hDc=BeginPaint(hwnd,&ps)

TextOut(hDc,100, 100, str, strlen(str))

EndPaint(hwnd, &ps)

break

case WM_DESTROY:

PostQuitMessage(0)

break

default:

return DefWindowProc(hwnd, message, wParam, lParam)

break

}

return 0

}

int WINAPI WinMain(HINSTANCE hInstance, //当前运行实例的句柄

HINSTANCE hPrevInstance, //先前实例的句柄,基于Win32开发,默认为NULL

LPSTR lpCmdLine, //命令行

int nCmdShow //窗口显示模式

)

{

char szClassName[64]="阿浪博客(窗口类)"// 初始化窗口类的名称

WNDCLASS wndclass//定义窗口类结构体 变量

wndclass.cbClsExtra=0

wndclass.cbWndExtra=0

wndclass.hbrBackground= (HBRUSH)GetStockObject(DKGRAY_BRUSH)//灰色画刷

wndclass.hCursor=LoadCursor(NULL, IDC_ARROW) //加载标准光标

wndclass.hIcon=LoadIcon(NULL, IDI_APPLICATION) //加载标准图标

wndclass.hInstance=hInstance

wndclass.lpfnWndProc=WndProc

wndclass.lpszClassName=szClassName

wndclass.lpszMenuName=NULL// 菜单设置为NULL

wndclass.style=CS_HREDRAW|CS_VREDRAW

if(!RegisterClass(&wndclass)) // 注册所初始化的窗口类

{

MessageBox(NULL,"窗口类注册失败!","消息提示",MB_OK)

return 1

}

HWND hwnd

char WindowName[64]="温先良(窗口名)"// 窗口名

hwnd=CreateWindow(

szClassName,

WindowName,

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT,

500,400,

NULL,

NULL,

hInstance,

NULL

) // 创建所注册的窗口类

if(!hwnd)

{

MessageBox(NULL, "窗口创建失败", "消息提示", MB_OK)

return 1

}

ShowWindow(hwnd, SW_SHOWNORMAL)

UpdateWindow(hwnd)

MSG msg

while(GetMessage(&msg, hwnd, 0, 0)) // 从消息队列里获取消息

{

TranslateMessage(&msg)// 消息转换

DispatchMessage(&msg) // 消息发送到窗口过程函数

}

return 0

}

可以的,新建一个cmd.exe的进程就可以了,表现为d出一个命令行窗口。在这个进程中启动一个Console应用程序,来显示你的内容即可。

启动cmd进程,并在控制台中启动C:\xxxx\xxxx.exe的代码:

Process p = new Process()

p.Start("cmd.exe")

p.StandardInput.WriteLine(@"C:\xxxx\xxxx.exe")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7948379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存