用VB可以生成.exe格式的文件,但是要写成屏保的话,他的后缀应该是.scr,如果直接把后缀改成.scr然后copy到system32文件下的话,点击运行系统会提示我此程序不是正常的windows32应用程序,有那位知道怎么把vb写的程序该成.scr的后缀,并且能够成功运行,而且不影响系统本身的屏保程序?我已经解决了键盘和鼠标有动作的时候自动退出,但我想要它退出的时候要输入我的开机密码,如果错误我想让屏保继续运行,该怎么弄,跪求高手指教
本人急需!!!!!
谢谢了!!!!

解决方案 »

  1.   

    密码这些是系统实现的。
    你只要把后缀名改成scr就行,系统调用的时候就不会出现问题了。你用VB做屏保,需要注意,禁止运行多个实例就行。比如什么时候运行屏保、是否输入密码等这些都是系统完成的。你不用考虑
      

  2.   

    好久不搞这些东西了说下我的思路吧。。1。 不会考虑做成 .scr , 就普通的exe执行就是了。完全可以把屏保的功能都实现出来。 比如设置5分钟启动之类的,只要开机启动(方法很多,改注册表、添加到批处理、注册服务等等),检测鼠标键盘动作,5分钟不动就启动。2. 要输入开机密码才退出,这个“开机密码”是CMOS密码还是OS密码? CMOS 密码不清楚能不能在运行时搞到,OS密码记得需要读取系统目录下的一个文件才行,名字忘记了 要查一下,估计也不是简单的文本读取。3. 另外,对于 ALT+TAB 、开始菜单键的屏蔽,可以通过关闭explorer.exe来实现,但是Ctrl+Alt+Del目前我还不知道怎么屏蔽,如果这个不解决,你所谓的屏保随便就用任务管理器就关掉了。退一步,可以修改注册表,把任务管理器那个功能按钮屏蔽了,不同的OS可能还不一样,反正也不是100%能成功的。总体来说,个人感觉,要做真正的屏蔽程序,用VB  不行! 顶多模仿出大部分功能,但是经不起敲打
      

  3.   

    主要是屏蔽Ctrl、Alt、Win键。当然也可以只允许Aa~Zz,0~9输入。键盘的输入控制代码我有。
    另外,窗体必须是置顶的。
      

  4.   

    完全屏蔽Ctrl+Alt+Del的效果,关键是不能在Explorer.exe所在的桌面实现,因为等这三键的消息传达到这个桌面时,已经被Winlogon.exe处理了.所以.......要到Winlogon.exe的空间去拦截才行.我这里收藏了阿国哥的一份代码,就是以上思路完成的,可完美屏蔽Ctrl+Alt+Del组合键.http://www.m5home.com/bbs/thread-1040-1-3.html注意密码为123456.....别搞错了.
      

  5.   

    “我想要它退出的时候要输入我的开机密码”这个不好办吧!
    屏保有屏保用的密码,记录在注册表中,这个很容易实现 加密/解密 的。但“开机密码..............
    难道楼主知道它的加密方法?
    知道每个用户分别记录在 SAM 的哪个位置?
    知道如何强读 SAM文件 ?
      

  6.   

    Sorry ,刚才看了一下系统的设置,好象 XP 及更高版本的操作系统已经没有单独使用屏保密码了。
    屏保密码仅对 Win 2K/9x 有效。
      

  7.   

    这个设置记录在注册表:
    [HKEY_CURRENT_USER\Control Panel\Desktop]
    下的一个 REG_SZ(字符串值) 中:
    ScreenSaverIsSecure = 1时,从屏保退出时,就会回到欢迎画面,需要输入用户的密码才能重新进入系统。
    你只要在程序运行的时候把它的内容设置为 "1" 就可以了。
    不知道用哪个 API使系统进入欢迎画面,等待高人给你答案..........
      

  8.   

    完全屏蔽Ctrl+Alt+Del有妙法:
    Private Sub Command1_Click() '禁用
        Open Environ$("WinDir") & "\system32\taskmgr.exe" For Binary As #1
    End SubPrivate Sub Command2_Click() '启用
        Close #1
    End Sub
      

  9.   

    用鼠标点击的.....这个只有XP有效,2003里是直接弹出一个"WINDOWS安全"对话框,并不是直接调用任务管理器.好象还是直接把Ctrl+Alt+Del三键屏蔽了才是完全有效的.......
      

  10.   

    用sendkeys模拟用户按win+l就行了,具体操作查msdn
      

  11.   

    在MAIN子程序中写入:Dim StartType$
        StartType = UCase(Left$(Command, 2))    If StartType = "" Then
            StartType = "/C"
        End If    Select Case StartType
            Case "/C" '设置
           
                Configuration.Show
                
            Case "/S" '运行
                Load MainForm
                MainForm.Width = Screen.Width
                MainForm.Height = Screen.Height
                .....       Case "/P" '在设置窗口中显示
                If App.PrevInstance Then End
                Preview.Show
            
            Case "/A"
                CPWindow = Val(Right$(Command, Len(Command) - 2))
                PwdChangePassword "SCRSAVE", CPWindow, 0, 0
        End SelectPreview\Configuration\MainForm都是窗体,意思自己领会
      

  12.   


    http://www.m5home.com/bbs/thread-1040-1-3.html老马你的那个资源我连接不到了
    以前下的那个不见了
    可不可以再给我个链接或者发到我邮箱去也可以  [email protected]  谢谢啦11楼的方法可以屏蔽掉Ctrl,Alt,Del可是那个Win怎么办啊!!!
    我已经拖了很久了
    这次在线等
      

  13.   

    问提已集中解决
    现在就剩下
    Alt+Tab,Win了
    我试试二楼的吧