下面是代码,附件是二个jar文件
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* NewJFrame.java
*
* Created on 2010-12-16, 6:55:38
*/
package jna;
import com.sun.jna.Native;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinUser.FLASHWINFO;
import com.sun.jna.win32.StdCallLibrary;
/**
*
* @author Administrator
*/
public class NewJFrame extends javax.swing.JFrame {
/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
this.setTitle("AAAss");
User32 user32 = (User32) Native.loadLibrary ("user32",User32.class);
char[] windowText = new char[512];
HWND wnd = user32.INSTANCE.FindWindow(null, "AAAss");
user32.INSTANCE.GetWindowText(wnd, windowText, 512);
System.out.println(Native.toString(windowText));
FLASHWINFO flashInfo=new FLASHWINFO();
flashInfo.hWnd=wnd;
flashInfo.dwFlags = 0x00000003;
flashInfo.uCount = 1000000;
flashInfo.dwTimeout = 0;
flashInfo.cbSize =20;
System.out.println( user32.INSTANCE.FlashWindowEx(flashInfo));
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setName("Form"); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>//GEN-END:initComponents
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
// End of variables declaration//GEN-END:variables
}
interface User32s extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
boolean FlashWindowEx(FLASHWINFO flashWInfo);
}
分享到:
相关推荐
在Java编程环境中,有时我们需要与操作系统底层交互,这时Java Native Access (JNA) 就派上了用场。JNA提供了一种无需编写C代码或使用JNI(Java Native Interface)即可调用操作系统API的方法。本话题将详细介绍如何...
例如,你可能需要使用JNA调用本地图形库来显示海康威视设备的视频流,然后在JFrame上呈现这些视频帧。 总结起来,"jna-3.0.9.jar和examples.jar"是Java开发中用于本地库交互的重要工具,它们可以帮助开发者轻松地...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码无需编写本地代码(如C/C++)即可直接调用操作系统级别的API。JNA通过动态链接库(DLLs on Windows,shared libraries on Unix/Linux)实现了这...
1. JFrame透明:JNA可以用来调用Windows API,实现JFrame的透明效果。例如,通过修改窗口的WS_EX_LAYERED样式并设置透明度。 ```java public static void setOpaque(JFrame frame, int alpha) { HWND hwnd = new ...
在你提供的压缩包"jna整合包-jna4.5.0+jna4.0.0.rar"中,包含了两个版本的JNA库:jna-4.0.0.jar和jna-4.5.0.jar。这两个版本的差异主要体现在功能的完善和性能的优化上。JNA 4.5.0是较新的版本,相比4.0.0,它可能...
为了弥补这个不足,开发人员可以使用Java Native Access (JNA),这是一个Java平台上的库,允许Java代码调用本机库函数,与操作系统进行更直接的交互。 JNA是Java与本机代码之间的一个桥梁,它消除了编写C/C++头文件...
对于 JFrame 的透明度,JNA 可能被用来调用操作系统级别的 API 来设置窗口属性,比如 Windows 上的 `SetLayeredWindowAttributes` 函数或 X11 系统的 `XSetWindowAttributes` 函数。不规则形状的 JFrame 则可能涉及...
jna-4.5.1 , jna-4.5.1-sources , jna-platform-4.5.1 jar包 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码直接调用操作系统提供的原生函数,而无需编写C/C++的桥接代码。JNA通过映射Java方法到本地函数,实现了Java与操作系统底层功能的交互,极大地...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码直接调用本机库(C、C++等)的函数,无需编写JNI(Java Native Interface)代码。JNA通过提供一种抽象层,使得Java开发者可以相对简单地与操作...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码与本地操作系统功能进行交互,无需编写C语言的动态链接库(DLL)或Java本机接口(JNI)代码。JNA提供了更简单的方式来调用操作系统API,极大地...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码直接调用操作系统提供的原生函数,而无需编写C语言的JNI(Java Native Interface)代码。JNA 4.1.0是该库的一个官方版本,提供了增强的功能和...
标题中的"jna-4.2.2.jar"和"jna-platform-4.2.2.jar"是Java Native Access (JNA)框架的两个关键组件的版本号为4.2.2的JAR文件。JNA是Java平台上的一个开源库,它允许Java代码直接调用操作系统提供的原生函数,而无需...
"jna" 指的是Java Native Access,而 "jna-example" 暗示了这个话题将涉及JNA的使用示例,这对于初学者或者需要深入理解JNA功能的人来说非常有价值。 **文件列表解析:** 压缩包中唯一的文件 `jna-3.0.9.jar` 应该...
### JNA 实例详解 #### 一、JNA简介与应用场景 JNA(Java Native Access)是一种能够让Java程序调用本地库(Native Libraries)的技术,它允许开发人员在不编写JNI(Java Native Interface)代码的情况下访问本地...
# 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...
# 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...
Java Native Access(JNA)是Java平台上的一个开源库,它允许Java代码与本地操作系统API进行交互,无需编写C代码或使用Java Native Interface (JNI)。JNA通过提供一种高级接口,让开发者能够轻松地调用本地库函数,...
标题“JNA-5.8.0/JNA-PLANTFORM-5.8.0”提及的是Java Native Access (JNA)的一个版本,具体是5.8.0。JNA是一个Java库,允许Java代码直接调用操作系统API,无需编写C/C++的中间层,也就是所谓的本地方法库。这个特性...
# 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...