我隐藏了一个使用JNA的特定窗口,它工作正常,但我需要缩小我的整个项目。我想JNA中有很多东西我不需要。 有没有一种方法/工具,以编程方式删除以下主要方法的情况下从未调用过的所有东西?我的项目中有所有的JNA类,不仅仅是常用的jar文件。减少/缩小使用JNA的Java Project的JAR大小?
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinUser;
import com.sun.jna.platform.win32.WinUser.WNDENUMPROC;
import com.sun.jna.win32.StdCallLibrary;
public class HideHwnd {
public interface User32 extends StdCallLibrary {
User32 INSTANCE = (User32) Native.loadLibrary("user32", User32.class);
boolean EnumWindows(WinUser.WNDENUMPROC lpEnumFunc, Pointer arg);
int GetWindowTextA(HWND hWnd, byte[] lpString, int nMaxCount);
boolean ShowWindow(HWND hWnd, int i);
}
public static void main(String[] args) {
final User32 user32 = User32.INSTANCE;
user32.EnumWindows(new WNDENUMPROC() {
public boolean callback(HWND hWnd, Pointer arg1) {
byte[] windowText = new byte[512];
user32.GetWindowTextA(hWnd, windowText, 512);
String wText = Native.toString(windowText);
if (wText.isEmpty()) {
return true;
}
if (wText.startsWith("window1")){
if (user32.ShowWindow(hWnd, 1))
System.out.println(wText+" is hidden now!");
}
return true;
}
}, null);
}
}
在此先感谢,汤姆
你说的是缩小JAR的大小吗? – 2012-04-22 23:16:51
最后,我猜是的 – Tom 2012-04-22 23:18:28