怎么可以用c++做一个直接运行的小程序?

怎么可以用c++做一个直接运行的小程序?,第1张

一个简单的窗口程序,在他的基础上就可以很容易的创建界面了

#include <windows.h> //这个程序所要包含的头文件

//这个是win32界面的helo world

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) //对消息处理函数的声明

#define ID_TIMER1

#define BUTTON_ID 100

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)//主函数,程序的入口点

{

HWNDhwnd

MSG msg

WNDCLASSwndclass

//设计窗口类样式

wndclass.style= CS_HREDRAW | CS_VREDRAW //样式为水平和垂直重画

wndclass.lpfnWndProc = (WNDPROC)WndProc //指定消息处理函数

wndclass.cbClsExtra= 0//不使额外空间

wndclass.cbWndExtra= 0//不使额外空间

wndclass.hInstance= hInstance//程序的执行实体句柄

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

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

wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH) //取得画刷对象

wndclass.lpszMenuName = NULL//无窗口菜单,注:不是无系统菜单

wndclass.lpszClassName = "Lei" //窗口类类名,必需与下文一致

//注册窗口类

RegisterClass (&wndclass)

//创建窗口

hwnd = CreateWindow ("Lei", // window class name

TEXT ("The Hello Program"), // window caption

WS_OVERLAPPEDWINDOW,// window style

240, // initial x position

240, // initial y position

400, // initial x size

400, // initial y size

NULL, // parent window handle

NULL, // window menu handle

hInstance, // program instance handle

NULL)// creation parameters

ShowWindow (hwnd, iCmdShow) //显示窗口

UpdateWindow (hwnd) //更新窗口

//消息循环

while (GetMessage (&msg, NULL, 0, 0)) //从消息对列中取得一条消息

{

TranslateMessage (&msg) // 将msg结构传给Windows,进行一些键盘转换

DispatchMessage (&msg) // 又将msg结构回传给Windows。然后,Windows

//将该消息发送给适当的窗口消息处理程序,让它进行处理

}

return msg.wParam // 结构的wParam字段是传递给PostQuitMessage函数的值(通// 常是0)。然后return叙述将退出WinMain并终止程序

}

//窗口消息处理函数

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

{

HBRUSHhBrush

HDC hdc

PAINTSTRUCT ps

RECTrc

HWND hButton

switch (message)

{

case WM_CREATE:

hButton= CreateWindow(TEXT("BUTTON"), //控件"类名称"

TEXT("按钮"),

WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,10,10,50,50,hwnd,(HMENU)BUTTON_ID,//控件ID

((LPCREATESTRUCT) lParam)->hInstance,NULL)

case WM_COMMAND:

switch (LOWORD(wParam))

{

case BUTTON_ID:

MessageBox(hwnd, "按钮Clicked", "", MB_OK)

break

}

return 0

case WM_PAINT :

hdc = BeginPaint (hwnd, &ps)

GetClientRect (hwnd, &rc)

hBrush = CreateSolidBrush (RGB(222,255,222))

FillRect (hdc, &rc, hBrush)

EndPaint (hwnd, &ps)

DeleteObject (hBrush)

return 0

case WM_DESTROY :

PostQuitMessage (0)

return 0

}

return DefWindowProc (hwnd, message, wParam, lParam) // 。窗口消息处理//程序不予处理的所有消息应该被传给名为DefWindowProc的Windows函数

}

电脑能直接执行的程序称为可执行文件。

可执行文件 (executable file) 指的是可以由 *** 作系统进行加载执行的文件。在不同的 *** 作系统环境下,可执行程序的呈现方式不一样。

在windows *** 作系统下,可执行程序可以是 .exe文件 .sys文件 .com等类型文件。

如记事本程序notepad.exe ,这类程序通常用来处理或者辅助处理其它文件。比如:myfile.txt双击打开由notepad.exe记事本程序来进行编辑。

我们做一件事,可以把顺序以及具体做什么事写在mybat.bat文件中,那运行它就可以把要做的事件执行了。

可以理解为:这类文件可以“单独运行”,或者理解为“有生命”的文件!

如果把它用日常通俗的一点的例子来形容:衣服,鞋子等都是普通的文件,那人就是可执行文件! 人可以做衣服穿衣服,衣服却要依靠人来做。布也要由人加工成衣服!

希望我能帮助你解疑释惑。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存