2011-01-31 17 views

答えて

2

レジストリから現在の壁紙を読むことができます。 APIコールはまったく必要ありません。 ここでは、現在の画像を見つけることができ、私はそれはかなり遅れてますが、誰のためだと...デスクトップの背景(壁紙)が絵(ないソリッド色)であれば知っている

Private Function GetCurrentWallpaper() As String 
    ' The current wallpaper path is stored in the registry at HKCU\Control Panel\Desktop\WallPaper 
    Dim rkWallPaper As RegistryKey = Registry.CurrentUser.OpenSubKey("Control Panel\Desktop", False) 
    Dim WallpaperPath As String = rkWallPaper.GetValue("WallPaper").ToString() 
    rkWallPaper.Close() 
    ' Return the current wallpaper path 
    Return WallpaperPath 
End Function 
2

SPI_GETDESKWALLPAPERを使用してSystemParametersInfo()をピンボークする必要があります。それは、壁紙のビットマップファイルへのパスを返します。必要な宣言については、pinvoke.netをご覧ください。

+0

wow私はC++でその関数について知っていましたが、VB.NETで使うことはできませんでした! –

+1

でもVisual Basicチームのメンバーは証人保護プログラムには含まれていませんが、実際には複雑な実装です。 –

3

ことを行うコードですディレクトリ:

"C:\ \ Users \ユーザー{ユーザー名} \のAppData \ローミング\マイクロソフト\ Windowsの\テーマ"

関連する問題