最近公升級成了雙顯示器,
以前只是知道雙顯示器爽,但用過之後才知道,原來這麼爽。
然而美中不足,我也發現了一點小問題,就是我經常有這樣乙個需求:
有乙個程式,已經被最大化了,我要將它從乙個顯示器移動到另乙個顯示器上面,同時仍然保持最大化。
以前要完成這個事情,我需要首先將此程式還原,移動到另乙個顯示器,再將其最大化。
這回的目的就是將這一系列繁瑣的過程自動化掉。 使用vc++ 2008實現。
程式的功能是只要一執行它,就將當前的活動視窗移動到另乙個顯示器上面,並實現最大化。
至於這個程式的執行時機,叫給autohotkey,或者launchy來完成。
首先建立乙個工程,我覺得最合適的模板是:
其實這個型別本無所謂。但我之所以喜歡這個模板是因為:
首先,我不想看到那個黑呼呼的dos視窗,執行這個命令的時候他不美觀不要緊,
更關鍵的是在我去取活動視窗的時候, 會取到他自己。
其次我也不喜歡我這小小的功能還要弄出乙個視窗來(vs2008中mfc的入口貌似又一次被封裝了,我找不到頭了。)
也正因為此,我在建立完上述模板後,做的第一件事情就是將入口:_twinmain的函式體,替換為下面**。
int const width_move = ::getsystemmetrics(sm_cxscreen);
//if used in autohotkey( set this flag to false.
//if used in launchy ( set this flag to true.
int use_launchy = 0;
if (use_launchy)
//step 02, normalize the target window
hwnd hwnd = ::getforegroundwindow();
::showwindow(hwnd,sw_normal);
//step 03, move window
rect rect;
::getwindowrect(hwnd,&rect);
if (rect.left>=0)
else
::setwindowpos(hwnd,hwnd_top,rect.left, rect.top , rect.right - rect.left ,rect.bottom - rect.top , swp_showwindow);
//step 04, maximize target window again.
::showwindow(hwnd,sw_showmaximized);
這就一切ok啦~ 編譯,然後放到autohotkey,或者launchy裡面行啦~
需要說明的是:
1. 關於上述程式中的常量: width_move
我沒有做仔細的調查,如果兩個顯示器大小不一樣,可能需要調整。
對於我目前的需求,設定成主顯示器的寬度夠用。
2. 關於上述程式中的變數: use_launchy
如果在launchy中使用,我要去的視窗其實是除了launchy以外的最前視窗。
所以我要先把launchy隱藏掉。
ubuntu 連線雙顯示器
我的是雙顯示卡,單顯示卡應該也適用 兩個顯示器的輸入線同時插在主顯示卡我最右邊兩個口就可以了 每個顯示卡自帶4個插口,3個dp,乙個hdmi 我乙個插的dp介面,另乙個插得的hdmi 使用命令檢視連線情況 xrandr screen 0 minimum 8 x 8,current 3840 x 14...
UBUNTU下雙顯示器設定
ubuntu下雙顯示器設定 ubuntu gnome 現在已經能很好的處理雙屏了,無論是轉殖方式還是擴充套件方式!但有時我們需要乙個不同的管理器如awesome fluxbox這類簡單的視窗管理器中又如何設定成雙顯呢?其實也很容易 xrandr就可以了!1 了解設定的名稱 直接執行xrandr 不帶...
Ubuntu下雙顯示器設定
自8.10後的版本,系統自帶了xrandr工具,可以很好的實現雙顯示器。配置與使用如下 介紹 x windows 中有乙個顯示解析度的概念,在預設情況下,這個顯示解析度為 max max max等於你的所有連線上的顯示器中最大解析度中的最大值。例如我的筆記本液晶屏最大解析度為 1024 768,外接...