|   |   | 
| 
 | Вызов функции внешнего приложения exe | ☑ | ||
|---|---|---|---|---|
| 0
    
        Наська72 06.08.14✎ 11:50 | 
        Добрый день!
 Допустим у нас есть некий файл exe, и мы знаем какая в нем есть функция: её название, входные и выходные параметры. Вопрос: как вызвать функцию этого приложения? Пробовала: 1) КомандаСистемы("C:\Каталог\Название.exe"); Как вызвать функцию - неясно. 2) ЗапуститьПриложение("C:\Каталог\Название.exe", , Истина, КодВозврата); Возвращает 0. Как вызвать функцию - неясно. 3) WshShell = Новый COMОбъект("WScript.Shell"); WshShell.Run("C:\1\PercoUsers.exe", 1, 1); Как вызвать функцию - неясно. Помогите, пожалуйста! | |||
| 1
    
        Наська72 06.08.14✎ 12:07 | 
        Это вобще возможно?     | |||
| 2
    
        Kalambur 06.08.14✎ 12:09 | 
        нет     | |||
| 3
    
        lxndr 06.08.14✎ 12:12 | 
        (0) PercoUsers сама написала?     | |||
| 4
    
        MiniMuk 06.08.14✎ 12:12 | 
        (1) если можно переписать приложени чтобы параметры функции принимались из командной строки     | |||
| 5
    
        Kalambur 06.08.14✎ 12:15 | 
        (4) если бы могла, вопроса не стояло бы тут     | |||
| 6
    
        fmrlex 06.08.14✎ 12:15 | 
        (0) Исполняемый файл это не библиотека с сервисами "наружу".
 Внедрение одного приложения в другое может быть расценено антивирусами как атака. | |||
| 7
    
        mehfk 06.08.14✎ 12:17 | ||||
| 8
    
        mehfk 06.08.14✎ 12:18 | 
        (6) Никто не запрещает exe-файлу экспортировать функции, как это делает dll.     | |||
| 9
    
        fmrlex 06.08.14✎ 12:21 | 
        (8) Ну это конечно можно. Можно и на нулевой уровень безопасности перелезть, воспользовавшись недокументированными командами процессора. Но это извращение.     | |||
| 10
    
        oleg_km 06.08.14✎ 12:26 | 
        (8) exe файл может "экспортировать" функции, если он реализован как COM-EXE. Тогда не надо никаких Run, делаешь просто Новый COMОбъект, все остальное за тебя делает ОС     | |||
| 11
    
        Наська72 06.08.14✎ 12:48 | 
        (3) Нет. Коллега.
 (4) В (5) Вам правильно ответили. (10) Поясните, пожалуйста. Мне нужно экзешник как Com+ компоненту на сервере зарегистрировать? Как обратиться к файлу при создании ком объекта? Новый COMОбъект("?"); | |||
| 12
    
        Наська72 06.08.14✎ 13:22 | 
        (10) Кажется поняла, изначально должно быть скомпилировано как com.
 Какие еще есть варианты? | |||
| 13
    
        mehfk 06.08.14✎ 16:33 | 
        (12) Если exe экспортирует функции как dll то см. (7)     | |||
| 14
    
        mehfk 06.08.14✎ 16:40 | 
        (10) >> exe файл может "экспортировать" функции, если он реализован как COM-EXE
 PE-EXE-файл может экспортировать функции вне зависимости от ваших представлений http://www.radikall.com/images/2014/08/06/7DcEr.png | |||
| 15
    
        Chai Nic 06.08.14✎ 16:41 | 
        Как вариант - чере rundll?     | |||
| 16
    
        Наська72 07.08.14✎ 08:46 | 
        Забила на это все. Переписываю в dll с поддержкой com.
 Рекомендую статью http://infostart.ru/public/151246/ | |||
| 17
    
        HeroShima 07.08.14✎ 08:56 | 
        (16) занавес...     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |