如何设置屏幕保护程序

如何设置屏幕保护程序,第1张

如果我们不想让别人动我们的计算机,最好的办法就是装上一个开机密码程序来限制一些不速之客的入侵,但要是你手头没有这类软件或者你太懒惰不想去找。没问题!你可以用Windows 下的屏幕保护程序,因为屏幕保护程序在Windows下是可以设置密码的,我们就是通过这一特征实现用屏保来设置开机密码的。

这里以Win98为例介绍一下具体的 *** 作步骤:

1首先在桌面上右击,在d出菜单中选择“属性”,出现“显示属性”窗口,选择“屏幕保护程序”页,选择你喜欢的屏幕保护程序(这里选择Aquarium屏保程序),等待时间任填,在“密码保护”前的复选框上打上钩,然后点击“设置”,填入你的密码,这个密码就是开机密码。

2单击“开始”→“查找”,(或者直接按“Win+F”组合键)在d出的查找窗口中的名称输入框输入刚才选择的屏保程序名,输入Aquariumscr,查找范围为C盘,输完后单击“查找”按钮。将查找到的这个屏保程序拖放到“开始”→“程序”→“启动”中,也就是每次开机都运行这个加过密的屏保程序。

虽然这个屏幕保护程序可以实现限制非法用户的进入,但是如果遇到的这个非法用户是一只老鸟,他可能会通过进入“安全模式”的方式把启动项中的屏保程序删除,这样屏保密码就会被破解掉。

下面笔者就实行另一个计划,禁止非法用户进入“安全模式”,也就是非法用户无法在开机时激活Windows启动菜单。

3单击“开始”→“查找”,找到“Msdossys”文件,用记事本打开它,然后在该文件中的[option]小节中加入如下几行:

“BootMulti=0”表示设置系统不能显示启动菜单

@echo off & title 一键设置屏幕保护 By 依梦琴瑶

::设置屏幕保护程序路径

set ScrFile=%SystemRoot%\System32\我的屏幕保护scr

::设置等待时间(分钟),有效值(1-9999)

set TimeOut=10

::设置是否启用登录屏幕,1 启用,0 禁用

set Login=1

::是否立即生效,1 立即(系统将会注销当前帐户),其它数字下次开机后生效

set Effective=1

::主执行代码

ver|find "51">nul && goto Setting

%1 echo 正在请求管理员权限。。。&&mshta vbscript:CreateObject("ShellApplication")ShellExecute("cmdexe","/c %~s0 ::","","runas",1)(windowclose)&&exit

:Setting

set /a TimeOut=60

set "Key=HKCU\Control Panel\Desktop"

reg add "%key%" /v SCRNSAVEEXE /t REG_SZ /d "%ScrFile%" /f

reg add "%key%" /v ScreenSaveTimeOut /t REG_SZ /d "%TimeOut%" /f

reg add "%key%" /v ScreenSaverIsSecure /t REG_SZ /d "%Login%" /f

echo, & echo,

if %Effective% equ 1 (

    echo 按下任意键,系统将注销当前帐户,再次登录后,相关设置即可生效。

    pause>nul

    shutdown /l >nul 2>nul

) else (

    echo 按下任意键,将直接退出脚本,但屏幕保护设置页面的参数可能不会有变化。但有可能设置已经生效,建议注销帐户或重启电脑,以便正常生效。

    pause>nul

)

exit

命令行设置屏保时间需要代码进行设置。

屏保的文件扩展名是scr,一般存放在windows中,找到带这个文件后缀的文件,在命令行里输入文件名就可以实现命令设置屏保了。

首先鼠标右键点击电脑桌面空白位置,打开菜单列表;接下来点击菜单列表中的个性化选项;进入个性化界面后点击界面右下角的屏幕保护程序按钮,这个时候就可以看到屏幕保护程序界面中有等待设置选项了,直接输入自己想要设置的等待时间就可以。

按Win+R键,输入cmd后回车

然后在黑色窗口中输入以下代码后回车:

assoc scr=打开类型

注意,这里的“打开类型”请根据已有的类型标识来写,比如用记事本打开,那么就是txtfile

具体,您可以单独输入assoc后回车即可看到已知的类型列表

准备:一个窗口(_启动窗口),一个画板(画板1),一个时钟(时钟1)

_启动窗口 和 画板1 的 可视 都为 假,时钟1 的 时间周期 为 0,_启动窗口 的 总在最前 为 真。

