第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HWND 的 native@0xc41bcc 輸出到實際窗口 ID

HWND 的 native@0xc41bcc 輸出到實際窗口 ID

米脂 2023-04-26 16:31:32
我在嘗試讓這個 JNA findwindow 工作時遇到問題,它給我 Windows ID (HWND) 而不是一些瘋狂的輸出 (native@0xc41bcc)。我通過使用 C# 了解到,在使用 findwindow 時,它會提供找到的窗口的 ID,然后我可以使用該 ID 來移動/調整該窗口的大小/等等。我的代碼:public String exec(ITestExecutionServices tes, String[] args) {    try {        writer = new PrintWriter("c:/temp/the-file-name.txt", "UTF-8");    } catch (FileNotFoundException | UnsupportedEncodingException e1) {        e1.printStackTrace();    }    try {        final User32 user32 = User32.INSTANCE;        try {            Thread.sleep(5000);        } catch (InterruptedException e) {            e.printStackTrace();        }        user32.EnumWindows(new WNDENUMPROC() {            @Override            public boolean callback(HWND hWnd, Pointer arg1) {                byte[] windowText = new byte[512];                user32.GetWindowTextA(hWnd, windowText, 512);                String wText = Native.toString(windowText);                wText = (wText.isEmpty()) ? "" : wText;                if (wText.toLowerCase().contains("- funct test -")) {                    writer.println("text: " + wText);                    writer.println("HWND: " + hWnd);                    //User32.INSTANCE.SetWindowPos(hwnd, new HWND(Pointer.createConstant(HWND_BOTTOM)), 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);                    WinDef.HWND hwndFound = User32.INSTANCE.FindWindow(null, wText);                    writer.println("hwndFound: " + hwndFound);                    writer.println("t/f: " + User32.INSTANCE.MoveWindow(hwndFound, 500, 500, 10, 100, true));                    //User32.INSTANCE.SetWindowPos(hWnd, new HWND(Pointer.createConstant(HWND_BOTTOM)), 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);                }                return true;            }        }, null);    }
查看完整描述

1 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

我認為這可能會有所幫助:


import com.sun.jna.Pointer;

import com.sun.jna.platform.win32.User32;

import com.sun.jna.platform.win32.WinDef;

而這個功能:


public long getWindowId(String title) {

  WinDef.HWND hwnd = User32.INSTANCE.FindWindow(null, title);


  return Pointer.nativeValue(hwnd.getPointer());

}


查看完整回答
反對 回復 2023-04-26
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號