reactos操作系统实现(189)

DC(device context)是一个图形对象、图形属性和影响图形输出的集合结构体。CreateDC函数用给定名称为指定的设备创建设备环境。CreateDC一般用于创建打印机的设备环境,也可以用来得到屏幕(硬件屏幕,而不是窗口的客户区)的设备环境。请小心使用这个函数,因为它允许应用程序在屏幕上任何位置绘图,而不仅仅是在窗口的边界内。请用GetDC或BeginPaint来获取屏幕窗口的设备环...
阅读(1881) 评论(0)

reactos操作系统实现(188)

开发操作系统是一个比较复杂的程序开发,调试和测试是一个极其大的任务,工作量很大,那么有什么方法来简化测试呢?尽量把问题找出来呢?在Reactos里是编写了很多API测试程序,也就是针对某一方面的API进行全面的测试。由于Reactos里是共享了很多WINE的API代码,所以它的API测试程序就叫做winetests工程。通过编写特定的API函数来测试,可以把一个一个的API测试出来,而不会导致...
阅读(2050) 评论(2)

reactos操作系统实现(187)

随着全球化的发展,开发软件都是面向多语言的环境。目前大多数程序都是采用不同字体来显示不同语言的办法,那么有没有一种更好的办法,一种字体就可以解决全球语言的显示呢?答案肯定的,它就是采用逻辑字体MSShell Dlg和MSShell Dlg2。比如开发应用程序时,就看到在资源里可以设置MSShell Dlg和MSShell Dlg2作为字体,并且可以设置不同的语言标识号,这样一个...
阅读(2721) 评论(7)

reactos操作系统实现(186)

 要调试内核代码是一件不容易的事情,一般是需要双机调试的方法,一台电脑作为目标机器来运行编译出来的操作系统,另一台电脑作为跟踪调试的机器,用来查看操作系统输出的调试信息、以及输入命令给操作系统。现在就来介绍基于虚拟机的方式来调试内核代码,最简单的方式就是使用串口通讯的方式,并且串口设置为零调制方式,也就是说只需要把数据线接收和发送交叉连接就可以了。假如在物理的电脑里有两个串口,分别命名为COM...
阅读(1702) 评论(0)

reactos操作系统实现(185)

在ReactOS系统里,当安装完成后,如果网络已经可能使用,就可以立即打开应用程序管理器,直接从网络上下载相应的应用程序,这样是很方便安装和管理软件,这些都是跟Linux操作系统学习过来的。具体的界面如下:  这是ReactOS 0.3.11版本的界面,从上面看到可以下载很多非常有用的应用程序,包括最常用的网络浏览器。这一个版本改进是比较大的,很多功能已经完成,就差稳定性了。 ...
阅读(1746) 评论(1)

reactos操作系统实现(184)

GreExtTextOutW函数实现一串字符串输出到指定区域,当然是从字符串变成图片输出。这些都调用FreeType库来实现的,具体实现代码如下:#001  BOOL#002  APIENTRY#003  GreExtTextOutW(#004      INHDC hDC,#005      ININT XStart,#006      ININT YSt...
阅读(1917) 评论(0)

reactos操作系统实现(183)

UserDrawCaptionText函数实现窗口上标题的显示。实现的代码如下:#001  BOOL#002  UserDrawCaptionText(HDC hDc,#003     const PUNICODE_STRING Text,#004     const LPRECT lpRc,#005     UINT uFlags)#006  {#007     ...
阅读(1539) 评论(0)

reactos操作系统实现(182)

UserDrawCaption函数是用来实现窗口标题显示。具体代码如下:#001  BOOL UserDrawCaption(#002     PWINDOW_OBJECT pWnd,#003     HDC hDc,#004     LPCRECT lpRc,#005     HFONT hFont,#006     HICON hIcon,#007     co...
阅读(1428) 评论(0)

reactos操作系统实现(181)

NtUserDrawCaption是内核函数,主要用来实现显示窗口标题。#001  BOOL#002  APIENTRY#003  NtUserDrawCaption(HWND hWnd,#004     HDC hDC,#005     LPCRECT lpRc,#006     UINT uFlags)#007  { 这里主要调用函数NtUserDraw...
阅读(1419) 评论(0)

reactos操作系统实现(180)

DefWndNCPaint函数实现窗口非客户区的显示部分,比如窗口的标题、最大化、最小化、关闭按钮、滚动条等等。#001  LRESULT#002  DefWndNCPaint(HWND hWnd, HRGN hRgn, BOOLActive)#003  {#004     HDC hDC;#005     DWORD Style, ExStyle;#006    ...
阅读(1433) 评论(0)

reactos操作系统实现(179)

SetWindowText函数是实现设置窗口标题上显示的字符串。这个函数在内核里这样实现,代码如下:#001  BOOL WINAPI#002  SetWindowTextW(HWND hWnd,#003                 LPCWSTR lpString)#004  {#005      DWORD ProcessId; 获取这个窗口相关的进程标识号...
阅读(1376) 评论(0)

reactos操作系统实现(178)

SendMessageW函数主要用来向窗口发送消息。下面就是它的实现代码:#001  LRESULT WINAPI#002  SendMessageW(HWND Wnd,#003            UINT Msg,#004            WPARAM wParam,#005            LPARAM lParam)#006  {#007   ...
阅读(1610) 评论(1)

reactos操作系统实现(177)

MessageBoxTimeoutIndirectW的实现代码如下:#001  static int#002  MessageBoxTimeoutIndirectW(#003    CONST MSGBOXPARAMSW *lpMsgBoxParams, UINTTimeout)#004  {#005      DLGTEMPLATE *tpl;#006      ...
阅读(1378) 评论(0)

reactos操作系统实现(176)

MessageBox函数是一个非常简单提示性窗口函数,那么它是怎么实现显示窗口的呢?现在就来分析它的实现代码,如下:#001  int#002  WINAPI#003  MessageBoxW(#004    HWND hWnd,#005    LPCWSTR lpText,#006    LPCWSTR lpCaption,#007    UINT uType)...
阅读(1238) 评论(0)

reactos操作系统实现(175)

GetDesktopWindow函数主要用来获取桌面窗口的句柄。下面就是这个函数的实现代码:#001  HWND WINAPI#002  GetDesktopWindow(VOID)#003  {#004      PWINDOW Wnd;#005      HWND Ret = NULL;#006 使用SEH机制来获取桌面窗口。#007      _SEH...
阅读(1141) 评论(0)
17条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5574817次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论