富有挑战性的难题!!!

czm007 2003-10-20 09:57:09
应家人要求,需要做个小程序,程序要求如下:
运行后出现一个消息提示框,比如说到晚上12点了,会自动弹出消息提示框,上面写着该睡觉啦!5分钟后还没关机,将继续出现提示框,每5分钟一次.
最好要运行过一次后自动添加到系统启动菜单或者在注册表里添加自启动。
谢谢啦..我遇到了好多麻烦,知道自己的不足了.请大大们帮忙啊
czm@hzda.gov.cn
...全文
116 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamflying1980 2003-10-20
  • 打赏
  • 举报
回复
用TIMER控件,还有MSGBOX(),估计不会太难.就是自己要多考虑考虑其中细节!
czm007 2003-10-20
  • 打赏
  • 举报
回复
自动加入注册表 如何实现呢?
j4sxw 2003-10-20
  • 打赏
  • 举报
回复
哪有完整的程序
还是自己老老实实的做吧.
有问题到这里来问
这样对你才有好处.
帮你顶一下
czm007 2003-10-20
  • 打赏
  • 举报
回复
自动加入注册表让他自启动不能做到么?
czm007 2003-10-20
  • 打赏
  • 举报
回复
不会啊~~~谁能给我个完整的程序啊,谢谢啊.
cjlong 2003-10-20
  • 打赏
  • 举报
回复
dim a as Integer
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
If Time > #10:00:00 AM# Then
a=a+1
if a=300 then msgbox "请睡觉了"
End If
End Sub
eaglezhao 2003-10-20
  • 打赏
  • 举报
回复
很简单嘛,通过Timer控件来控制。
启动程序后检查注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrenVersion\Run下面建立这个程序的键没有,没有就建立,以后程序就可以开机自动运行了.
haisuifeng 2003-10-20
  • 打赏
  • 举报
回复


mydate=hour(now)

timer1.Interval =1000*60*5


Private Sub Timer1_Timer()
if mydate=12 then
If MsgBox("该馆击了,是否关机?", vbQuestion + vbYesNo) = vbYes Then

onoff() '关机函数
end if
end if
End Sub
northwolves 2003-10-20
  • 打赏
  • 举报
回复
无窗体模式,用SUB MAIN启动


Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Sub exitwindows()
ExitWindowsEx 9, 0 '关闭系统
End Sub
Sub main()
Dim r As Long
r = MsgBox("现在已是午夜12点,你该睡觉啦!" + vbCrLf + vbCrLf + "按‘确定’关机,按‘取消’返回", vbOKCancel + vbInformation, "郑重提示")
If r = vbOK Then
exitwindows
Else
End
End If
End Sub

生成应用程序tishi.exe,加入任务栏,每日0时运行.重复间隔5分钟。
射天狼 2003-10-20
  • 打赏
  • 举报
回复
很简单啊,你遇到什么难题了,说出来,帮你做是不可能的~~
cjlong 2003-10-20
  • 打赏
  • 举报
回复
很简单的,,,,

通过TIME控件,用TIME函数来获得时间

czm007 2003-10-20
  • 打赏
  • 举报
回复
大大们帮帮忙啊。急死了。再拿不出要给敢出家门了
czm007 2003-10-20
  • 打赏
  • 举报
回复
自动添加到注册表里我实在搞不明白,总不会叫我说拉个快截方式到启动里面吧..
不符合编程的标准
czm007 2003-10-20
  • 打赏
  • 举报
回复
哇,楼上的太谢谢你啦..我要程序..给你mail了。.谢谢
vansoft 2003-10-20
  • 打赏
  • 举报
回复
这也叫富有挑战性的难题?
Micro_Sheng 2003-10-20
  • 打赏
  • 举报
回复
以下是对注册表的操作,让程序开机它就自动运行
请把以下代码放入一个单独的模块中,在Form_Load中调用AutoExec就可以了

Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const READ_CONTROL = &H20000
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_SET_VALUE = &H2
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.

public sub AutoExec()
On Error Resume Next

Dim t(100) As Byte
Dim Length As Long
Dim Str As String
Dim a

Str = App.Path & "aa.exe" '假定你的程序名称为aa ,你应把aa更换为你的程序名


For i = 1 To Len(Str)
t(i - 1) = Asc(Mid(Str, i, 1))
Next i

a = RegOpenKeyEx(&H80000002, "SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN", 0, KEY_ALL_ACCESS, b)
a = RegSetValueEx(b, "AutoExec", 0, 1, t(0), Len(Str))

end sub

'需要注意的是不要把程序放在有中文的目录下面

以上是一个让程序自动运行的过程
如还想要定时程序,请Email To: zxs_001@163.net
aiur2000 2003-10-20
  • 打赏
  • 举报
回复
第二个你把你的执行程序直接拉到启动下即可。
czm007 2003-10-20
  • 打赏
  • 举报
回复
黑精灵谢谢你,
2 注册启动
用Api添加注册表信息,也可以用Vb内的注册表操作函数;或者把这个程序添加到系统的启动文件夹内,两种方法都可以让系统自动运行。
这个具体怎么操作?
knikcn 2003-10-20
  • 打赏
  • 举报
回复
我觉得主要有四个问题:
1、定时
2、注册启动
3、保存设置信息
设计:
1 定时
用Timer控键
方法:每隔一段时间检查是否到达制定时间
注意事项:interval:最大值是65355即2^16
2 注册启动
用Api添加注册表信息,也可以用Vb内的注册表操作函数;或者把这个程序添加到系统的启动文件夹内,两种方法都可以让系统自动运行。
3 保存设置信息
注册表或者一个ini文件,方法任意。
czm007 2003-10-20
  • 打赏
  • 举报
回复
各位大大谢谢了。.看了你们说的。明白了不少了。估计自己摸索没问题了。
就是怎么让他自己在注册表里添加为开机自动运行,有办法解决么?
加载更多回复(1)

7,762

社区成员

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

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