资源描述:
《windows api窗口程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、集美大学计算机工程学院实验报告课程名称:TCP/IP协议分析与编程班级:实验成绩:实验项目名称:WindowsAPI窗口程序设计学号:上机实践日期:2016-03-24实验项目编号:01组号:1上机实践时间:2学时一、实验目的运用WindowsAPI进行编程二、实验内容与设计思想在桌面显示Windows窗口。窗口内居中显示“大家好,这是我的第一个WindowsAPI程序!”同时播放背景音乐,并可通过程序改变窗口显示风格为只有标题栏,以及鼠标指针形状为手型。三、实验使用环境操作系统:MicrosoftWindowsXPSP2编程环境:VisualC++6.
2、0简体中文企业版四、实验步骤和调试过程(要求:给出源码及实验结果截图)源码:#include//定义手型鼠标指针#ifndefIDC_HAND#defineIDC_HANDMAKEINTRESOURCE(32649)#endifLRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);//声明WndProc回调函数//主函数,程序调用的入口intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCm
3、dShow){staticTCHARszAppName[]=TEXT("HelloWorld!");HWNDhwnd;MSGmsg;WNDCLASSwndclass;wndclass.style=CS_HREDRAW
4、CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCu
5、rsor=LoadCursor(NULL,IDC_HAND);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("ThisprogramrequiresWindowsXP!"),szAppName,MB_ICONERROR);return0;}hwnd=CreateWi
6、ndow(szAppName,//windowclassnameTEXT("对话框"),//windowcaptionWS_OVERLAPPEDWINDOW,//windowstyleCW_USEDEFAULT,//initialxpositionCW_USEDEFAULT,//initialypositionCW_USEDEFAULT,//initialxsizeCW_USEDEFAULT,//initialysizeNULL,//parentwindowhandleNULL,//windowmenuhandlehInstance,//programi
7、nstancehandleNULL);//creationparametersShowWindow(hwnd,iCmdShow);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}//返回长整型的消息处理回调函数LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam){HDChdc;PAINT
8、STRUCTps;RECTrect;switch(message){caseWM_CREATE:PlaySound(TEXT("C:/hellowin.wav"),NULL,SND_FILENAME
9、SND_ASYNC);return0;caseWM_PAINT:hdc=BeginPaint(hwnd,&ps);GetClientRect(hwnd,&rect);DrawText(hdc,TEXT("大家好,这是我的第一个WindowsAPI程序!"),-1,&rect,DT_SINGLELINE
10、DT_CENTER
11、DT_VCENTER);EndPai
12、nt(hwnd,&ps);return0;caseWM_DESTROY:Post