Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java将窗口置于前端_Java_Dll_Window_Desktop - Fatal编程技术网

从Java将窗口置于前端

从Java将窗口置于前端,java,dll,window,desktop,Java,Dll,Window,Desktop,有没有办法用Java把窗口放在最前面?也许使用一些操作系统库?这似乎是可能的,但是您的解决方案将非常特定于操作系统 理论上,可以按以下顺序调用win32 API: 或者 现在的问题是“如何从java调用它们?”。以上所有函数都是在user32.dll中定义的,可以通过访问 使用JNA对user32 API的一些示例引用包括: 使用谷歌查找更多信息 希望这会有所帮助。SWT非常适合Win32调用 导入org.eclipse.swt.internal.win32.OS @禁止警告(“限制”)

有没有办法用Java把窗口放在最前面?也许使用一些操作系统库?

这似乎是可能的,但是您的解决方案将非常特定于操作系统

理论上,可以按以下顺序调用win32 API:

  • 或者
  • 现在的问题是“如何从java调用它们?”。以上所有函数都是在
    user32.dll
    中定义的,可以通过访问

    使用JNA对user32 API的一些示例引用包括:

  • 使用谷歌查找更多信息


    希望这会有所帮助。

    SWT非常适合Win32调用

    导入org.eclipse.swt.internal.win32.OS

    @禁止警告(“限制”)

    int hwnd=OS.FindWindowW(null,“Titlein.toCharArray())

    包聚焦;
    导入com.sun.jna.Native;
    导入com.sun.jna.platform.win32.WinDef.HWND;
    导入com.sun.jna.win32.StdCallLibrary;
    公开课预习{
    专用接口User32扩展StdCallLibrary{
    最终的User32实例=(User32)Native.loadLibrary(“User32”,User32.class);
    布尔SetForegroundWindow(HWND句柄);
    HWND FindWindowA(字符串类名称、字符串窗口名称);
    HWND GetForegroundWindow();
    }
    私有字符串getWindowName(字符串winName){
    字符串winText=“”;
    if(winText.contains(winName)){
    返回winText;
    }
    返回null;
    }
    公共布尔布尔值BringwindofRont(字符串类名称,字符串winName){
    HWND HWND=User32.instance.FindWindowA(类名,getWindowName(winName));
    if(hWnd==null){
    返回false;
    }
    返回User32.instance.SetForegroundWindow(hWnd);
    }
    
    }
    请更正标题您能详细说明激活窗口是什么意思吗?我固定了标题,我想他是想把窗口放在前面,但我不确定..如果“windows”是继承了
    java.awt.window的东西
    toFront
    方法将它带到当前JVM中另一个窗口的前面。这是一个无法回答的问题,因为它目前正在编写中。感谢Favonius,我将证明它。您能告诉我们如何知道哪个DLL正在执行哪种函数吗?有办法知道吗?