有关屏保 ( 积分: 100 )

  • 主题发起人 主题发起人 唐佐平
  • 开始时间 开始时间

唐佐平

Unregistered / Unconfirmed
GUEST, unregistred user!
背景:已经有做好的屏保程序文件;
要求:
1、用delphi编程实现把这个屏保设置为当前屏保;
2、启动屏保;
 
用Delphi制作屏保程序的例子
http://www.rosipay.com/1/1047.html

用DELPHI做屏保,能够动起来的
http://www.delphibbs.com/keylife/iblog_show.asp?xid=25200
 
TO:暗夜中独舞
老兄,你理解错了,我不是要用Delphi制作屏保,而是已经做好了,
要用Delphi来把这个屏保设置成电脑当前使用的屏保。
 
写代码修改注册表中有关屏保的
 
TO:lisongmagic
老兄,我现在就是找方法,你知道怎样修改注册表吗?
 
[HKEY_USERS/S-1-5-21-1482476501-57989841-682003330-1003/Control Panel/Desktop]
"SCRNSAVE.EXE"="???????.scr"
 
LZ不会是想问怎么修改注册表的方法吧?
要修改的地方已经告诉你,怎么改 你自己查查资料,DFW里面有。

另外 这个键是当前用户的,没有所有用户通用的屏保。
 
另外,怎么执行 应该SHELL可以,自己查一下,可以吗?
 
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
http://www.51zhan.com 最好的网址站
 
转帖一段:
//NumenMeName是屏幕保护程序路径
if FileExists(NumenMeName) then
begin
Reg:=Tregistry.Create;
Reg.RootKey:=HKey_Current_User;
Reg.OpenKey('Control Panel/Desktop',False);
if UpperCase(Reg.ReadString('SCRNSAVE.EXE'))<>UpperCase(NumenMeName) then
if MessageDlg('NumenMe现在不是默认屏幕保护程序,'+#13#10+
'你要把它设置成默认屏幕保护程序吗',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
Reg.WriteString('SCRNSAVE.EXE',NumenMeName);
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,nil,SPIF_SendChange);
end;
Reg.CloseKey;
Reg.Free

NT的默认屏保路径是放在注册表的HKEY_CURRENT_USER/CONTROL PANEL/DESKTOP/SCRNSAVE.EXE
下;而Win98的是放在System.ini文件的[boot]下的,在[boot]下加入 SCRNSAVE.EXE=路径 ,
就可以了

var
s:array[0..200] of char;
begin
GetSystemDirectory(s,190);
ShellExecute(handle, pchar('open'), pchar(StrPas(s)+'/星空模拟.scr'), pchar(''), pchar(''), SW_SHOWNORMAL);
end;
 
真无聊。。。
 
后退
顶部