<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 4, 文章 - 1, 評(píng)論 - 22, 引用 - 0
    數(shù)據(jù)加載中……

    獲取Java程序的窗口句柄

        我們知道C++的每個(gè)窗體都對(duì)應(yīng)著一個(gè)句柄HWND,通過(guò)這個(gè)句柄我們可以對(duì)這個(gè)窗口以及它的資源進(jìn)行各種操作,比如讓它前端顯示等。那么操作系統(tǒng)給Java編寫的窗體(Frame或者JFrame的對(duì)象或者子類對(duì)象)有沒(méi)有分配這個(gè)唯一的HWND呢?
        用spy++查看一下,F(xiàn)rame或者JFrame的對(duì)象或者子類對(duì)象確實(shí)都是存在這個(gè)窗口句柄的,那么我們?cè)趺磥?lái)得到它呢?
        下面就是通過(guò)JNI取得這個(gè)句柄的代碼。
     1HWND GetHwndOfJavaWindow(JNIEnv *env, jobject window)
     2{
     3    cout << "GetHwndOfJavaWindow" << endl;
     4
     5    HWND hwnd = NULL;
     6
     7    JAWT_DrawingSurface *ds;
     8    JAWT_DrawingSurfaceInfo *dsi;
     9    JAWT_Win32DrawingSurfaceInfo *win;
    10
    11    JAWT awt;
    12    awt.version = JAWT_VERSION_1_3;
    13    jboolean result = JAWT_GetAWT(env, &awt);
    14    if(result == JNI_TRUE)
    15    {
    16        ds = awt.GetDrawingSurface(env, window);
    17        jint lock = ds -> Lock(ds);
    18        if(lock != JAWT_LOCK_ERROR)
    19        {
    20            dsi = ds -> GetDrawingSurfaceInfo(ds);
    21            win = (JAWT_Win32DrawingSurfaceInfo *) dsi -> platformInfo;
    22            
    23            hwnd = win -> hwnd;
    24
    25            ds -> FreeDrawingSurfaceInfo(dsi);
    26            ds -> Unlock(ds);
    27            awt.FreeDrawingSurface(ds);
    28        }

    29    }

    30
    31    return hwnd;
    32}

    有了這個(gè)窗口句柄后,我們就可以讓Java窗體也具有很多本地化的功能了,比如閃爍標(biāo)題欄,禁止最大化最小化以及關(guān)閉按鈕等。

    posted on 2010-02-10 11:15 凱子 閱讀(5927) 評(píng)論(2)  編輯  收藏 所屬分類: JNI

    評(píng)論

    # re: 獲取Java程序的窗口句柄[未登錄](méi)  回復(fù)  更多評(píng)論   

    那么如何獲得里面的控件呢?能給出一個(gè)解決方案嗎
    2010-03-30 14:13 | tony

    # re: 獲取Java程序的窗口句柄  回復(fù)  更多評(píng)論   

    標(biāo)記
    2015-03-06 16:01 | jycggyh

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久久亚洲精品中文字幕| 亚洲精品456播放| 91久久亚洲国产成人精品性色| 国产高潮流白浆喷水免费A片 | 四虎免费影院4hu永久免费| 亚洲大码熟女在线观看| 免费爱爱的视频太爽了| 久久午夜夜伦鲁鲁片免费无码影视| 久久精品国产精品亚洲| 久久成人18免费网站| 国产亚洲真人做受在线观看| 视频免费在线观看| 五月天网站亚洲小说| 无码少妇精品一区二区免费动态 | 精品一卡2卡三卡4卡免费视频| 亚洲熟妇丰满多毛XXXX| 久久一本岛在免费线观看2020| 亚洲小视频在线观看| 久久福利资源网站免费看| 天堂亚洲国产中文在线| 麻豆国产人免费人成免费视频 | 成人免费午夜在线观看| 亚洲av色香蕉一区二区三区 | 亚洲av无码无在线观看红杏| 久久99精品视免费看| 亚洲成av人片在线看片| 午夜视频在线观看免费完整版| 成人a毛片视频免费看| 成人免费黄色网址| 无码天堂亚洲国产AV| 久久精品国产亚洲Aⅴ蜜臀色欲| 无码人妻一区二区三区免费看| 亚洲国产午夜电影在线入口| 免费观看日本污污ww网站一区| 人成午夜免费大片在线观看| 亚洲成人激情在线| 毛片a级毛片免费播放100| 日韩免费高清一级毛片| 亚洲国产精品久久久久网站| 性感美女视频在线观看免费精品| fc2免费人成在线|