五、SDK应用程序设计
SDK: Software Development Kit, 是windows应用程序的原生态开发工具,利用它所提供的函数和方法,可以开发任何一种Windows应用程序。
这种应用程序的开发过程是大量调用win32 API的过程。
实验目的:
掌握利用
WIN32API编程的基本方法。
实验要求:
1,能够独立写出
Generic Windows应用程序的主体
2,能够理解并掌握
windows应用程序的四个基本概念: 窗口,事件驱动,句柄和消息。
实验内容:
1、编写Generic Windows应用程序,这个程序包含所有Win32应用程序都包含的代码部分。
2、编写一个Windows应用程序,具备菜单等UI元素,能够利用鼠标绘图,能够实现动画效果。
实验步骤:
实验内容一:
(1)、单击菜单File|New,选择projects标签下的Win32 Application,在项目名字编辑框中输入GenericWindows,然后选择AddToWorkspace, 然后单击OK。
(2)、单击菜单File|New, 选择Files标签下的C++ Source File, 在名字框种输入GenericWindows, 然后确定。
(3)、在源代码编辑窗口输入如下代码:
//GenericWindows.cpp-----------------------------------------------------
#include "windows.h"
LRESULT CALLBACK
WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
MSG msg;
WNDCLASS wc;
HWND hWnd;
TCHAR szClassName[] = "GenericClass";
TCHAR szWindowName[] = "GenericWindow";
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc= WndProc;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = szClassName;
if ( !RegisterClass(&wc) ) {
MessageBox(NULL, "window class register err!", "Generic error", MB_OK);
return FALSE;
}
hWnd = CreateWindow(szClassName, szWindowName, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,NULL, hInstance,NULL);
if ( !hWnd )
return FALSE;
///
ShowWindow(hWnd, nShowCmd);
//
UpdateWindow(hWnd);
while ( GetMessage(&msg, NULL, 0, 0) ) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
//主窗口函数
LRESULT CALLBACK
WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
(4)、使用Ctrl+F5编译运行。
实验内容二:
(1)、单击菜单File|New,选择projects标签下的Win32 Application,在项目名字编辑框中输入MyApplication,然后选择AddToWorkspace, 然后单击OK。
(2)、单击菜单File|New, 选择Files标签下的C++ Source File, 在名字框种输入MyApplication, 然后确定。
(3)、单击菜单File|New, 选择Files标签下的Resource Script File, 在名字框种输入MyApplication, 然后确定。
(4)、插入资源,略
(5)、输入代码,略
(6)、编译运行。
实验考核标准:
1,及格/中:程序1能正确运行。
2,良好:程序2的能正确运行。
3,优:整个程序趣味性较强。
附:
完整的实验指导书链接: