上篇:
我在開發時,因為使用 15″ LED 的 NB ,也就是單螢幕,所以最近開始在公司電腦安裝後,就有人反應螢幕保護程式只有一個螢幕有,其他螢幕只有底色。
對不起喔,我只是個單螢幕的使用者…
需求來了就得更新,由於預覽模式只有單螢幕,所以要把實際執行跟預覽再切開。
前篇說過,我的開發環境是 .Net framework 4.0 ,所以直接用 .Net 的物件。
Dim ibs, ubs As Integer
Dim arrScreens() As Screen = Screen.AllScreens
ubs = UBound(arrScreens)
[略]
Select Case .CommandLineFlag
[略]
Case CommandLineOptions.Start
Dim arrMains(ubs) As frmMain
For ibs = 0 To ubs
arrMains(ibs) = New frmMain
With arrMains(ibs)
.Show()
.Left = arrScreens(ibs).Bounds.Left
.Top = arrScreens(ibs).Bounds.Top
.WindowState = FormWindowState.Maximized
End With
Next
Application.Run(arrMains(0))
[略]
用 Screen.AllScreens 取得所有螢幕,在每一個螢幕上丟上螢幕保護的畫面,由於每個畫面座標不同,所以至少左上角要在新螢幕裡,然後在最大化。
剛好我先前輪播圖片的時候,是呼叫統一的 PlayNext ,所以多螢幕化的時候,每個螢幕呼叫 PlayNext 都會將圖片播放下一張,可以讓每個螢幕都播放不同照片,也完成了多螢幕的支援。
引用通告: [cmd] 從 Nas 上更新 system32 目錄檔案 | 鄭子璉