当前位置:天才代写 > tutorial > JAVA 教程 > com.ms.win32包

com.ms.win32包

2017-11-13 08:00 星期一 所属: JAVA 教程 浏览:936

Win32 API的体积相当复杂——包括了数以千计的函数、常数以及数据范例。虽然,我们并不想将每个Win32 API函数都写成对应Java形式。微软思量到了这个问题,刊行了一个Java包,可通过J/Direct将Win32 API映射成Java类。这个包的名字叫作com.ms.win32。安装Java SDK 2.0时,若在安装选项中举办了相应的配置,这个包就会安装到我们的类路径中。这个包由大量Java类组成,它们完整再现了Win32 API的常数、数据范例以及函数。海涵本领最大的三个类是User32.class,Kernel.class以及Gdi32.class。它们包括的是Win32 API的焦点内容。为利用它们,只需在本身的Java代码里导入即可。前面的ShowMsgBox示例可用com.ms.win32改写成下面这个样子(这里也思量到了用更得当的方法利用UnsatisfiedLinkError):
 

import com.ms.win32.*;

public class UseWin32Package {
  public static void main(String args[]) {
    try {
      User32.MessageBeep(
        winm.MB_ICONEXCLAMATION);
      User32.MessageBox(0,
        "Created by the MessageBox() Win32 func",
        "Thinking in Java",
        winm.MB_OKCANCEL |
        winm.MB_ICONEXCLAMATION);
    } catch(UnsatisfiedLinkError e) {
      System.out.println("Can’t link Win32 API");
      System.out.println(e);
    }
  }
}

Java包是在第一行导入的。此刻,可在不举办其他声明的前提下挪用MessageBeep()和MessageBox()函数。在MessageBeep()里,我们可看到包导入时也声明白Win32常数。这些常数是在大量Java接口里界说的,全部定名为winx(x代表欲利用之常数的首字母)。
写作本书时,com.ms.win32包的开拓仍未正式完成,但已可堪利用。

 

    关键字:

天才代写-代写联系方式