ورود

View Full Version : پیدا کردن مسیر عکس پشت زمینه ویندوز



ssmehizadeh
شنبه 06 فروردین 1384, 16:30 عصر
با سلام خدمت تمامی برنامه نویسان

عید همه مبارک و امیدوارم سال خوشی داشته باشید

حقیقتا من به یک تابع یا حالا هر چیزی نیاز دارم که مسیر عکس پشت زمینه ویندوز برام برگردونه ...
اگه کمکم کنید خیلی ممنون می شم ................ با تشکر


*** عنوان تاپیک شما اصلاح شد. دقت کنید ***

vcldeveloper
یک شنبه 07 فروردین 1384, 03:58 صبح
uses Registry;

function GetWallpaperPath: string;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey('Control Panel\Desktop',False) then
Result := Reg.ReadString('Wallpaper');
finally
Reg.Free;
end;
end;

ssmehizadeh
یک شنبه 07 فروردین 1384, 06:46 صبح
عالی بود

آقای مدیر بخش از راهنمایی تون خیلی ممنون

ssmehizadeh
سه شنبه 09 فروردین 1384, 16:46 عصر
با سلام

آقای کشاورز از اینکه جوب من و دادید بسیار ممنونم

.... ولی هنگامی که پشت زمینه رو با برنامه های دیگر مانند acd ceee و ..... عوض می کنیم دیگه جواب نمی ده .........

اگه شما یا کسی دیگه بلده ( چه دستور ریجیستری و چه آدرس و محل عکس ) بگه چیکار کنم چون واقعا لازم دارم :گیج:

vcldeveloper
چهارشنبه 10 فروردین 1384, 02:48 صبح
محل نگه داری آدرس فایل مربوط به پس زمینه دسکتاپ همونی هست که در تابع بالا ازش استفاده شد.
اپلت Display Setting در Control Panel و برنامه های دیگه از تابع SystemParametersInfo برای تغییر wallpaper استفاده می کنند. بصورت زیر:


SystemParametersInfo(SPI_SETDESKWALLPAPER,
0,
PChar('C:\YourImage.BMP'),
SPIF_SENDWININICHANGE);


تابع SystemParametersInfo خودش بصورت خودکار مقدار موجود در رجیستری رو تغییر میده. در نتیجه هر وقت که wallpaper تغییر بکنه، مقدار کلید فوق هم تغییر خواهد کرد.
در مورد برنامه ACD See هم باید بگم که من آزمایش کردم و تابع بالا مشکلی نداشت. ACD See فایلی رو که بعنوان Wallpaper انتخاب می کنید، در پوشه ویندوز با نام ACDSee Wallpaper.bmp ذخیره میکنه. همین آدرس هم در مسیر رجیستری بالا نوشته میشه.