到 _启动窗口 对应的 窗口程序集,把下面的代码拷贝过去即可。

版本 2

支持库 OPenGL

支持库 EThread

支持库 spec

支持库 iext

支持库 eAPI程序集 窗口程序集1, , , 高仿黑客帝国

程序集变量 t, 整数

程序集变量 x, 整数型

程序集变量 y, 整数型

程序集变量 z, 整数型

程序集变量 屏幕高度, 整数型, , , 屏幕高度

程序集变量 屏幕宽度, 整数型, , , 屏幕宽度子程序 __启动窗口_创建完毕屏幕高度 = 取屏幕高度 ()

屏幕宽度 = 取屏幕宽度 ()

画板1画板背景色 = #黑色

_启动窗口移动 (0, 0, 屏幕宽度, 屏幕高度)

画板1移动 (0, 0, 屏幕宽度, 屏幕高度)

t = 0

z = 屏幕高度 ÷ 20

显示光标 (假)

_启动窗口可视 = 真

画板1可视 = 真

_启动窗口调整层次 (1)

定义 ()

画板1获取焦点 ()

时钟1时钟周期 = 400  ' 每列产生间隔(ms)

启动线程 (&数字雨输出, , )

延迟 (400)

启动线程 (&数字雨输出, , )

延迟 (300)

启动线程 (&数字雨输出, , )

延迟 (200)

启动线程 (&数字雨输出, , )

延迟 (200)

启动线程 (&数字雨输出, , )

延迟 (200)

启动线程 (&数字雨输出, , )

延迟 (200)

时钟2时钟周期 = 1000

_时钟2_周期事件 ()

子程序 _画板1_鼠标位置被移动, 逻辑型

参数 横向位置, 整数型

参数 纵向位置, 整数型

参数 功能键状态, 整数型如果真 (取绝对值 (横向位置 - x) > 50 或 取绝对值 (纵向位置 - y) > 50)

    定义 ()

    t = t + 1

    如果真 (t > 3)  ' 事不过三

        结束 ()

    如果真结束如果真结束

子程序 _画板1_按下某键, 逻辑型

参数 键代码, 整数型

参数 功能键状态, 整数型结束 ()

子程序 定义x = 取鼠标水平位置 ()

y = 取鼠标垂直位置 ()

子程序 数字雨输出, , , 数字雨输出

局部变量 E, 整数型, , , 垂直位置

局部变量 F, 整数型, , , 水平位置,起点

局部变量 G, 整数型, , , 显示长度,单位=位

局部变量 H, 整数型, , , 下降速度

局部变量 I, 整数型, , , 移动次数

局部变量 J, 整数型, , , 绿与白

局部变量 CHR, 文本型, , "1000"置随机数种子 ()

J = 取随机数 (1, 5)

如果 (J = 1 或 J = 3 或 J = 5)

    置随机数种子 ()

    E = 取随机数 (0, 屏幕宽度)

    置随机数种子 ()

    F = 取随机数 (0, 到整数 (屏幕高度 × 075))

    置随机数种子 ()

    G = 取随机数 (z × 02, z × 065)

    置随机数种子 ()

    H = 取随机数 (10, 600)

    判断循环首 (真)

        ' 画板1字体字体名称 = “黑体”

        ' 画板1字体字体大小 = 16

        CHR [I + 1] = 获取字符 ()

        画板1文本颜色 = #绿色

        画板1定位写出 (E, F + I × 20, CHR [I + 1])

        如果真 (I ≠ 0)

            画板1文本颜色 = #墨绿

            画板1定位写出 (E, F + (I - 1) × 20, CHR [I])

        如果真结束

        如果真 (I > G + 1)

            画板1文本颜色 = 取颜色值 (0, 40, 0)

            画板1定位写出 (E, F + (I - G - 1) × 20, CHR [I - G])

            画板1文本颜色 = #黑色

            画板1定位写出 (E, F + (I - G - 2) × 20, CHR [I - G - 1])

        如果真结束

        I = I + 1

        如果真 (F + I × 20 > 屏幕高度)

            跳出循环 ()

        如果真结束

        延迟 (H)  ' 避免CPU过高

        如果真 (I > 1000)

            结束 ()

        如果真结束    判断循环尾 ()

    判断循环首 (真)

        如果真 (I > G + 1)

            画板1文本颜色 = 取颜色值 (0, 40, 0)

            画板1定位写出 (E, F + (I - G - 1) × 20, CHR [I - G])

            画板1文本颜色 = #黑色

            画板1定位写出 (E, F + (I - G - 2) × 20, CHR [I - G - 1])

        如果真结束

        I = I + 1

        如果真 (F + I × 20 - (G + 2) × 20 > 屏幕高度)

            跳出循环 ()

        如果真结束

        延迟 (H)  ' 避免CPU过高

        如果真 (I > 1000)

            结束 ()

        如果真结束    判断循环尾 ()

