If Screen.AllScreens.Count > 1 Then
Dim screen As Screen
Dim scrwidth As Integer
screen = screen.AllScreens(1)
scrwidth = screen.AllScreens(1).Bounds.Size.Width / 2
Me.Location = screen.Bounds.Location
Me.Left += scrwidth - Me.Width / 2
END if
---------------------------------------------
大概是類似這樣吧:
Dim screen As Screen
screen=screen.Allscreens (1)
Form2.Location=screen.Bounds.Location
Form2.Show()
-----------------------------------------------
https://www.ptt.cc/bbs/EZsoft/M.1357913495.A.083.html
設定:進入控制台 -> 螢幕解析度 -> 偵測
-> 點選新出現的第二顆虛擬螢幕(未偵測到另一部顯示器)
-> 下方的 多部顯示器(M)下拉選單:仍然在VGA上嘗試連線
-> 確定
優點:不須安裝任何軟體,Windows系統內建。
不會因為隨意的鍵鼠訊號而使螢幕再度開啟。
可透過系統內建DisplaySwitch指令加參數來達成自訂熱鍵(見延伸進階)
缺點:作業系統僅限 Win7(支援) / Vista(未驗證) / XP(未驗證)。
熱鍵若要自訂可能須利用regedit修改註冊表達成,方法未知。(已解決,見延伸進階)
此法鍵鼠訊號並未鎖住,也就是說鍵鼠訊號的輸入依然正常,僅止於不會打開螢幕。
若使用環境上真的有接外接投影裝置,則該裝置啟動。
資料參考:http://www.mobile01.com/topicdet ... t=2502600&p=1#3
mustrong 2011-12-20 01:59 #10
延伸進階:本法是透過作業系統"C:\Windows\System32\DisplaySwitch.exe"
的預設快速鍵來達成,可透過各種方式來達成自訂想要的熱鍵
(建立cmd/捷徑/批次檔、API、Autohotkey類程式)
displayswitch.exe
/internal 預設螢幕(等於打開筆電螢幕)
/clone 同步顯示
/extend 延伸螢幕
/external 外接螢幕/投影機(等於關閉筆電螢幕)
ex.以捷徑為例
對著C:\Windows\System32\DisplaySwitch.exe
點右鍵→傳送到→桌面(建立捷徑)
回到桌面對著捷徑→右鍵→內容→目標(T)
在Displayswitch.exe後加上你要的其中一個參數
即可設定此捷徑執行該模式
/internal 預設螢幕(等於打開筆電螢幕)
/external 外接螢幕/投影機(等於關閉筆電螢幕)
對著捷徑→右鍵→內容→快速鍵 (此處設定你想要的快速鍵)
ex.以cmd/bat(批次檔)為例(附檔名可存成.cmd或.bat)
建立一個純文字文件「關閉螢幕.cmd」,文字內容為
C:\Windows\System32\DisplaySwitch.exe /external
存檔後未來只要執行「關閉螢幕.cmd」即可關掉筆電螢幕。
(打開螢幕就是把/external換成/internal即可)
若要設定快速鍵亦可用捷徑的方式:
對著「關閉螢幕.cmd」點右鍵→傳送到→桌面(建立捷徑)
回到桌面對著捷徑→右鍵→內容→快速鍵 (此處設定你想要的快速鍵)
至於AutoHotKey的方法請參考#1Gy9gvRY (EZsoft)Re: [請問] 關筆電螢幕的軟體
資料參考:http://tinyurl.com/bvkcw9w
If you want to use APIs with this command, you would need to post
your query in MSDN for better support.
http://social.msdn.microsoft.com/Forums/en-US/windowssdk/threads |