开机自启动、启动后最小化到托盘,这两个选项如何实现?

windale 2008-03-29 08:02:05
要在Windows应用程序中设置两个checkbox选项:开机自启动,启动后最小化到托盘。
因为只有一个单独的程序文件,所以考虑用注册表保存用户的设置。请问应该对注册表中的哪些项进行操作?

我知道开机自启动可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中建值,可是发现有个软件会在HKEY_USERS\S-1-5-21-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx\Software\Microsoft\Windows\CurrentVersion\Run中键值。请问第二种方式中xxxx位置的数字代表什么含义,怎样获取具体的数值,这种方式与第一种方式有什么区别?
...全文
1482 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxl1102003 2008-03-30
  • 打赏
  • 举报
回复
可以考虑用Windows Server来实现,这个东东不需要用户登陆就可以运行,而且用VS2003/05实现也很简单
windale 2008-03-30
  • 打赏
  • 举报
回复
大家没有明白偶的意思~~
关键不是具体实现过程,是想通过注册表保存用户的设置,可是不知道应该对注册表哪些键进行操作。
另外如果想根据保存的设置来选择程序运行时是否自动最小化到托盘,这个应该怎么处理?
cc_net 2008-03-30
  • 打赏
  • 举报
回复

'最小化隐藏主窗体,显示到托盘
Private Sub Form1_SizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged
Try
If Me.WindowState = FormWindowState.Minimized Then
Me.NotifyIcon1.Visible = True
Me.Hide()
End If
Catch ex As Exception
MessageBox.Show(ex.Message.Trim)
End Try
End Sub



'点托盘图标显示主窗体和菜单
Private Sub NotifyIcon1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDown
Try
If e.Button = MouseButtons.Left Then //判断下鼠标哪个键,因为右键是弹出菜单的
Me.Visible = True
Me.NotifyIcon1.Visible = False
Me.WindowState = FormWindowState.Normal
Me.Activate()
ElseIf e.Button = MouseButtons.Right Then

End If
Catch ex As Exception
MessageBox.Show(ex.Message.Trim)
End Try
End Sub




'开机自动启动
Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
If MenuItem7.Checked = False Then
Dim starupPath As String = Application.ExecutablePath
Dim loca As RegistryKey = Registry.LocalMachine
Dim run As RegistryKey = loca.CreateSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run")
Try
run.SetValue("OA上网助手", starupPath)
MessageBox.Show("开机自动启动设置成功!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
loca.Close()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
MenuItem7.Checked = True
MenuItem8.Checked = False
End If
End Sub



公司之前上网要开OA,后来写了个自动登陆的,最小化到托盘,有菜单,开机自动运行。随便写的,自己看下把
dancingbit 2008-03-29
  • 打赏
  • 举报
回复
最小化到托盘可以使用NotifyIcon类。
csharp_start 2008-03-29
  • 打赏
  • 举报
回复
1.写注册表
2.设置程序的主窗口的windowstate = Minimized
netwalker2007 2008-03-29
  • 打赏
  • 举报
回复
关注中
windale 2008-03-29
  • 打赏
  • 举报
回复
我现在还在上学,在编程方面是新手,相关方面了解不多,请多多指教~~谢谢!

111,083

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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