否则    置随机数种子 ()

    E = 取随机数 (0, 屏幕宽度)

    置随机数种子 ()

    F = 取随机数 (0, 到整数 (屏幕高度 × 075))

    置随机数种子 ()

    G = 取随机数 (z × 02, z × 065)

    置随机数种子 ()

    H = 取随机数 (10, 600)

    判断循环首 (真)

        ' 画板1字体字体名称 = “黑体”

        ' 画板1字体字体大小 = 16

        CHR [I + 1] = 获取字符 ()

        画板1文本颜色 = #白色

        画板1定位写出 (E, F + I × 20, CHR [I + 1])

        如果真 (I ≠ 0)

            画板1文本颜色 = #浅灰

            画板1定位写出 (E, F + (I - 1) × 20, CHR [I])

        如果真结束

        如果真 (I > G + 1)

            画板1文本颜色 = #灰色

            画板1定位写出 (E, F + (I - G - 1) × 20, CHR [I - G])

            画板1文本颜色 = #黑色

            画板1定位写出 (E, F + (I - G - 2) × 20, CHR [I - G - 1])

        如果真结束

        I = I + 1

        如果真 (F + I × 20 > 屏幕高度)

            跳出循环 ()

        如果真结束

        延迟 (H)  ' 避免CPU过高

        如果真 (I > 1000)

            结束 ()

        如果真结束    判断循环尾 ()

    判断循环首 (真)

        如果真 (I > G + 1)

            画板1文本颜色 = #灰色

            画板1定位写出 (E, F + (I - G - 1) × 20, CHR [I - G])

            画板1文本颜色 = #黑色

            画板1定位写出 (E, F + (I - G - 2) × 20, CHR [I - G - 1])

        如果真结束

        I = I + 1

        如果真 (F + I × 20 - (G + 2) × 20 > 屏幕高度)

            跳出循环 ()

        如果真结束

        延迟 (H)  ' 避免CPU过高

        如果真 (I > 1000)

            结束 ()

        如果真结束    判断循环尾 ()如果结束 

子程序 获取字符, 文本型

局部变量 A, 文本型置随机数种子 ()

A = 字符 (取随机数 (27, 127))

判断循环首 (A = “” 或 A = “ ” 或 A = “ ”)

    置随机数种子 ()

    A = 字符 (取随机数 (27, 127))

判断循环尾 ()

A = 到全角 (A)

返回 (A)

子程序 _时钟1_周期事件启动线程 (&数字雨输出, , )

貌似有2年没回答过问题了。汗……

MouseMove是不行的,因为鼠标必须要在窗口上移动,才能触发这个事件。正如上面所说,如果鼠标在另一个屏幕上呢?又或者,别人动的不是鼠标,而是键盘呢?就不会触发MouseMove了。最简单的做法是,检测有没有输入,有个TLastInputInfo类可以做到。不管是鼠标还是键盘,只要有动作,这个类就能捕捉到。可以这样实现:

窗口上放个闹钟,设置为一秒就行(时间越短,检测越快)。再放一个标签Label。下面看代码

procedure TForm1Timer1Timer(Sender: TObject);

var

IsInput: TLastInputInfo;

begin

IsInputcbSize := SizeOf(IsInput);

GetLastInputInfo(IsInput);

if GetTickCount - IsInputdwTime > 5000 then //这里设置多久开始进入屏保,单位毫秒

begin

Label1Caption:='已经5秒没有动静了';

//这里放置你的屏保代码,进入屏保状态。

end

else

begin

Label1Caption:='检测到鼠标或键盘有动作';

//这里退出屏保状态代码

end;

end;

以上代码Delphi7 + Windows7旗舰版测试通过

以上就是关于如何设置屏幕保护程序全部的内容,包括:如何设置屏幕保护程序、用批处理或者VBS脚本设置WIN/XP系统屏幕保护程序、等待时间和恢复时显示密码、命令行设置屏保时间 rundll等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9657318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存