You could install
AIVMS on a different computer, and then set up a Windows task or other scheduling software to run AIVMS at a specified time with the alert switch.
Example :
"C:Program FilesAIVMSAIVMS.exe" ALERT Wake Up Now!
The AIVMS artificial intelligence will call the Skype account specifed in the ADMIN ALERT settings whenever it receives a command line like that shown above, and announce the specified alert message (Wake Up Now!) once the recipient has answered.
Note that the command does not actually run AIVMS since it would already be running, it just passes the command line parameters to AIVMS.
You can also issue commands such as this using the windows API sendmessage function from your own software. Here is an example of how this is performed in Visual Basic:
CODE
' Add a module to a VB project and paste the following code.
Public Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _
As String) As Long
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal _
wParam As Long, lParam As Any) As Long
Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" _
(hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Private Type COPYDATASTRUCT
dwData As Long
cbData As Long
lpData As Long
End Type
Private Const WM_COPYDATA = &H4A
Sub Main()
Dim MyWindow as String, myData as String
myWindow = "AIVMSInterface"
myData = "ALERT Skype Voice Mail Has Been Recieved"
COMSend myWindow, myData
End Sub
Public Function COMSend(Window As String, Data As String)
Dim lHwnd As Long
Dim cds As COPYDATASTRUCT
Dim buf() As Byte
If Data = vbNullString Then Exit Function
' Get the handle of the AIVMS application COM interface.
lHwnd = FindWindow(vbNullString, Window)
' Copy the string into a byte array,
' converting it to ASCII. Assign lpData
' the address of the byte array.
If lHwnd = 0 Then Exit Function
ReDim buf(Len(Data))
Call CopyMemory(buf(0), ByVal Data, Len(Data))
With cds
.dwData = 1
.cbData = Len(Data)
.lpData = VarPtr(buf(0))
End With
' Send the string.
Call SendMessage(lHwnd, WM_COPYDATA, lHwnd, cds)
End Function
If you prefer, you can just login to the AIVMS remote TCP/IP interface and issue commands. TCP/IP is fairly platform independent, so this provides maximum versatility. You can access the AIVMS remote TCP/IP interface securely from any computer connected to the Internet.
You can specify AIVMS to transmit these alerts by Skype voice call or chat message, or by an email message to the Admin Alert account.