PDA

Просмотр полной версии : Простая прога


nabb
25.10.2006, 19:46
Всем привет! Помогите написать программу на Дельфи:
Цель: Вообщем хочу чтобы программа меняла обоину на рабочем столе и делала копию ресунка в какоенибудь место. Если ктонить удалит ресунок и поменяет обоину то прога должна вернуть всё наместо..
Надеюсь вы мне поможете, Дельфи изучаю всего 3 дня и боюсь моих знаний не хватит :( Жду помощи :)

collisionsoftware
25.10.2006, 21:15
денег плати
бесплатно редко кто помогает в нашем мире

Sn@k3
25.10.2006, 22:37
могу помочь, тока за так хз )

W!z@rD
25.10.2006, 23:01
ну и я могу помочь =)

TaNkist
26.10.2006, 12:40
Меняем обои:
str:='D:\wallpapers\pic051103.jpg';
SystemParametersInfo(SPI_SETDESKWALLPAPER,0, @str,
SPIF_UPDATEINIFILE OR SPIF_SENDWININICHANGE);

Путь до файла с обоями храниться в реестре HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper

nabb
26.10.2006, 18:09
Спасибо TaNkist :)

W!z@rD
27.10.2006, 08:32
program Project1;

uses Windows, SysUtils, Registry;

var msg:TMsg;

function Wall:string;//путь к текущим обоям
var
reg:TRegistry;
begin
reg:=TRegistry.Create;//создаем хендл
reg.RootKey:=HKEY_CURRENT_USER; //для текущего пользователя
reg.OpenKey('\Control Panel\Desktop\',false); //открываем ветвь
result:=reg.ReadString('Wallpaper');//возвращаем путь прочитанный в ключе реестра
reg.Free;//освобождаем хендл...
end;

procedure check;
var
OurFile:string;
OK:array[0..$FF] of Char;
begin
OurFile:=ExtractFilePath(ParamStr(0))+'wall.bmp';//наш файл
StrPCopy(OK,OurFile);
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,@OK,SP IF_UPDATEINIFILE);
end;

begin
check;
while GetMessage(msg,0,0,0)do begin
DispatchMessage(msg);
TranslateMessage(msg);
end;
end.

прогу надо чуть доработать.... =)