有两个form1、form2,两个显示器,要修改屏幕的分辨率使form1在第一个显示器上显示,form2在另外一个显示器上显示
解决方案 »
- 如何定义一个第一维不确定的二维数组
- CSDN( 杭州 )俱乐部已经成立,欢迎各位本地CSDNer加入,QQ群号: 25088800
- 如何让一个程序活动状态只在任务栏上闪烁,而正在使用的别的程序不受影响!
- 请问一个关于文本框的问题,在线等。
- 数据类型问题
- 用vb6做自定义控件运行时属性无效问题
- 如何做手机短信收发的软件
- datagrid中的每个列是怎样赋值的
- 2000和98下的使用同一个目录中的vb和MSDN。哪位大侠有这方面的经验,指点一下。
- 急!!如何取消RichTextBox的自动换行?Scrollbars=0也不行!
- 帮忙看看piture画图问题吧!显示串口采集数据,可最后只能显示数据,并不能显示没有连续的曲线
- Plt文件转换
Option ExplicitPublic Const MONITORINFOF_PRIMARY = &H1
Public Const MONITOR_DEFAULTTONEAREST = &H2
Public Const MONITOR_DEFAULTTONULL = &H0
Public Const MONITOR_DEFAULTTOPRIMARY = &H1
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Type MONITORINFO
cbSize As Long
rcMonitor As RECT
rcWork As RECT
dwFlags As Long
End TypePublic Declare Function GetMonitorInfo Lib "user32.dll" Alias "GetMonitorInfoA" _
(ByVal hMonitor As Long, ByRef lpmi As MONITORINFO) As Long
Public Declare Function EnumDisplayMonitors Lib "user32.dll" (ByVal hdc As Long, _
ByRef lprcClip As Any, ByVal lpfnEnum As Long, ByVal dwData As Long) As Long
Public Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As _
Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal _
bRepaint As Long) As LongSub Main()
'先显示窗体
Form1.Show
Form2.Show
'在枚举显示器来定位窗体
EnumDisplayMonitors ByVal 0&, ByVal 0&, AddressOf MonitorEnumProc, ByVal 0&
End SubPublic Function MonitorEnumProc(ByVal hMonitor As Long, ByVal hdcMonitor As Long, _
lprcMonitor As RECT, ByVal dwData As Long) As Long
Dim MI As MONITORINFO, R As RECT
MI.cbSize = Len(MI)
GetMonitorInfo hMonitor, MI
R = MI.rcWork
If CBool(MI.dwFlags = MONITORINFOF_PRIMARY) Then '第一显示器
MoveWindow Form1.hwnd, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, 1&
Else
MoveWindow Form2.hwnd, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, 1&
End If
MonitorEnumProc = 1
End Function
如果有1个就不显示另一个窗口,如果有两显示器就显示另一个窗口
怎么做?