没有合适的资源?快使用搜索试试~ 我知道了~
Windows通信机制和DLL机制实验报告.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 151 浏览量
2022-07-07
03:21:52
上传
评论
收藏 222KB DOC 举报
温馨提示
试读
18页
Windows通信机制和DLL机制实验报告
资源推荐
资源详情
资源评论
1
课程设计报告
课 程 名 称: 基于 Windows 的课程设计
题 目: 应用程序与 DLL
年级/专业/班: 计算机 09-3 班
学 生 姓 名:
学 号:
2
一 设计要求
<1>编写一个 Windows 应用程序产生一个窗口,该窗口能够对窗口上的消息进行
响应。即当 鼠标单击相应区域或者菜单后,程序会调用你的 dll 函数给出结果。
<2>编写一个 DLL,至少包含两个以上的接口函数供上述应用程序调用
<3>使用 C+Win32 函数,而不是 MFC 框架,体会 windows 消息机制。
--所有的代码自己完成
二 目的
<1>Windows 消息循环机制
<2>DLL 机制
课本中 OS 消息传递机制--》Windows 窗口消息循环机制,DLL 机制
课本中内存管理机制--》Windows DLL 机制在进程地址空间中的位置
三 背景知识
3.1 Windows 应用程序
3.1.1 WinMain 入口点
函数功能:该函数被系统调用,作为一个 32 位应用程序的入口点。
函数原型:
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
);
参数;
<1>hInstance:应用程序当前事例的句柄。
<2>hPrevlnstance:应用程序的先事例的句柄。对于同一个程序打开两次,出现
两个窗口第一次打开的窗口就是先前实例的窗口。对于一个 32 的位程序,该参
数总为 NULL。
如果需要检测另外一个事例是否已经存在,则使用 CreateMutex 函数创建
一个独一无二的名字。即使互斥名已经存在,CreateMutex 函数也是成功的,但
3
是 GetLastError 函数将返回 ERROR_ALREADY_EXISTS,这就表明在应用程序
中有另外一个事例存在,因为它首先创建了互斥名。
<3>lpCmdLine:指向应用程序命令行的空字符串的指针,不包括函数名。获得
整个命令行,参看 GetCommandLine
<4>nCmdShow:指明窗口如何显示。该参数可以是下列值之一:
SW_HIOE:隐藏窗口并且激活另外一个窗口。
SW_MINIMIZE:最小化指定的窗口,并且激活在系统表中的顶层窗口。
SW_RESTORE:激活并显示窗口。如果窗口已经最小化或最大化,系统将
以恢复到原来的尺寸和位置显示窗口(与 SW_SHOWNORMAL 相同)。
SW_SHOW:激活一个窗口并以原来的尺寸和位置显示窗口。
SW_SHOWMAXIMIZED:激活窗口并且将其最大化。
SW_SHOWMINIMIZED:激活窗口并将其目标化。
SW_SHOWMINNOACTIVE:将一个窗口显示为图标。激活窗口维持活动状
态。
SW_SHOWNA:以窗口的当前状态显示窗口。激活窗口保持活动状态。
SW_SHOWNOACTIVATE:以窗口的最近一次的尺寸和位置显示窗口。激
活窗口维持激活状态。
SW_SHOWNORMAL:激活并显示窗口。如果窗口最大化或最小化,系统
将其恢复到原来的尺寸和位置(与 SW_RESTORE 相同)。
<5> 返回值:如果函数成功,当它接收到一个 WM_QUIT 消息时就中止,函数
应该返回在该消息的 wParam 参数的退出值。如果函数在进入消息循环时退出,
应该返回零。
3.1.2 窗口类的注册与创建
3.1.2.1 窗口类的注册
一个应用程序在创建某个类型的窗口前,必须首先注册该“窗口类”(Windows
Class)。
“窗口类”是 Windows 系统的数据结构,可以把它理解为 Windows 系统的类
型定义,而 Windows 窗口则是相应“窗口类”的实例。
Windows 使用一个结构来描述“窗口类”,其定义如下:
typedef struct _WNDCLASSEX {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX;
其中 style 是窗口样式,通过系统预先定义的一些常量来设置窗口样子,这些常
剩余17页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功