2016-10-06 9 views
0

私は現在、SystemParametersInfo()を使用してデスクトップの背景を変更しようとしています vsは私のものを入力するときにエラーを与えませんが、 KernelBase.dllに何らかの例外がスローされ、PDBがロードされていないというメッセージが表示されます。私はこれをずっと前にやって、それを働かせることができましたが、もう誰が私を助けてくれるのか覚えていませんか?ここに私が書いたものがあります。VC++を使用してデスクトップの背景を変更する方法

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:/Windows/Downloaded Program Files/Flowers.jpg", SPIF_UPDATEINIFILE); 

なぜこれが起こっているのか、それを修正する方法は誰にも分かりませんか?どんな助けもありがたいです。ありがとうございました

+0

実際のエラーの内容とその説明だけではありません。それが立っているような呼び出しはOKです。背景を変える以外に何かしていますか?プログラムが異なるユーザーの下で実行されているか、または異なる権限で実行されていますか?エラーが実際にこの 'SystemParametersInfo()'呼び出しから来ていると確信していますか? – Ionut

答えて

3

Lをファイルパスに追加する必要があります。 L"C:/Windows/Downloaded Program Files/Flowers.jpg"

#include "stdafx.h" 
#include <windows.h> 

int main() { 

    int return_value = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, L"d:/flower1.jpg", SPIF_UPDATEINIFILE); 

    return 0; 
} 
-1

エラーの説明が間違いなくもっと役立つでしょう。しかし、まずはすべてのスラッシュを二重黒スラッシュ「\\」に置き換えてください。

SystemParametersInfo(SPI_SETDESKWALLPAPER、0、 "C:\\ Windows \\ダウンロードされたプログラムファイル\\ Flowers.jpg"、SPIF_UPDATEINIFILE);

しかし、エラーの実際の原因がもう少しの情報なしでは何もわかりません。また、PDBファイルはプログラムに影響を与えません。それはファイルをデバッグするためです。

関連する問題