• 締切済み

VBで壁紙を取得し保存する方法

現在VB2008でプログラムを組んでいるのですが、(VB初心者です) 現在の壁紙を取得し、そのファイルをコピーしてCドライブ直下に保存する方法がわかりません。 壁紙の取得はできました(sPathにアドレスが出る) ただそれをコピーできません。 以下のようなエラーが出ます。 パスに無効な文字が含まれています。 ソースコードは以下の通りです。 Dim sPath As New System.String(" ", MAX_PATH + 1) SystemParametersInfo(SPI_GETDESKWALLPAPER, MAX_PATH, sPath, 0) My.Computer.FileSystem.CopyFile(sPath, "C:\Test.bmp", True) 原因不明でよくわかりません。 教えてくださいお願いします。

みんなの回答

  • nishito24
  • ベストアンサー率90% (10/11)
回答No.1

>My.Computer.FileSystem.CopyFile(sPath, "C:\Test.bmp", True) sPathに取得された文字列の次がNULL文字になっています。 NULL直前までの文字列を使います。 My.Computer.FileSystem.CopyFile(Microsoft.VisualBasic.Left(sPath, sPath.IndexOf(vbNullChar)), "C:\Test.bmp", True)

関連するQ&A