RCP中获取主机名称,mac等信息

SWT Win32 Extension 是Eclipse类库SWT的Win32本地原生扩展. 

 

本项目提供了一个软件开发工具库,能够让您使用Java语言开发原生的Windows应用程序而不需要编写额外的JNI代码。

使用SWT Win32 Extension,您将不需要创建原生的动态链接库来调用操作系统动态链接库的系统API或者方法。

您仅仅需要做的就是编写Java代码,SWT Win32 Extension来负责剩下的部分。

SWT Win32 Extension提供了一系列的功能使您的应用程序看上去和Win32本机程序别无二致。

  1. 窗口装饰功能: 提供窗口置顶,透明,闪动等功能。
  2. 自定义窗口: 创建不规则的窗口。
  3. 访问Windows注册表。
  4. 系统文件夹: 获取系统特殊文件加的路径和图标。
  5. 系统快捷方式: 管理系统快捷方式。
  6. 系统相关信息: 收集系统CPU,内存,环境变量等相关信息。
  7. 系统会话: 提供关机,休眠,重启,注销等功能。
  8. 系统IO及网络功能: 提供磁盘和网络相关信息。
  9. 活动桌面功能: 管理Windows活动桌面。
  10. 系统钩子: 注册和卸载系统钩子,能够拦截和处理系统事件。
  11. 窗口系统菜单: 管理窗口菜单。
  12. 用户可以自定义系统菜单和处理菜单事件。
  13. Ole 控件: 提供对一些常用控件的封装,比如flash。

值得一提的是,您能够访问SWT提供的所有功能,因为SWT Win32 Extension是从SWT派生出来的。

实例如下:

public static void main(String[] args) {
  //Extension Extension=new Extension();  
        System.out.println("计算机名称: "+Extension.GetComputerName());  
        System.out.println("系统登陆帐号: "+Extension.GetUserName());  
        System.out.println("系统CPU编号: " + Extension.GetCPUID());  
        System.out.println("系统 MAC编号: " + Extension.GetMACID()); 
        System.out.println(Extension.GetCpuUsages());
 }

结果会抛出个这样的异常
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.eclipse.swt.internal.C.PTR_sizeof()I
 at org.eclipse.swt.internal.C.PTR_sizeof(Native Method)
 at org.eclipse.swt.internal.C.<clinit>(C.java:24)
 at com.hengte.example.SystemInfo.main(SystemInfo.java:10)

这个异常出现的原因是找不到DLL文件或者是多个DLL文件冲突所造成的,去掉其他的DLL文件只要导入swt-extension-win32.dll, 运行,这是控制台打印的结果:
计算机名称: XP-200901051818
系统登陆帐号: Administrator
系统CPU编号: BFEBFBFF00010676-0000000000000000
系统 MAC编号: [I@3ecfff

 

详情请见http://jerryqiu.javaeye.com/blog/526287

也可以把swt-extension-win32.dll文件放入到jdk安装目录bin下就可以了.但是要导入jar包.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值