• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Параметры запуска

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Всем привет помогите со следующим вопросом

В программе надо программно запустить программу ( например блокнот ) и подсунуть ему на вход параметр, например файл который ему требуется открыть. Загвоздка в том как это реализовать простой вариант

ShellExecute( form1.Handle, '', PANSICHAR( 'notepad.exe c:\1.txt' ) , nil, nil, SW_SHOWNORMAL );

не работает.

Люди посоветуйте как быть.
 
B

Barmutik

Прочтите пожалуйста инструкции по параметрам команды ShellExecute

HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters, <-------------------------
LPCTSTR lpDirectory,
INT nShowCmd
);

Вам следует передавать Ваш параметр следующим параметром после имени файлы который Вы хотите запустить...
 
P

Poseidon

А почему бы не попытаться запустить тем же ShellExecute сам файл? Винда уже будет думать, с какой программой этот файл ассоциироват и запускать ее передавая этот файл.
 
S

Spoiler

А почему бы не попытаться запустить тем же ShellExecute сам файл? Винда уже будет думать, с какой программой этот файл ассоциироват и запускать ее передавая этот файл.

А если файлы не ассоциированы с программами для запуска ...
 
B

Barmutik

Да и во вторых если надо запустить имено notepad.exe ?
 
P

Poseidon

<!--QuoteBegin-Spoiler+26:08:2005, 05:41 -->
<span class="vbquote">(Spoiler @ 26:08:2005, 05:41 )</span><!--QuoteEBegin-->А если файлы не ассоциированы с программами для запуска ...
[snapback]24086" rel="nofollow" target="_blank[/snapback]​
[/quote] В общем делайте так:
Код:
ShellExecute(handle,nil,'notepad.exe.', 'c:\1.txt' ,nil,SW_NORMAL)
умаю понятно что где...

<!--QuoteBegin-Barmutik+26:08:2005, 09:08 -->
<span class="vbquote">(Barmutik @ 26:08:2005, 09:08 )</span><!--QuoteEBegin-->Да и во вторых если надо запустить имено notepad.exe ?
[snapback]24100" rel="nofollow" target="_blank[/snapback]​
[/quote] Barmutik, Вам ли спрашивать :)
Код:
ShellExecute(handle,nil,'notepad.exe.',nil,nil,SW_NORMAL)
 
B

Barmutik

:) Я имел ввиду что если надо открыть текстовый файл именно Ноутпадом, а не ассоциированным приложением...

Вы уже ответили на это примером своего кода приведённого Вами выше...
 
R

Rinza

здравствуйте. я сделала так как Вы посоветовали насчет Shellexecute, прога открылась, но при открытиии возникает код ошибки -8.
что это значит????
помогите пожалуйста)
заранее спасибо!!!!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!