社区
VB基础类
帖子详情
急救:请问如何通过注册表得知桌面的分辨率
titan90
2003-10-15 06:21:10
请问如何通过注册表得知桌面的分辨率,最好有代码,谢谢
...全文
196
2
打赏
收藏
急救:请问如何通过注册表得知桌面的分辨率
请问如何通过注册表得知桌面的分辨率,最好有代码,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yoki
2003-10-15
打赏
举报
回复
遵从以下的步骤,你就可以改变屏幕的分辨率。将以下代码加入模块文件:
Declare Function EnumDisplaySettings Lib "user32" _
Alias "EnumDisplaySettingsA" _
(ByVal lpszDeviceName As Long, _
ByVal iModeNum As Long, _
lpDevMode As Any) As Boolean
Declare Function ChangeDisplaySettings Lib "user32" _
Alias "ChangeDisplaySettingsA" _
(lpDevMode As Any, ByVal dwFlags As Long) As Long
Declare Function ExitWindowsEx Lib "user32" _
(ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Public Const CCDEVICENAME = 32
Public Const CCFORMNAME = 32
Public Const DM_BITSPERPEL = &H40000
Public Const DM_PELSWIDTH = &H80000
Public Const DM_PELSHEIGHT = &H100000
Public Const CDS_UPDATEREGISTRY = &H1
Public Const CDS_TEST = &H4
Public Const DISP_CHANGE_SUCCESSFUL = 0
Public Const DISP_CHANGE_RESTART = 1
Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
2、下面的例子将演示如何把屏幕分辨率更改为640x480(保持原来的颜色数)。
Dim DevM As DEVMODE
'DevM收集信息
erg& = EnumDisplaySettings(0&, 0&, DevM)
'不改变颜色数目是因为如果改变颜色数就要重新启动
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT 'Or DM_BITSPERPEL
DevM.dmPelsWidth = 640 '屏幕宽度
DevM.dmPelsHeight = 480 '屏幕高度
'DevM.dmBitsPerPel = 32 (还可以为 8, 16, 32甚至4)
'改变显示模式并检查是否可能
erg& = ChangeDisplaySettings(DevM, CDS_TEST)'检查是否成功 Select Case erg&
Case DISP_CHANGE_RESTART
an = MsgBox("你现在必须重新启动系统,执行吗?", vbYesNo + vbSystemModal, "消息")
If an = vbYes Then erg& = ExitWindowsEx(EWX_REBOOT, 0&)
End If
Case DISP_CHANGE_SUCCESSFUL
erg& = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
MsgBox "一切正常!", vbOKOnly + vbSystemModal, "成功"
Case Else
MsgBox "显示模式不支持", vbOKOnly + vbSystemModal, "错误"End Select
End Sub
yoki
2003-10-15
打赏
举报
回复
不用注册表,下面的例子将演示如何得到当前屏幕的分辨率:
ResWidth = Screen.Width \ Screen.TwipsPerPixelX
ResHeight = Screen.Height \ Screen.TwipsPerPixelY
ScreenRes = ResWidth & "x" & ResHeight
ResWidth和ResHeight分别表示屏幕的宽和高,比如这样的结果:
800x600
IE
急救
箱,
桌面
图标不能删除,修改
注册表
因此,当常规方法无法删除
桌面
图标时,用户可能会尝试修改
注册表
来解决问题,但这对不熟悉电脑操作的用户来说可能会很复杂且风险较高,因为错误的操作可能导致系统不稳定甚至崩溃。 "恶意篡改IE"指的是恶意软件对...
最新研究删除
桌面
图标病毒最佳方法,99.9%好用
1. **
桌面
图标的真实路径查找**:通过运行
桌面
清理向导,可以将可疑图标移动到“未使用的
桌面
快捷方式”文件夹中,从而暴露出它们的真实文件名和路径。这是识别并定位病毒的重要步骤。 2. **
注册表
编辑**:文件...
桌面
出现两个ie图标删不掉怎么办.docx
标题和描述中提到的问题是关于
桌面
...然后,通过使用安全软件、更改权限、进入安全模式或操作
注册表
等方法,通常可以解决这些问题。不过,对于非专业用户来说,建议在尝试操作之前备份重要数据,并寻求专业人员的帮助。
几个常见的电脑小问题.doc
- 或者,通过
注册表
编辑器找到`HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\`下的`.lnk`键,并将其值修改为`lnkfile`。 2. **还原快捷图标打开方式**: - 在开始菜单中选择[运行],输入`regedit`打开
注册表
编辑器。 - ...
ie更改不了主页了怎么办???
- 可以尝试通过系统还原点恢复到问题发生前的状态,但这可能会影响其他设置和安装的软件。 5. **检查浏览器设置**: - 检查IE浏览器的属性设置,确保“主页”栏中的地址是你期望的主页。如果被篡改,可以手动输入...
VB基础类
7,789
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章