您的位置:首页 > 运维架构 > Shell

恶趣味程序之《徒有其表》

2012-10-04 15:52 495 查看
这个非常有意思又带着“幽默”趣味小程序是我近日在一个网友的贴子中得到的灵感。

程序:徒有其表 1.0

开发环境:VB6.0 + windows xp

运行效果:隐藏桌面的一切,并且制造一个一模样的“假象”。

源码:为了不养成网友们只会“伸手”的坏习惯,主要部分的源码我会在讲解中贴出来,但不提供下载。

下面开始讲述,首先列出程序的流程:

1.显示桌面。

2.完整的截屏并保存成图片文件(相当于PrintScreen键的功能)。

3.隐藏桌面图标与任务栏。

4.把截屏保存的图片设置成桌面壁纸。

5.完成之桌面看起来并没有什么变化,只是什么也打不开,鼠标左右键都置若罔闻,类似假死现象。

源码:

'显示桌面
Private Sub DeskShow()

Dim m_Shell   As New Shell32.Shell

m_Shell.MinimizeAll

End Sub


 

'截屏未保存(数据在缓存区)
Private Sub Cap()

BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, GetDC(GetActiveWindow), 0, 0, vbSrcCopy '抓屏

End Sub

'完整路径
Private Function Format(path As String, exten As String)

Format = path & "back" & exten

End Function

'截屏保存
Private Sub PrintScreen()

Dim sFile As String

Call Cap

sFile = Format("c:\", ".jpg")

SavePicture Me.Image, sFile '保存数据   Me.hDC

End Sub


'隐藏桌面图标
Private Sub HideDisk(window As String, hide As Integer)

Dim Hwd As Long

Dim rtn As Long

Hwd = FindWindow(window, vbNullString)

If (hide = 1) Then
rtn = ShowWindow(Hwd, SW_HIDE)
ElseIf (hide = 0) Then
rtn = ShowWindow(Hwd, SW_RESTORE)
End If

End Sub
'调用
    Call HideDisk("Progman", 1)         '隐藏桌面图标
    Call HideDisk("Shell_TrayWnd", 1)   '隐藏任务栏


'即时设置壁纸
Private Sub SetBackpic(path As String)

Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)

End Sub
'声明
Const SW_HIDE = 0
Const SW_RESTORE = 9
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_SENDWININICHANGE = &H2

以上几乎是全部代码的,思路和主要源码都给出了,希望大家可以自己DIY更多有趣的东西,编程也可以很快乐的。

 

恢复的办法也很简单,只要把隐藏的桌面和任务栏显示出来就可以了,函数上面也给出了。

 

小y本身是做软件售后工作的,水平刚入门,让各位大虾见笑了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息