'==================================запись в блокнот===============================
WScript.Sleep 50000
Const ForAppending = 8, TristateUseDefault = -2
Dim FSO,F,TextStream,s
' Создаем объект FileSystemObject
Set FSO=WScript.CreateObject("Scripting.FileSystemObject")
' Создаем в текущем каталоге файл test1.txt
If Not FSO.FileExists("test1.txt") Then
FSO.CreateTextFile "test1.txt"
End If
' Создаем объект File для файла test1.txt
set F=FSO.GetFile("test1.txt")
' Создаем объект TextStream (файл открывается для записи)
Set TextStream=F.OpenAsTextStream(ForAppending, TristateUseDefault)
' Записываем в файл строку
TextStream.WriteLine "Был произведен запуск с учетной записи konstantin : " & Now &VbCrLf
' Закрываем файл
TextStream.Close
'==================================Конец============================================
Const Login = "ygbonyakevuch@gmail.com"
Const PW = "no"
Set objSMS = New SMSNotification
If objSMS.SendMessage(Login, PW, "Вход по константином", "Костяк зашел", "на ки") Then
MsgBox "Сообщение отправлено", vbInformation
Else
MsgBox "Не удалось отправить сообщение", vbCritical
End If
Set objSMS = Nothing
Class SMSNotification
Public Function SendMessage(sLogin, sPW, sTitle, sContent, sWhere)
'проверяем службу времени
If Not W32TimeCheck Then Exit Function
'синхронизируем время
If Not TimeSinc Then Exit Function
Dim XMLHttp 'XMLHttpRequest
Dim sAuthTokens
Set XMLHttp = CreateObject("Microsoft.XMLHTTP")
With XMLHttp
'авторизуемся
.Open "POST", "https://www.google.com/accounts/ClientLogin", False
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.Send "Email=" & sLogin & "&Passwd=" & sPW & "&service=cl&source=da440dil-GSMS-1.0"
'получаем строку аутентификации
sAuthTokens = Right(.responseText, Len(.responseText)-InStr(.responseText, "Auth=")-4)
If .Status <> 200 Then Exit Function 'ошибка
'работаем с календарем
.Open "POST", "http://www.google.com/calendar/feeds/default/private/full", False
.SetRequestHeader "Content-Type", "application/atom+xml"
.SetRequestHeader "X-If-No-Redirect", "True"
.SetRequestHeader "Authorization", "GoogleLogin auth=" & sAuthTokens
.Send "<?xml version='1.0' ?><entry xmlns='http://www.w3.org/2005/Atom' " & _
"xmlns:gd='http://schemas.google.com/g/2005'>" & _
"<title type='text'>" & sTitle & "</title>" & _
"<content type='text'>" & sContent & "</content>" & _
"<gd:eventStatus value='http://schemas.google.com/g/2005#event.confirmed'>" & _
"</gd:eventStatus>" & _
"<gd:where valueString='" & sWhere & "'></gd:where>" & _
"<gd:when startTime='" & MakeDateTime() & _
"' endTime='" & MakeDateTime() & "'>" & _
"<gd:reminder minutes='1' method='sms' /></gd:when></entry>"
If .Status <> 201 Then Exit Function 'ошибка
End With
Set XMLHttp = Nothing
SendMessage = True
End Function
'собираем время в необходимом формате
Private Function MakeDateTime()
MakeDateTime = Year(Date()) & "-" & Right(0 & Month(Date()),2) & "-" & _
Right(0 & Day(Date),2) & "T" & Right(0 & DateAdd("s",60,Time()),8)
End Function
'запуск службы времени
Private Function W32TimeCheck()
Set objShellApp = CreateObject("Shell.Application")
With objShellApp
If Not .IsServiceRunning("W32Time") Then
If .ServiceStart("W32Time", True) = 0 Then Exit Function
End If
'вместо WScript.Sleep, т.к. вероятно Shell.Application выполняет ServiceStart асинхронно
W32TimeCheck = .IsServiceRunning("W32Time")
End With
Set objShellApp = Nothing
End Function
'синхронизация времени с временем интернета
Private Function TimeSinc()
Set wshShell = CreateObject("WScript.Shell")
With wshShell
If .Run("w32tm /config /syncfromflags:manual /manualpeerlist:" & Chr(34) & _
"time.windows.com time.nist.gov, time-nw.nist.gov, time-a.nist.gov, time-a.nist.gov" & Chr(34) _
,0,True) <> 0 Then Exit Function
If .Run("w32tm /config /update",0,True) <> 0 Then Exit Function
If .Run("w32Tm /resync /rediscover",0,True) <> 0 Then Exit Function
End With
Set wshShell = Nothing
TimeSinc = True
End Function
End Class
В реестре в HKCU->Softaware->Microsoft->Windows->CurrentVersion->Run прописал. То есть пользователь входит в систему и запускается скрипт. И он запускается, вот только первая его часть (где создание документа) не работает, а вторая (отправка смс) работает. Повторюсь, при обычном запуске все работает.
Скрипт запускается с рабочего стола, там же создается файл (может это имеет какое то значение )