在vb中使用托盘图标控件Systray.ocx,竟然提示以下错误

Toti 2009-03-15 03:33:53
在运行exe文件,提示"Component 'Systray.ocx' or one of its dependencies not correctly registered: a file is missing or invalid" 错误,从字面的意思来说找不到控件,未注册意思

以上就是提出的问题
...全文
372 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2009-03-16
  • 打赏
  • 举报
回复
你短消息里的问题,只需要在窗体的QueryUnload事件里处理一下即可:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode <> vbFormCode Then '只要不是在代码里调用Unload Me,则执行隐藏操作.
Cancel = 1
Me.Hide
End If
End Sub

要退出时,需要在某处调用Unload Me.
oyljerry 2009-03-15
  • 打赏
  • 举报
回复
你同事电脑环境上可能跟你的不一样,它上面可能缺少你的一些运行环境的组件库文件等..
Toti 2009-03-15
  • 打赏
  • 举报
回复
不是坏了,我在本地运行没有问题,可是一到同事电脑上面就出现上面的问题
SYSSZ 2009-03-15
  • 打赏
  • 举报
回复
估计你Systray.ocx是坏的,另下一个,我下的一个从未出过问题
嗷嗷叫的老马 2009-03-15
  • 打赏
  • 举报
回复
托盘这个功能貌似本身并不复杂,有必要使用一个不熟悉的第三方控件么- -#

http://www.m5home.com/blog2/blogview.asp?logID=217&cateID=2

这里是一个封装好的类,拿去用吧.

这100分我赚了,嘿嘿.
Toti 2009-03-15
  • 打赏
  • 举报
回复
没有人碰到这样的问题吗,怎么解决?
Toti 2009-03-15
  • 打赏
  • 举报
回复
在线等!!
SysTray控件用法详解 VB SYSTRAY 托盘图标VB6自带的systray.ocx控件实现托盘图标程序 : 补充: 然后在自己的VB程序添加改控件(工程-部件-浏览)。   最好把这个ocx放到C:\WINDOWS\system32。   改控件的属性InTray属性用来设置是否显示在托盘,True为显示在托盘,False为不显示。TrayIcon属性是在托盘显示的图标式样。TrayTip属性是鼠标移到改控件上面显示的提示文字。如果要使程序最小化时显示到托盘,如下:   Private Sub Form_Resize()    If Me.WindowState = vbMinimized Then    cSysTray1.InTray = True    Me.Visible = False End If   End Sub   点击托盘图标后让程序显示出来,如下:   Private Sub cSysTray1_MouseDown(Button As Integer, Id As Long)    Me.WindowState = vbNormal    Me.Visible = True    cSysTray1.InTray = False    Me.SetFocus   End Sub '单击关闭不退出程序 Private Sub Form_Unload(Cancel As Integer) 主程序.Hide Cancel = False End Sub '单击关闭不退出程序 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = 1 主程序.Hide End Sub ’tui为窗体菜单-退出选项名称 Private Sub tui_Click()’快捷键设ALT+F1 End End Sub '注:"主程序"代表一个窗体(Form),窗体菜单-退出选项需设置快捷键ALT+F1 '这个控件有一个小小的问题,如果托盘菜单有退出选项,不能直接用"End 语句",否则在编译后运行期间用户选择退出后,操作系统会报错,以上使用发送按键方法避免出错 ,当然还有其他避免出错方法。
VB6.0将窗体最小化到系统托盘控件法,才是最适合最方便的。使用已被微软封装好的控件:csystray1(名称可自定)。 可直接使用 SysTray.ocx 控件。也可用VB打开工程,做必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx控件,可以随意命名。 注册控件方法: 32位系统的方法, 将ocx文件复制到c:\windows\system32下面, 运行命令regsvr32.exe Systray.ocx win7 64位系统的方法: 将ocx文件复制到c:\windows\syswow64下面, 运行命令c:\windows\syswow64\regsvr32.exe Systray.ocx 即可. vb添加控件 ---------------------------------------------------------------------------------------------------------- 控件的属性和事件浅析: 该控件的InTray属性是用来设置是否显示在托盘,True为显示在托盘,False为不显示; 该控件TrayIcon属性是在托盘显示的图标式样; 该控件TrayTip属性是鼠标移动到该控件上面时,显示的提示文字; 该控件的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏控制程序的目的。 ------------------------------------------------------------------------------------------------------- 源代码如下: '使程序最小化时显示到系统托盘 Private Sub Form_Resize() If Me.WindowState = 1 Then '如程序为最小化则—— cSysTray1.InTray = True '隐藏到任务栏 Me.Visible = False '让程序界面不可见 End If End Sub '点击托盘图标后,让程序窗体显示出来 Private Sub CsysTray1_MouseDown(Button As Integer, Id As Long) Me.WindowState = 0 '程序回复到Normal状态 Me.Visible = True '从任务栏清除图标 cSysTray1.InTray = False '令程序界面可见 Me.setfocus End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