网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月01日漏签0天
vb吧 关注:156,084贴子:1,166,235
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 9回复贴,共1页
<<返回vb吧
>0< 加载中...

刷新屏幕

  • 只看楼主
  • 收藏

  • 回复
  • 璐村惂鐢ㄦ埛_007J3Ae馃惥
  • 递归爆栈
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindowEx Lib "user32" _
    Alias "FindWindowExA" (ByVal hWnd1 As Long, _
    ByVal hWnd2 As Long, ByVal lpsz1 As String, _
    ByVal lpsz2 As String) As Long
    Const WM_KEYDOWN = &H100

Public Sub RefreshDesktop()
    Dim DeskWin As Long
    DeskWin = FindWindowEx(0&, 0&, "Progman", vbNullString)
    DeskWin = FindWindowEx(DeskWin, 0&, "SHELLDLL_DefView", vbNullString)
    DeskWin = FindWindowEx(DeskWin, 0&, "SysListView32", vbNullString)
    PostMessage DeskWin, WM_KEYDOWN, &H74, &H3F0001
End Sub
        

Private Sub Command1_Click()
Call RefreshDesktop
End Sub



  • 潜水V无敌
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
方法二
Private Declare Function InvalidateRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As Any, ByVal bErase As Long) As Long


Private Sub Command1_Click()
Call InvalidateRect(0, ByVal 0&, True)
End Sub


2025-09-01 19:31:10
广告
不感兴趣
开通SVIP免广告
  • gsksoft
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一个比一个厉害...


  • Redhatvip
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
King 你跟潜水怎么出这种东西。。


  • 潜水V无敌
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
????? 怎么了?我记得以前好象CBM老师还找过这东西呢


  • cbm666
  • 子类化
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
呵呵你还记得啊, 当时就是因为桌面背景图片要 "即时" 更新, 当时想到的办法就是只要能刷新就OK了, 但那时就是找不到答案, 因祸得福, 却让我得到了更好的解决方式,云霞散人的一个参数就搞定了.


  • ReAgain
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
参数?什么参数,透露一下啊


  • 潜水V无敌
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
您的那个软件做完了吗?
我也做过一个.可是 显示位置 (拉伸,平铺,居中) 我做不出来.
不知可否把您的那个发一份给我研究一下?

YM_0433@163.com

先谢过.


2025-09-01 19:25:10
广告
不感兴趣
开通SVIP免广告
  • cbm666
  • 子类化
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我没做那么多,我只做 "拉伸", 其它很简单啊, 居中就是用 (screen.width-picture1.width)\2 与 (screen.height-picture1.height)\2

平铺就是几张小图片用屏幕的宽与高去除上图片的宽与高, 这个你不会的话我再给你写下代码吧.

回7F 下面这行就是重点
SystemParametersInfo SPI_SETDESKWALLPAPER, 0, wallpaper, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE



Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = &H1
Const SPIF_SENDWININICHANGE = &H2
Dim jj%, wallpaper$
Private Sub Form_Load()
 Command1.Caption = "更换桌面"
End Sub

Private Sub Command1_Click()
 CommonDialog1.DialogTitle = "Choose a bitmap"
 CommonDialog1.Filter = "Windows Bitmaps (*.BMP)|*.bmp|All Files (*.*)|*.*"
 CommonDialog1.ShowOpen
 If CommonDialog1.FileName <> "" Then
 wallpaper = CommonDialog1.FileName
 jj = InStrRev(wallpaper, ".")
 If jj > 0 Then
 If UCase(Mid(wallpaper, jj + 1, Len(wallpaper) - jj)) <> "BMP" Then
 wallpaper = Mid(wallpaper, 1, jj - 1)
 wallpaper = wallpaper & ".bmp"
 '这是我代码里面的 Picture1本身有一张图片
 SavePicture Picture1.Picture, wallpaper
 End If
 SystemParametersInfo SPI_SETDESKWALLPAPER, 0, wallpaper, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE
 End If
 End If
End Sub


  • cbm666
  • 子类化
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
'这是小图片 "平铺" 后设为桌面
'添加Picture1

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Const SPI_SETDESKWALLPAPER = 20
Const SPIF_UPDATEINIFILE = &H1
Const SPIF_SENDWININICHANGE = &H2
Dim i%, t%, wallpaper$, rtn&

Private Sub Form_Load()
 Me.AutoRedraw = True
 Me.Width = Screen.Width: Me.Height = Screen.Height
 Me.Move 0, 0
 With Picture1
 .BorderStyle = 0
 .AutoSize = True
 .Picture = LoadPicture("c:\fball.gif")
 .Move Screen.Width, 0
 End With
End Sub

Private Sub Form_Activate()
 PictureTile Me, Picture1
 rtn = MsgBox("您确定要将本张图片设为桌面吗 ?", vbYesNo, "桌面背景")
 If rtn = 6 Then
 wallpaper = "c:\ttt.bmp"
 '************************* 存为 .bmp
 SavePicture Me.Image, wallpaper
 '************************* 设为桌面
 SystemParametersInfo SPI_SETDESKWALLPAPER, 0, wallpaper, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE
 End If
End Sub

Sub PictureTile(Frm As Form, Pic As PictureBox)
 For t = 0 To Frm.Height Step Picture1.ScaleHeight
 For i = 0 To Me.Width Step Picture1.ScaleWidth
 Me.PaintPicture Picture1.Picture, i, t
 Next i
 Next t
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示