各位电脑高手,我有点事向你们请教:我现在想用VB做一个屏幕保护程序,就是一启动程序,就直接调用一个播放软件,这个播放软件就连接到一个新闻播放网站,可以接收新闻? 
  不知道这样是否可以,我暂时做不到,想请教各位高手。有那位可以做到的,或在网上看到这方面的信息的,回复我! 
  多谢!!!!!!!!!

解决方案 »

  1.   

    看看Microsoft Internet Controls 这个控件,应该很容易实现你的设想
      

  2.   

    用Microsoft Internet Controls 那个控件后,应该如何设置呢?? 因为我刚刚才用VB,就是为了这个设计而用的,不大了解VB的各种功能啊!
     
     还请明言,多谢!
     
      

  3.   

    在左侧控件工具栏里添加进Microsoft Internet Controls 控件,你就可以自己做一个嵌在你程序里的IE了,你可以随意控制他导航到你指定的页面不过刚才看了看你的需求,好像这么做复杂了vb支持命令行调用,你直接用“shell”函数,调用比如realplayer软件,然后在参数里添上你要访问的播音链接就行了例如:建一个空白窗体,双击窗体,出现:Private Sub Form_Load()end sub把下面这段代码粘进去:Shell "C:\Program Files\Real\RealOne Player\realplay.exe  http://scripts.euro.real.com/guide/launch.ram?h=rtsp://61.172.245.242/smg/20050405/5.smil", vbNormalFocus运行你的程序!
      

  4.   

    多谢Winzarbear!好象你讲的,我试过啦,可以运行。不过还是有个问题,就是:因为我是做屏保的,一般屏保动了键盘或鼠标就会退出。但是我按照做屏保的哪个退出程序试过,不行。就是哪个被调用的realplay.exe不会被关掉(动了键盘等的)。
      这个问题我在研究中,不过也想请教前辈你!!!
      

  5.   

    试试在unload事件中关闭realplayer.......
      

  6.   

    这么客气说的我不好意思了,技术只有交流没有前辈没做过屏保类的东西,只能提供一些我的思路给你参考,按照思路多查查msdn,上面介绍的很详细:1、屏保其实就是一个可执行文件,扩展名改成了scr而已,所以,平保程序和应用程序的区别就是,第一,它是一个全屏幕的运行方式;第二,它的退出条件一般是用户晃了鼠标或按了键盘的某个键2、按照这个要求设计你的程序,分解出来需要研究的技术有:如何制作一个全屏幕显示,没有标题条的程序?如何侦测用户的鼠标、键盘操作?如何在自己的程序里嵌入realplay的显示界面?3、上述三个问题,在本论坛可以搜索到标准答案,都用vb做的话,可能会比较麻烦,但我觉得应该都能实现。
    -------------------------------------------------------------
    给你个源码吧:
    新建一个窗体,
    放两个控件“Timer”,“Real Player ActiveX control Library”
    设置窗体 ControlBox 为 False ;ShowInTaskbar 为 False把下面代码粘进去:Option Explicit
        
    Dim quitflag As Boolean '声明终止程序标志变量
    '声明隐藏或显示鼠标的API函数
    Private Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
    '检测鼠标单击
    Private Sub Form_Click()
        quitflag = True
    End Sub
    '检测按键
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
        quitflag = True
    End Sub
    '检测鼠标移动
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Static xlast, ylast
        Dim xnow As Single
        Dim ynow As Single
        xnow = X
        ynow = Y
        If xlast = 0 And ylast = 0 Then
            xlast = xnow
            ylast = ynow
            Exit Sub
        End If
        If xnow <> xlast Or ynow <> ylast Then
            quitflag = True
        End If
    End Sub
    Private Sub Form_Load()
        Dim X As Long
        
        If App.PrevInstance = True Then '用APP对象的PrevInstance属性
            Unload Me '防止同时运行屏幕保护程序的两个实例
            Exit Sub
        End If
        Me.Caption = ""
        Me.BorderStyle = 0 '-None 取消标题栏和最大化、最小化按钮
        Me.WindowState = 2 '-Maximized 窗体最大化
        Timer1.Enabled = False
        Timer1.Interval = 1
        Me.BackColor = vbBlack
        Me.Show '全屏显示Form1窗体    X = ShowCursor(False) '隐藏鼠标
        
        RealAudio1.Source = "http://scripts.euro.real.com/guide/launch.ram?h=rtsp://61.172.245.242/xieli/Hostage.rm"
        RealAudio1.DoPlay
        RealAudio1.SetFullScreen
        Do
            DoEvents '转让控制权, 以便检测鼠标和按键行为
        Loop Until quitflag = True '运行屏幕保护滚动文字直至有鼠标和按键行为
        RealAudio1.DoStop
        Timer1.Enabled = True '启动Timer1,退出屏幕保护程序
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
        Dim X
        X = ShowCursor(True) '显示鼠标
    End Sub
    Private Sub Timer1_Timer()
        Unload Me '退出屏幕保护程序
    End Sub
      

  7.   

    http://www.moon-soft.com/book/lyvbbxpbcx.htm
      

  8.   

    Winzarbear
      好,我又来啦!
     你的方法不错,^_^
     不过按键盘时,不可以退出,是因为在里面添加了“Real Player ActiveX control Library”控件,要把“KeyPreview”的属性改为True,才可以检测到键盘的动作。
     还有就是可以把“Real Player”也全屏吗??
     你有网上新闻网址吗?我想启动屏保时,就直接到一个电视台看新闻,这样可能会更好,因为刚才的短片,只有一个样子,也短了点。
      

  9.   

    Realplayer 全屏显示可以啦 多谢啦!
      

  10.   

    这个不是VB问题,不知是否可以解决:就是已经生成左屏保文件.scr(A.scr),在桌面的属性中设置为屏保是,一先选中A.scr时,A.scr直接就弹出来啦,再点确定时,又弹出来。这个问题怎么解决呢??
      

  11.   

    你的问题在“ lsftest”朋友给的链接里面已经有答案了:找到我给的原代码:    Me.Caption = ""
        Me.BorderStyle = 0 '-None 取消标题栏和最大化、最小化按钮
        Me.WindowState = 2 '-Maximized 窗体最大化
        Timer1.Enabled = False
        Timer1.Interval = 1
        Me.BackColor = vbBlack
        Me.Show '全屏显示Form1窗体    X = ShowCursor(False) '隐藏鼠标
        
        RealAudio1.Source = "http://scripts.euro.real.com/guide/launch.ram?h=rtsp://61.172.245.242/xieli/Hostage.rm"
        RealAudio1.DoPlay
        RealAudio1.SetFullScreen
        Do
            DoEvents '转让控制权, 以便检测鼠标和按键行为
        Loop Until quitflag = True '运行屏幕保护滚动文字直至有鼠标和按键行为
        RealAudio1.DoStop
        Timer1.Enabled = True '启动Timer1,退出屏幕保护程序
    改成下面这样:
        Select Case UCase(Left(Command(), 2)) '装载命令行参数
        Case "/S" '在显示器属性对话框中单击了预览按钮或屏幕保护程序被系统正常调用。
            '把上面那段代码粘过来
            '$&^@$%!@#$%#$&^*&#$%^@#$!@%#$    Case Else
            Unload Me
            Exit Sub
        End Select新闻网址:
    中国国际广播电台:
    http://scripts.euro.real.com/guide/launch.ram?h=rtsp://live.cri.com.cn/fm915.ram音乐之声:
    http://scripts.euro.real.com/guide/launch.ram?h=rtsp://211.89.225.19/encoder/cnr3深圳飞扬音乐调频:
    http://www.szr.com.cn/onair/szr2.ram另外可参考列表:
    http://blog.csdn.net/cnyifeng/archive/2005/03/10/316311.aspx请教一个问题:你怎么把realplay最大化的啊?我这里怎么无效呢?
      

  12.   

    将 Realplay 最大化,可以这样来实行:在Private Sub Form_Load() 下面加入如下代码:   
      RealAudio1.Width = Screen.Width
        RealAudio1.Height = Screen.Height
      取其宽度各高度都和屏幕的一样就可以实现啦!  呵呵!