Скрепки и колобки
» Программирование "удобняшек" на VBScript
Доброго времени суток уважаемые программисты специалисты!
Есть такой вопрос - Как можно имитировать нажатие двух клавиш (Ctrl Shift), и желательно, чтобы они были беспрерывно зажатыми до тех пор, пока в сстеме запущенный определённый процесс (т.е когда процесс закроется, то клавиши не должный быть зажатыми).
А вообще было бы идеально, если бы они оставались быть зажатыми в границах определённого активного окна (т.е когда это определённое окно не активно, то клавиши как бы будут отжиматься, а скрипт как бы будет уходить во временную спячку, и 'просыпаться' в момент активности того самого определённого окна).
У меня есть скрипт, который имитирует нажатие одной клавиши:
Код: DIM Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.SendKeys "{Тут клавиша}"
'quit
Set Wsh = nothing
WScript.Quit
Есть такой вопрос - Как можно имитировать нажатие двух клавиш (Ctrl Shift), и желательно, чтобы они были беспрерывно зажатыми до тех пор, пока в сстеме запущенный определённый процесс (т.е когда процесс закроется, то клавиши не должный быть зажатыми).
А вообще было бы идеально, если бы они оставались быть зажатыми в границах определённого активного окна (т.е когда это определённое окно не активно, то клавиши как бы будут отжиматься, а скрипт как бы будет уходить во временную спячку, и 'просыпаться' в момент активности того самого определённого окна).
У меня есть скрипт, который имитирует нажатие одной клавиши:
Код: DIM Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
Wsh.SendKeys "{Тут клавиша}"
'quit
Set Wsh = nothing
WScript.Quit
Подскажите как из VBS запустить существующее и настроенно VPN соединение.
А потом после того как будут выполнены нужные операции (как операции сделать знаю)
его (соединение) закрыть.
Спасибо
А потом после того как будут выполнены нужные операции (как операции сделать знаю)
его (соединение) закрыть.
Спасибо
При запуске скрипта стало появляться ошибка
Цитата:
Пробовал в сети поискать - не нашёл НИЧЕГО. Неужели это только у меня?
Цитата:
Невозможно создание объекта контейнером ActiveX: "Microsoft.XMLDOM"
Пробовал в сети поискать - не нашёл НИЧЕГО. Неужели это только у меня?
Есть такой вопрос - как в VBScript, проверить наличие на существование процесса в системе? что-то типа такого:
Код: If ProcessExists(process.exe) Then
do somthing...
Код: If ProcessExists(process.exe) Then
do somthing...
ViSiToR
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
For Each Proc In myProcEnum
WScript.Echo Proc.Name & " " & Proc.ProcessId & " " & Proc.ExecutablePath & " " & Proc.CommandLine
Next
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
For Each Proc In myProcEnum
WScript.Echo Proc.Name & " " & Proc.ProcessId & " " & Proc.ExecutablePath & " " & Proc.CommandLine
Next
mozers
Спасибо за отзыв, но если честно, я не совсем понимаю что с этим делать. Куда нужно прописывать нужный для опознания процесс, и как сделать чтобы в случае его отсутствия, происходило определённое действие?
Спасибо за отзыв, но если честно, я не совсем понимаю что с этим делать. Куда нужно прописывать нужный для опознания процесс, и как сделать чтобы в случае его отсутствия, происходило определённое действие?
ViSiToR
Да... RFTM вообще то...
Сначала запускаем Блокнот, а потом этот скрипт (назовем его KillNotepad.vbs):
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
For Each Proc In myProcEnum
If Proc.Name = "notepad.exe" Then
' пример действий если найден заданный процесс
WScript.Echo "Я вижу что запущен Блокнот!" & vbNewLine & "Ща его грохну..."
Proc.Terminate
' Все! Можно и че нить другое делать...
End If
Next
Да... RFTM вообще то...
Сначала запускаем Блокнот, а потом этот скрипт (назовем его KillNotepad.vbs):
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
For Each Proc In myProcEnum
If Proc.Name = "notepad.exe" Then
' пример действий если найден заданный процесс
WScript.Echo "Я вижу что запущен Блокнот!" & vbNewLine & "Ща его грохну..."
Proc.Terminate
' Все! Можно и че нить другое делать...
End If
Next
Добрый вечер,
Кто может помочь внести изменения в макрос, написанный в VBS ?
Речь идет о макрос к программе перевода Промт -
Я хочу включить информацию, находящуюся в тексте макроса в формате
Dictionary.Add "мама", "maman"
Dictionary.Add "папа", "papa"
в последовательный файл в формате txt - Но я не умею это делать. Помогите пожалуйста.
Заранее благодарю всех за помочь -
Цитата:
Set RE = New RegExp
RE.Global = True
'
Set Dictionary = CreateObject("Scripting.Dictionary")
Dictionary.Add "папа", "papa"
Dictionary.Add "мама", "maman"
Dictionary.Add "марина", "Marina"
Sub PreserveForDictionary(ParaIndex)
a = Dictionary.Keys
For i = 0 To Dictionary.Count -1
RE.Pattern = a(i)
Set Matches = RE.Execute(Paragraphs(ParaIndex).SourceText)
For Each Match in Matches
Call Paragraphs(ParaIndex).Preserve(Match.FirstIndex, Match.Length, False, 0)
Next
Next
End Sub
Sub ReplaceFromDictionary(ParaIndex)
Set TargetRanges = Paragraphs(ParaIndex).Ranges
For I = 0 To TargetRanges.Count - 1
Set TargetRange = TargetRanges(I)
Value = Paragraphs(ParaIndex).SourceText(TargetRange.OriginStart, TargetRange.OriginLength)
If Dictionary.Exists(Value) Then
Value = Dictionary(Value)
Call Paragraphs(ParaIndex).ReplaceTarget(TargetRange.Start, TargetRange.Length, Value)
TargetRange.Length = Len(Value)
TargetRange.Property("PROMT_MACROS") = "This text was changed by macro!!!"
End If
Next
End Sub
Sub Document_BeforeTranslation(ParaIndex)
PreserveForDictionary(ParaIndex)
End Sub
Sub Document_AfterTranslation(ParaIndex)
ReplaceFromDictionary(ParaIndex)
End Sub
Кто может помочь внести изменения в макрос, написанный в VBS ?
Речь идет о макрос к программе перевода Промт -
Я хочу включить информацию, находящуюся в тексте макроса в формате
Dictionary.Add "мама", "maman"
Dictionary.Add "папа", "papa"
в последовательный файл в формате txt - Но я не умею это делать. Помогите пожалуйста.
Заранее благодарю всех за помочь -
Цитата:
код:
Set RE = New RegExp
RE.Global = True
'
Set Dictionary = CreateObject("Scripting.Dictionary")
Dictionary.Add "папа", "papa"
Dictionary.Add "мама", "maman"
Dictionary.Add "марина", "Marina"
Sub PreserveForDictionary(ParaIndex)
a = Dictionary.Keys
For i = 0 To Dictionary.Count -1
RE.Pattern = a(i)
Set Matches = RE.Execute(Paragraphs(ParaIndex).SourceText)
For Each Match in Matches
Call Paragraphs(ParaIndex).Preserve(Match.FirstIndex, Match.Length, False, 0)
Next
Next
End Sub
Sub ReplaceFromDictionary(ParaIndex)
Set TargetRanges = Paragraphs(ParaIndex).Ranges
For I = 0 To TargetRanges.Count - 1
Set TargetRange = TargetRanges(I)
Value = Paragraphs(ParaIndex).SourceText(TargetRange.OriginStart, TargetRange.OriginLength)
If Dictionary.Exists(Value) Then
Value = Dictionary(Value)
Call Paragraphs(ParaIndex).ReplaceTarget(TargetRange.Start, TargetRange.Length, Value)
TargetRange.Length = Len(Value)
TargetRange.Property("PROMT_MACROS") = "This text was changed by macro!!!"
End If
Next
End Sub
Sub Document_BeforeTranslation(ParaIndex)
PreserveForDictionary(ParaIndex)
End Sub
Sub Document_AfterTranslation(ParaIndex)
ReplaceFromDictionary(ParaIndex)
End Sub
mozersmozers
Цитата:
Но таким образом, всё что будет между For и Next, в любом случае будет выполнятся, а мне нужно, чтобы при условии отсутствия процесса, он же и будет запускаться. Т.е, допустим, в системе висит процесс dmaster.exe, и при запуске скрипта, должна произойти проверка, и если был найден процесс, то скрипт по сути должен завершить работу (Set WshShell = Nothing или в этом роде), а если процесс не был определён (т.е нет такого процесса в системе), то скрипт должен запустить программу (dmaster) - но сам акт запуска я умею делать, мне нужно именно условие и проверка на существование процесса.
Цитата:
Сначала запускаем Блокнот, а потом этот скрипт (назовем его KillNotepad.vbs):
Но таким образом, всё что будет между For и Next, в любом случае будет выполнятся, а мне нужно, чтобы при условии отсутствия процесса, он же и будет запускаться. Т.е, допустим, в системе висит процесс dmaster.exe, и при запуске скрипта, должна произойти проверка, и если был найден процесс, то скрипт по сути должен завершить работу (Set WshShell = Nothing или в этом роде), а если процесс не был определён (т.е нет такого процесса в системе), то скрипт должен запустить программу (dmaster) - но сам акт запуска я умею делать, мне нужно именно условие и проверка на существование процесса.
popinou
Цитата:
Цитата:
ViSiToR
Ну, элементарно, же, Ватсон
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
myProc = False
For Each Proc In myProcEnum
If Proc.Name = "notepad.exe" Then
myProc = True
End If
Next
If Not myProc Then
WScript.Echo "Что то я НЕ вижу что запущен Блокнот." & vbNewLine & "Ща я его запушу!..."
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "notepad.exe", 1, true
Else
WScript.Echo "Блокнот уже запущен!"
End If
Цитата:
Речь идет о макрос к программе перевода Промт -Что она там делает? Зачем это вообще нужно? А, впрочем, - дело твое...
Я хочу включить информацию, находящуюся в тексте макроса в формате
Цитата:
в последовательный файл в формате txtЗапись в файл выполняется с помощью FileSystem Object. Хорошее описание всех его свойств и методов (на русском и с примерами) - тут.
ViSiToR
Ну, элементарно, же, Ватсон
Код: Set Processes = GetObject("winmgmts://localhost")
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")
myProc = False
For Each Proc In myProcEnum
If Proc.Name = "notepad.exe" Then
myProc = True
End If
Next
If Not myProc Then
WScript.Echo "Что то я НЕ вижу что запущен Блокнот." & vbNewLine & "Ща я его запушу!..."
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "notepad.exe", 1, true
Else
WScript.Echo "Блокнот уже запущен!"
End If
mozers
Цитата:
Приогромное спасибо, Холмс
Цитата:
Ну, элементарно, же, Ватсон
Приогромное спасибо, Холмс
Есть такой вопрос:
Нужно в определённом файле, найти строчку содержащую определённые символы, и если символы найдены, то нужно чтобы создавался файл (например, Exists.tmp). Т.е, у меня есть допустим файл test.txt, и в этом файле, нужно осуществить поиск таких слов: «Привет Мир», если в этом файле существую эти слова, то должен создаваться файл Exists.tmp, если не существует, то ничего пусть не делается.
Очень важно - поиск нужно осуществлять именно кириллицей, и при этом не зависимо от кодировкий файла и\или текста в нём.
Возможно такое осуществить на VBS? очень и очень надо!
Заранее благодарю!
Нужно в определённом файле, найти строчку содержащую определённые символы, и если символы найдены, то нужно чтобы создавался файл (например, Exists.tmp). Т.е, у меня есть допустим файл test.txt, и в этом файле, нужно осуществить поиск таких слов: «Привет Мир», если в этом файле существую эти слова, то должен создаваться файл Exists.tmp, если не существует, то ничего пусть не делается.
Очень важно - поиск нужно осуществлять именно кириллицей, и при этом не зависимо от кодировкий файла и\или текста в нём.
Возможно такое осуществить на VBS? очень и очень надо!
Заранее благодарю!
ViSiToR
Цитата:
Если "очень и очень надо" то сделаешь сам и никого благодарить не надо будет.
Случай то достаточно хорошо описанный (в том же справочнике FileSystem Object)
Сначала читаешь файл:
Код: Set CurrentFile = FSO.OpenTextFile("test.txt", ForReading, False, TristateUseDefault)
ReadText = CurrentFile.ReadAll
Цитата:
Возможно такое осуществить на VBS? очень и очень надо!
Заранее благодарю!
Если "очень и очень надо" то сделаешь сам и никого благодарить не надо будет.
Случай то достаточно хорошо описанный (в том же справочнике FileSystem Object)
Сначала читаешь файл:
Код: Set CurrentFile = FSO.OpenTextFile("test.txt", ForReading, False, TristateUseDefault)
ReadText = CurrentFile.ReadAll
Как можно использовать переменные среды в теле скрипта (например создавать каталог с именем пользователя и машины) переменные %UserName%, %ComputerName%, %USERPROFILE%
Надо для резервного копирования моихдокументов пользователей на сервер
Надо для резервного копирования моихдокументов пользователей на сервер
Keponom
Цитата:
В VB для этих целей есть весьма удобная функция Environ()
Например
Код:
Environ("USERNAME")
Environ("COMPUTERNAME")
Environ("USERPROFILE")
Цитата:
Как можно использовать переменные среды в теле скрипта
В VB для этих целей есть весьма удобная функция Environ()
Например
Код:
Environ("USERNAME")
Environ("COMPUTERNAME")
Environ("USERPROFILE")
Keponom
Чаще использование функции ExpandEnvironmentStrings удобнее:
Код: set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo WshShell.ExpandEnvironmentStrings("%USERNAME%")
WScript.Echo WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
WScript.Echo WshShell.ExpandEnvironmentStrings("%USERPROFILE%")
Чаще использование функции ExpandEnvironmentStrings удобнее:
Код: set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo WshShell.ExpandEnvironmentStrings("%USERNAME%")
WScript.Echo WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
WScript.Echo WshShell.ExpandEnvironmentStrings("%USERPROFILE%")
Спасибо всем нашел эти значения в реестре, оттуда я знаю как вытянуть
Цитата:
Цитата:
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "Console"
strValueName = "HistoryBufferSize"
oReg.GetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
Wscript.Echo "Current History Buffer Size: " & dwValue
strKeyPath = "SOFTWARE\Microsoft\Windows Script Host\Settings"
strValueName = "TrustPolicy"
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
Wscript.Echo "Current WSH Trust Policy Value: " & strValue
mozers
Большое Спасибо, с поиском разобрался. Но вот есть другой вопрос...
Как можно на vbs, осуществить проверку на то, существует ли файл по ссылке в сети?
В основном, нужно проверять файлы с расширением *.zip и *.rar. Но чтобы проверка была корректная, и без исключении.
Большое Спасибо, с поиском разобрался. Но вот есть другой вопрос...
Как можно на vbs, осуществить проверку на то, существует ли файл по ссылке в сети?
В основном, нужно проверять файлы с расширением *.zip и *.rar. Но чтобы проверка была корректная, и без исключении.
Keponom
Цитата:
При чем тут это ??? Ты не забыл о чем спрашивал?
Добавлено:
ViSiToR
Имеется в виду http ссылка?
Как закачать страницу или файл если он имеется по указанной ссылке - знаю, а вот как не закачивая проверить существование???...
Не знаю. Никогда не надо было.
Пользуй WGET - там есть такая опция.
Цитата:
нашел эти значения в реестре
При чем тут это ??? Ты не забыл о чем спрашивал?
Добавлено:
ViSiToR
Имеется в виду http ссылка?
Как закачать страницу или файл если он имеется по указанной ссылке - знаю, а вот как не закачивая проверить существование???...
Не знаю. Никогда не надо было.
Пользуй WGET - там есть такая опция.
mozers
Цитата:
В осовнном да.
Цитата:
А можно пробывать закачать, а потом проверять, удалась ли закачка или нет, возможно такое сделать?
Добавлено:
т.е сели закачка не удалась , то желательно чтобы создался файл как метка (error.tmp).
Цитата:
Имеется в виду http ссылка?
В осовнном да.
Цитата:
Как закачать страницу или файл если он имеется по указанной ссылке - знаю, а вот как не закачивая проверить существование???...
А можно пробывать закачать, а потом проверять, удалась ли закачка или нет, возможно такое сделать?
Добавлено:
т.е сели закачка не удалась , то желательно чтобы создался файл как метка (error.tmp).
ViSiToR
Вот тебе функция для закачки файла по его url:
Код: Sub DownloadFile(url, filename)
' Сохраняет URL в файл
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
On Error Resume Next
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If Err.Number = 0 Then
Do : WScript.sleep 10 : Loop While oXmlHttp.ReadyState <> 4
if oXmlHttp.status = 200 Then
body = oXmlHttp.responseBody
'---------------------------------------------------------------
' 1й вариант сохранения полученного потока
Const adTypeBinary = 1, adSaveCreateOverWrite = 2
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oStream.Open
oStream.Write body
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
' ---------------------------------------------------------------
' 2й вариант сохранения полученного потока
'~ sOut = ""
'~ For i = 0 to UBound(body)
'~ sOut = sOut & chrw(ascw(chr(ascb(midb(body,i+1,1)))))
'~ Next
'~ Set fso = CreateObject("Scripting.FileSystemObject")
'~ Set file = fso.OpenTextFile(filename, 2, True)
'~ file.Write sOut
'~ file.Close
'---------------------------------------------------------------
WScript.Echo "File saved: " & filename
Else
WScript.Echo "There was a problem retrieving the XML data: " & oXmlHttp.statusText
End If
Else
WScript.Echo "Error load from url: " & url
End If
End Sub
DownloadFile "http://cwashington.netreach.net/downloads/scripts/vbscript/ftp_using_ie_xml.zip", "C:\TEMP\ftp_using_ie_xml.zip"
Вот тебе функция для закачки файла по его url:
Код: Sub DownloadFile(url, filename)
' Сохраняет URL в файл
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
On Error Resume Next
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If Err.Number = 0 Then
Do : WScript.sleep 10 : Loop While oXmlHttp.ReadyState <> 4
if oXmlHttp.status = 200 Then
body = oXmlHttp.responseBody
'---------------------------------------------------------------
' 1й вариант сохранения полученного потока
Const adTypeBinary = 1, adSaveCreateOverWrite = 2
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oStream.Open
oStream.Write body
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
' ---------------------------------------------------------------
' 2й вариант сохранения полученного потока
'~ sOut = ""
'~ For i = 0 to UBound(body)
'~ sOut = sOut & chrw(ascw(chr(ascb(midb(body,i+1,1)))))
'~ Next
'~ Set fso = CreateObject("Scripting.FileSystemObject")
'~ Set file = fso.OpenTextFile(filename, 2, True)
'~ file.Write sOut
'~ file.Close
'---------------------------------------------------------------
WScript.Echo "File saved: " & filename
Else
WScript.Echo "There was a problem retrieving the XML data: " & oXmlHttp.statusText
End If
Else
WScript.Echo "Error load from url: " & url
End If
End Sub
DownloadFile "http://cwashington.netreach.net/downloads/scripts/vbscript/ftp_using_ie_xml.zip", "C:\TEMP\ftp_using_ie_xml.zip"
Доброго времени суток всем... подскажите пожалуйста решение такового вопроса... писал скрипт, который из службы каталогов на удаленном компе считывает пользователей, а затем на своем контроллере домена создает контакты для этих пользователей.... как все это дело можно организовать при помощи LDAP запросов....
как приконнектиться к контроллеру и считать с него информацию я знаю....
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("User ID") = имя пользователя
objConnection.Properties("Password") = пароль
objConnection.Properties("Encrypt Password") = True
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name,description,telephonenumber,mail,givenName,initials,sn,physicalDeliveryOfficeName FROM 'GC://айпишник/dc=,dc=' WHERE mail='*'AND objectClass='user' AND displayname <> 'SystemMailbox*'ORDER BY displayname"
Set RS = objCommand.Execute
А как используя этот же метод создать контакт на удаленном контроллере, запуская скрипт на своем.....
В коде должно быть чтото типа этого....
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("User ID") = имя пользователя
objConnection.Properties("Password") = пароль
objConnection.Properties("Encrypt Password") = True
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "INSERT INTO..................... а далеше не знаю,
по сути дела, мне нужно только запрос эскюэльный правильно составить....
подскажите кто нибудь !!!!
как приконнектиться к контроллеру и считать с него информацию я знаю....
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("User ID") = имя пользователя
objConnection.Properties("Password") = пароль
objConnection.Properties("Encrypt Password") = True
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "SELECT Name,description,telephonenumber,mail,givenName,initials,sn,physicalDeliveryOfficeName FROM 'GC://айпишник/dc=,dc=' WHERE mail='*'AND objectClass='user' AND displayname <> 'SystemMailbox*'ORDER BY displayname"
Set RS = objCommand.Execute
А как используя этот же метод создать контакт на удаленном контроллере, запуская скрипт на своем.....
В коде должно быть чтото типа этого....
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Properties("User ID") = имя пользователя
objConnection.Properties("Password") = пароль
objConnection.Properties("Encrypt Password") = True
objConnection.Properties("ADSI Flag") = 1
objConnection.Open "Active Directory Provider"
Set objCommand = CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = "INSERT INTO..................... а далеше не знаю,
по сути дела, мне нужно только запрос эскюэльный правильно составить....
подскажите кто нибудь !!!!
mozers
Цитата:
Большое спасибо!
Но если честно, у самого не получается ...
Я пробовал так:
Код:
' Пробую функцию, но она ругается на то, что я не умею к ней обращаться
GetFile(http://Link/file.zip, c:\file.zip)
' Пробую с кавычками, но тогда ругается на скобкий, убираю скобкий, ругается на кавычки
GetFile("http://Link/file.zip", "c:\file.zip")
Function GetFile(url, filename)
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If oXmlHttp.Status <> 200 Then
GetFile = 1
Exit Function
End If
oStream.Open
oStream.Write oXmlHttp.responseBody
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
GetFile = 0
End Function
Цитата:
Вот тебе функция для закачки файла по его url:
Большое спасибо!
Но если честно, у самого не получается ...
Я пробовал так:
Код:
' Пробую функцию, но она ругается на то, что я не умею к ней обращаться
GetFile(http://Link/file.zip, c:\file.zip)
' Пробую с кавычками, но тогда ругается на скобкий, убираю скобкий, ругается на кавычки
GetFile("http://Link/file.zip", "c:\file.zip")
Function GetFile(url, filename)
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If oXmlHttp.Status <> 200 Then
GetFile = 1
Exit Function
End If
oStream.Open
oStream.Write oXmlHttp.responseBody
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
GetFile = 0
End Function
ViSiToR
Цитата:
Функция ведь ещё и значение возвращает
Код: retVal=GetFile("http://Link/file.zip", "c:\file.zip")
Цитата:
Пробую с кавычками, но тогда ругается на скобкий
Функция ведь ещё и значение возвращает
Код: retVal=GetFile("http://Link/file.zip", "c:\file.zip")
LEX1
Цитата:
О, теперь не ругается но и ничего не делает, просто висит как процесс в системе и фсё!
Код: retVal=GetFile("http://Link/file.zip", "c:\file.zip")
If retVal = @error Then
;Тут по идее должен вылезать меседжбокс, но он не вылазит.
MsgBox "ok" ; А желательно чтобы создовался файл (любой-пустой - как метка).
Else
Exit
End If
Function GetFile(url, filename)
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If oXmlHttp.Status <> 200 Then
GetFile = 1
Exit Function
End If
oStream.Open
oStream.Write oXmlHttp.responseBody
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
GetFile = 0
End Function
Цитата:
Функция ведь ещё и значение возвращает
О, теперь не ругается но и ничего не делает, просто висит как процесс в системе и фсё!
Код: retVal=GetFile("http://Link/file.zip", "c:\file.zip")
If retVal = @error Then
;Тут по идее должен вылезать меседжбокс, но он не вылазит.
MsgBox "ok" ; А желательно чтобы создовался файл (любой-пустой - как метка).
Else
Exit
End If
Function GetFile(url, filename)
Set oXmlHttp = CreateObject("Microsoft.XMLHTTP")
Set oStream = CreateObject("AdoDB.Stream")
oStream.Type = adTypeBinary
oXmlHttp.Open "GET", url, False
oXmlHttp.Send
If oXmlHttp.Status <> 200 Then
GetFile = 1
Exit Function
End If
oStream.Open
oStream.Write oXmlHttp.responseBody
oStream.SaveToFile filename, adSaveCreateOverWrite
oStream.Close
GetFile = 0
End Function
ViSiToR
Цитата:
VBS это не AutoIt.
Цитата:
Разумеется.
Код:
If retVal = 0 Then MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
Цитата:
но и ничего не делает, просто висит как процесс в системе и фсё!
VBS это не AutoIt.
Цитата:
Реально вообще осуществить такое на vbs?
Разумеется.
Код:
If retVal = 0 Then MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
LEX1
Цитата:
Знаю, просто они похожи
Цитата:
Тоже не работает, я даже верную ссылку прописываю (а вместо 0 ставлю 1), но ничего не происходит .
Цитата:
VBS это не AutoIt.
Знаю, просто они похожи
Цитата:
Разумеется.
Тоже не работает, я даже верную ссылку прописываю (а вместо 0 ставлю 1), но ничего не происходит .
ViSiToR
Уважаемый! Все вопросы твои - от полного (абсолютного) незнания VBS. (ты же даже как строку закомментировать не знаешь!).
Ты хочешь решить свою проблему и не желаешь знать даже основы скриптописательства.
Я знаю как писать скрипты но мне безынтересна твоя проблема. Извини.
Что я могу - так это дать скрипт для загрузки обновлений DrWeb. напиши на mozers(собака)mail.ru. Сможешь его приспособить под свои нужды - молодец...
Уважаемый! Все вопросы твои - от полного (абсолютного) незнания VBS. (ты же даже как строку закомментировать не знаешь!).
Ты хочешь решить свою проблему и не желаешь знать даже основы скриптописательства.
Я знаю как писать скрипты но мне безынтересна твоя проблема. Извини.
Что я могу - так это дать скрипт для загрузки обновлений DrWeb. напиши на mozers(собака)mail.ru. Сможешь его приспособить под свои нужды - молодец...
mozers
Цитата:
Знаю - вот так
' Закоментированная Строка
Просто путаю, я привык с AutoIt'ом работать, а там строка коментируется через ;
Цитата:
Я желаю, просто на всё время не хватает, а конкретную задачу нужно решить. Я на данный момент ограничился батником, но там не надёжная проверка, а нужна стопроцентная.
Но всё-же спасибо на том что есть(?).
Цитата:
ты же даже как строку закомментировать не знаешь!
Знаю - вот так
' Закоментированная Строка
Просто путаю, я привык с AutoIt'ом работать, а там строка коментируется через ;
Цитата:
не желаешь знать даже основы скриптописательства.
Я желаю, просто на всё время не хватает, а конкретную задачу нужно решить. Я на данный момент ограничился батником, но там не надёжная проверка, а нужна стопроцентная.
Но всё-же спасибо на том что есть(?).
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
Предыдущая тема: Работа в Delphi c CryptoApi
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.