- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 控制软件开发工具 Visual C++/Visual Basic PLC 其它控制软件开发工具 组态软件 WinCC Fix 组态王 力控 LabView IO Works Windows系统对硬件的使用 虚拟机VM 由系统创建的假象,它是硬件资源的仿真 内存空间;IO空间;中断操作;各种寄存器 由虚拟机管理器VMM完成虚拟机的管理 VMM利用系统的硬件,可以创建几个相互独立的虚拟机,每个虚拟机都有自己的虚拟执行环境 处理器的工作模式 实模式 保护模式 存储器的管理 存储器及IO的保护 V86模式 虚拟环境的实现 捕获IO操作 在保护模式和V86模式下,操作系统通过捕获输入/输出指令来防止应用程序直接访问IO映射的设备。 根据IOPL控制IO访问 Windows系统提供标准IO的捕获组件(VxD) SERIAL(串口);LPT(打印口);VTD(定时器);VDMAD(DMA) VKD(键盘);VSD(系统扬声器);VDD(VGA) 捕获中断操作 捕获具有优先级的指令,如INT、STI指令 虚拟机中的程序运行在ring3,执行一个具有优先级的指令,就会产生一个异常事件,处理器切换到ring0,并将控制权交给相应控制器 捕获内存操作 VxD Virtual Device Driver(.vxd文件) 工作在ring0 不是Windows/DOS应用程序 无限制访问所有硬件设备 自由检测操作系统的数据结构(描述符和页表) 访问任何的内存位置 可以捕获软件中断、IO端口和内存区域访问 可以捕获硬件中断 开发工具 DDK(Device Driver Kit):采用汇编语言 VtoolsD:提供对VxD编程的C/C++类库支持,快速生成VxD代码框架 VDevice类、VVitualMachine类、Vthread类 VHardwareInt类、VSharedHardwareInt类 VDMABuffer类、VDMAChannel类 VIOPort类 WDM Win32 Driver Model(.sys文件) 驱动程序分层,不同层具有不同的优先级 采用功能设备对象FDO与物理设备对象PDO描述硬件 可以创建和删除设备 处理Win32输入/输出请求 访问硬件 调用其它驱动程序 处理电源管理请求 处理热拔插设备 开发工具 DDK(Device Driver Kit):采用汇编语言 DriverWorks:自动生成WDM的程序结构和INF安装信息 Windows窗口 窗口是屏幕上的一个矩形区域,应用程序在该区域中显示数据并等待鼠标点击。 Wi n d o w s 应用系统的用户界面可以包含许多窗口,每个窗口都有不同的特点,但都是互相联系的。 窗口组成 客户区 非客户区:标题栏(任务栏)、边框、滚动条、图标、最大按钮等 Windows窗口类型 重叠( O v e r l a p p e d )窗口:通常用于建立应用程序主窗口。事实上,有时也叫做“主”窗口或者“框架”窗口。 弹出( P o p u p )窗口:通常以对话框和消息框的形式与用户对话。 子窗口( C h i l d ):常用在视图( Vi e w )中,如在文本编辑器中的文本显示,也用在控件中,如在对话框中的O K 按钮。而对那些看起来像按钮或控件的子窗口,也称为“控件”窗口 桌面窗口Desktop Wi n d o w:桌面窗口自身是一个弹出窗口,并且是最高阶弹出窗口有其他窗口都显示在它的上面,并最终属于它。 不同类型窗口-1 不同类型窗口-2 窗口的组成 窗口的创建 用API函数CreatWindow或MFC的CWnd类创建窗口 注册窗口类:将窗口对象与对应的窗口进程、菜单、图标、光标、背景颜色等资源关联起来。 用API函数RegisterClass或MFC的用AfxRegisterWndClass注册 窗口类名是用来标识新窗口类的零结尾字符串。可以任意命名窗口类,但是不要与已有的窗口类同名,除非想使该类无效 常见窗口类名称-1 常见窗口类名称-2 Windows应用程序基本部分 WinMain函数 初始化函数 主初始化函数 InitApplication 实例初始化函数 InitInstance 窗口函数 MainWndProc 消息循环 WinMain函数 int PASCAL WinMain(hInstance,hPrevInstance,lpCmdLine,nCmdShow) HANDLE hInstance,hPrevInstance; //当前示例句柄、前一示例句柄 LPSTR lpCmdLine; //命令行参数 int nCmdShow; //显示窗口的方式 { MSG msg; if(!hPrevInstance) if(!In
文档评论(0)