一个将所有窗口都最小化的问题!

wozhy 2001-12-10 09:20:03
WINDOW98中有一个显示桌面的程序,它的内容是:
[Shell]
Command=2
IconFile=explorer.exe,3

[Taskbar]
Command=ToggleDesktop
请问如何将它运用在VB编程中?
...全文
224 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wozhy 2001-12-21
  • 打赏
  • 举报
回复
没人来,结了吧!
wozhy 2001-12-13
  • 打赏
  • 举报
回复
DeityFox(神狐),你写的我试验后成功了。但是还不能给分。因为我找不到这个常量,你的WIN32API.TXT哪来的,说!
wxj_lake(蔚蓝的风)的方法也不错。(虽然会生成临时文件)我很菜,“Shell "rundll32.exe url.dll,FileProtocolHandler " & "你的路径\显示桌面.scf", vbNormalFocus”中的rundll32.exe url.dll,FileProtocolHandler 是什么意思?
现在已经有两种办法了,继续观望!
DeityFox 2001-12-13
  • 打赏
  • 举报
回复
不好意思,偶也是在一片文章上看来的,没经过调试,也没找到MIN_ALL
这里偶想到另一种办法,这win2k下调试通过:

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Const VK_LWIN = &H5B

Private Sub Command1_Click()
keybd_event VK_LWIN, 0, 0, 0
keybd_event 77, 0, 0, 0
keybd_event VK_LWIN, 0, KEYEVENTF_KEYUP, 0
wxj_lake 2001-12-13
  • 打赏
  • 举报
回复
直接调用这个 显示桌面.scf 就可以了。

首先读取注册表的 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 下的 AppData 的路径值。
显示桌面.scf 就在这个路径的 \Microsoft\Internet Explorer\Quick Launch 下面。

然后你用
Shell "rundll32.exe url.dll,FileProtocolHandler " & "你的路径\显示桌面.scf", vbNormalFocus
就可以了。

其实你把
[Shell]
Command=2
IconFile=explorer.exe,3

[Taskbar]
Command=ToggleDesktop
保存为一个 scf 文件,放在任意路径都可以这样调用。也就不用读注册表了。
wozhy 2001-12-12
  • 打赏
  • 举报
回复
继续观望!
griefforyou 2001-12-12
  • 打赏
  • 举报
回复
MIN_ALL , MIN_ALL_UNDO 的值是多少呀?
uguess 2001-12-12
  • 打赏
  • 举报
回复

我用的是Win2000,如果你也是可以这样:

1、在“资源管理器”中选“工具”—》“文件夹选项”;
2、在弹出来的对话框中选“文件类型”;
3、随便选一种文件类型,点击“高级”按钮;
4、随便选一个操作,点“编辑”按钮;
5、在弹出的对话框中选中“使用DDE”选项;
6、看到“DDE消息”框了吧,这个命令就是应该用在这的。




DeityFox 2001-12-11
  • 打赏
  • 举报
回复
Public Sub MinimizeAll()
findwindow PostMessage 函数声明略

'Minimize all windows
On Error Resume Next
Dim lngHwnd As Long
lngHwnd = findwindow("Shell_TrayWnd", vbNullString)
Call PostMessage(lngHwnd, WM_COMMAND, MIN_ALL, 0&)

End Sub

Public Sub RestoreAll()
'Restore All Windows to their original position
Dim lngHwnd As Long
lngHwnd = findwindow("Shell_TrayWnd", vbNullString)
Call PostMessage(lngHwnd, WM_COMMAND, MIN_ALL_UNDO, 0&)
End Sub

wozhy 2001-12-11
  • 打赏
  • 举报
回复
因为不能给10分,看来只能再等!
wozhy 2001-12-11
  • 打赏
  • 举报
回复
何为DDE控制命令?
uguess 2001-12-11
  • 打赏
  • 举报
回复

这个好像是Windows的DDE控制命令。


wozhy 2001-12-10
  • 打赏
  • 举报
回复
请高手指教!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