壁紙のフルパスを取得          <TOP>


現在表示されている壁紙のフルパスを取得します。

SystemParametersInfo システム全体に関するパラメータを取得・設定

SPI_GETDESKWALLPAPER(115) 壁紙のフルパスを取得
 

 

'================================================================
'= 壁紙のフルパスを取得
'=   Windows2000以降
'=     (GetWallpaperPath.bas)
'================================================================
#include "Windows.bi"

' システム全体に関するパラメータを取得・設定
Declare Function Api_SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction&, ByVal uiParam&, pvParam As Any, ByVal fWinIni&)

#define SPI_GETDESKWALLPAPER 115        '壁紙のフルパスを取得
#define MAX_PATH 260

Var Shared Text1 As Object
Var SHared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var WallpaperPath As String * MAX_PATH
    Var Ret As Long

    '壁紙のフルパスを取得
    Ret = Api_SystemParametersInfo(SPI_GETDESKWALLPAPER, Len(WallpaperPath), WallpaperPath, 0)

    '壁紙のフルパスを表示
    Text1.SetWindowText Left$(WallpaperPath, InStr(WallpaperPath, Chr$(0)) - 1)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End