I think this is what you're looking for.
I created this so I would not forget to call my wife by a certain time.

Create a project with a timer (interval = 1000), 1 form, 1 module, 1 textbox, 4 labels (lblStartTime, lblEndTime, label1 "Start Time" and label2 "End Time")



Code:
Module Code(Paste in Declarations section:)

Global starttime
Global endtime


Declare Function mciExecute Lib "mmsystem"(ByVal_ lpstrCommand As String) As Integer




Sub Command1_Click
starttime = Format(Time, "hh:mm")

endtime = Format(text1.Text, "hh:mm")

lblStartTime.Caption = starttime
lblEndTime.Caption = endtime
timer1.Enabled = True
Me.WindowState = 1
Me.Caption = "End time: " & endtime




Sub Timer1_Timer
starttime = Format(Time, "hh:mm")
If starttime = endtime Then
x = mciExecute("play C:\winnt\media\passport.mid")
Me.Caption = "Wife's Wakeup Timer"
DoEvents
Me.WindowState = 0
DoEvents
AppActivate ("Wife's Wakeup Timer")
DoEvents

MsgBox "The time has come to call your wife!", 64, "Time has come"
timer1.Enabled = False
x = mciExecute("Stop C:\winnt\media\passport.mid")

Exit Sub

ElseIf starttime > endtime Then
AppActivate ("Wife's Wakeup Timer")
MsgBox "The time has come to call your wife!", 64, "Time has come and passed"
x = mciExecute("play C:\winnt\media\passport.mid")
timer1.Enabled = False
x = mciExecute("Stop C:\winnt\media\passport.mid")
Me.WindowState = 0
Exit Sub
Else
End If
That should be it. You type in the time you want to wakeup and click on the command button. It automatically minimizes and when the time comes, it maximizes, displays, and plays a midi file.

Please keep in mind this was written in VB3. Make any changes you need.

Hope that helps.

Let us know.

JazzBass