cyberfan's blog

正其谊不谋其利,明其道不计其功

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  15 随笔 :: 489 文章 :: 44 评论 :: 0 Trackbacks
我们平时使用的Word、Excel等应用软件都有自动存盘功能,这样可以在出现意外情况时把数据的丢失减到最小程度,可是简陋的记事本就没有这么幸运了,但我们平时又离不开它。这可怎么办?没关系,让我们用VB来对它进行完善,让记事本也来个自动保存。

  一、设计思路

  在VB中有一个SendKeys方法,可以模拟键盘发送指令给应用程序只要设定一定的时间间隔,然后按时给记事本发送保存文件的命令就可以达到自动保存的目的了。

  二、程序设计

  新建一工程在窗体上添加一个时钟控件,并将属性INTERVAL的值设置为1000(即1秒),再添加一个Label控件、一个TEXT控件 text1和UpDown控件“updown1”,并设置“Updown1”的“autobuddy”属性为“true”; “buddyproperty”属性为“Text”;“increment”属性为“1”;“max”属性为“20”;“min”属性为“1”。最后再添加一个按钮控件command1并设置caption属性为“开始”。下面就可以双击窗体添加如下代码了:

Private Declare Function FindWindow Lib ″user32″ Alias ″FindWindowA″ ByVal lpClassName As String ByVal lpWindowName As String  As Long
Dim i As Integer
Private Sub Command1_Click 
Me.WindowState = 1
Timer1.Enabled = True
End Sub
Private Sub Form_Load 
Form1.Caption = ″记事本自动保存″
Text1.Text = ″″
Text1.Text = 1
Shell ″notepad.exe″ vbNormalFocus '打开记事本,并使之成为当前窗口
Timer1.Enabled = True '激活时钟控件
Form1.WindowState = 0
End Sub
Private Sub Timer1_Timer 
If FindWindow″Notepad″ vbNullString  Then
Dim b As Integer
b = UpDown1.Value
i = i + 1
If i Mod b  60 = 0 Then '设置自动存盘的时间间隔为分钟,可以根据需要进行更改。
SendKeys ″%FS ″ True '调用文件菜单的保存命令,显示文件保存对话框
End If
Else
Unload Me
End If
End Sub

  使用方法:代码输入完毕,将该程序编译成EXE文件,用“发送到/桌面快捷方式”命令为该文件在桌面上创建一个快捷方式图标。当要使用记事本时,只要双击这个快捷方式图标就可以自动打开记事本及这个程序了。设置一下自动保存的时间间隔,比如2分钟,点击“开始”按钮开始工作。当第一次保存时,会显示文件保存窗口,让你填写文件名和选择路径,以后将每隔2分钟自动保存一次。当你关闭记事本时该程序也会随之自动退出。本程序在VB6.0企业版和Win98 SE下调试通过。
posted on 2005-08-12 14:35 cyberfan 阅读(193) 评论(0)  编辑 收藏 引用 所属分类: vb
只有注册用户登录后才能发表评论。