CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

WINDOWS如何启动屏幕保护程序?调用哪些函数?

楼主Leeon(阿文)2001-03-11 20:21:00 在 Delphi / VCL组件开发及应用 提问

问题点数:20、回复次数:10Top

1 楼wjiachun(老猫)回复于 2001-03-11 21:15:00 得分 0

不要哪些函数,一个   shellexecute   就可以,象打开其他文件一样,千万不要告诉我你不会shellexecute   ,万一不会就看看帮助吧。Top

2 楼wangxd1976(东东)回复于 2001-03-11 21:25:00 得分 0

gzTop

3 楼Leeon(阿文)回复于 2001-03-12 20:19:00 得分 0

to   wjiachun:  
      也许我没说清楚,我说的是“WINDOWS如何启动屏保”,即在“Control   Panel”设置的,SHELLEXECUTE虽可启动屏保,却不能启动先前设置的屏保,如何获得这一屏保的文件名?Top

4 楼Java_SCU(Java)回复于 2001-03-12 20:51:00 得分 0

是利用程序的参数,我是这样做的:  
      Mutex:=CreateMutex(NIL,True,'SingleApp');  
      IF   GetLastError<>ERROR_ALREADY_EXISTS   THEN//如果不存在另一实例  
      BEGIN  
       
          Tag:=0;  
          if   LowerCase(ParamStr(1))='/a'   then  
              Tag:=1  
          else   if   LowerCase(ParamStr(1))='/p'   then  
                        Tag:=2  
                            else   if   LowerCase(ParamStr(1))='/c'   then  
                                          Tag:=3  
                                          else   if   LowerCase(ParamStr(1))='/s'   then  
                                                    Tag:=4;  
  //   /a   在显示属性对话框中单击他就可以修改口令  
  //   /p   每当选中显示属性对话框中屏幕保护程序标签时,在对话框显示预览效果  
  //   /c   在显示属性对话框中单击他进行设置  
  //   /s   在显示属性对话框中单击预览按钮或系统掉用屏保  
      case   Tag   of  
          4:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm1,   Form1);  
          Application.Run;  
          end;  
   
          0,1,3:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm2,   Form2);  
          Application.Run;  
          end;  
   
      end;Top

5 楼Java_SCU(Java)回复于 2001-03-12 20:52:00 得分 0

是利用程序的参数,我是这样做的:  
      Mutex:=CreateMutex(NIL,True,'SingleApp');  
      IF   GetLastError<>ERROR_ALREADY_EXISTS   THEN//如果不存在另一实例  
      BEGIN  
       
          Tag:=0;  
          if   LowerCase(ParamStr(1))='/a'   then  
              Tag:=1  
          else   if   LowerCase(ParamStr(1))='/p'   then  
                        Tag:=2  
                            else   if   LowerCase(ParamStr(1))='/c'   then  
                                          Tag:=3  
                                          else   if   LowerCase(ParamStr(1))='/s'   then  
                                                    Tag:=4;  
  //   /a   在显示属性对话框中单击他就可以修改口令  
  //   /p   每当选中显示属性对话框中屏幕保护程序标签时,在对话框显示预览效果  
  //   /c   在显示属性对话框中单击他进行设置  
  //   /s   在显示属性对话框中单击预览按钮或系统掉用屏保  
      case   Tag   of  
          4:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm1,   Form1);  
          Application.Run;  
          end;  
   
          0,1,3:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm2,   Form2);  
          Application.Run;  
          end;  
      end;  
   
  END;  
  ReleaseMutex(Mutex);  
   
  end.Top

6 楼Kingron(单身走我路……)回复于 2001-03-12 20:54:00 得分 0

发送一个屏幕保护的消息即可!  
  SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);Top

7 楼Java_SCU(Java)回复于 2001-03-12 21:01:00 得分 0

是利用程序的参数,我是这样做的:  
      Mutex:=CreateMutex(NIL,True,'SingleApp');  
      IF   GetLastError<>ERROR_ALREADY_EXISTS   THEN//如果不存在另一实例  
      BEGIN  
       
          Tag:=0;  
          if   LowerCase(ParamStr(1))='/a'   then  
              Tag:=1  
          else   if   LowerCase(ParamStr(1))='/p'   then  
                        Tag:=2  
                            else   if   LowerCase(ParamStr(1))='/c'   then  
                                          Tag:=3  
                                          else   if   LowerCase(ParamStr(1))='/s'   then  
                                                    Tag:=4;  
  //   /a   在显示属性对话框中单击他就可以修改口令  
  //   /p   每当选中显示属性对话框中屏幕保护程序标签时,在对话框显示预览效果  
  //   /c   在显示属性对话框中单击他进行设置  
  //   /s   在显示属性对话框中单击预览按钮或系统掉用屏保  
      case   Tag   of  
          4:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm1,   Form1);  
          Application.Run;  
          end;  
   
          0,1,3:  
          begin  
          Application.Initialize;  
          Application.CreateForm(TForm2,   Form2);  
          Application.Run;  
          end;  
      end;  
   
  END;  
  ReleaseMutex(Mutex);  
   
  end.  
   
  其实屏保程序就是一个exe,只是扩展名不同Top

8 楼Kingron(单身走我路……)回复于 2001-03-12 21:09:00 得分 20

给我分..........................  
  测试通过的。Top

9 楼Lin(林)回复于 2001-03-12 22:54:00 得分 0

分数就给Kingron(WinAPI) 吧,他说得不错。Top

10 楼lldwolf(铁背苍狼)回复于 2001-03-13 00:12:00 得分 0

同意kingrouTop

相关问题

  • 函数调用
  • 函数调用
  • 调用函数
  • 函数调用
  • 函数调用
  • 函数调用?
  • C#中如何调用Windows API函数?
  • 怎样调用CView中的自定义函数刷新屏幕
  • 怎样用api函数调用“屏幕按键”。
  • 函数调用函数

关键词

  • 属性
  • 屏保
  • 预览
  • tag
  • 屏幕
  • 口令
  • application
  • 修改
  • paramstr
  • 单击

得分解答快速导航

  • 帖主:Leeon
  • Kingron

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo