Разбор "строки запуска".

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Разбор "строки запуска".

Сообщение iGrok » 28.04.2009 (Вт) 21:13

Не путать с разбором переданной приложению командной строки!

Сильно не пинайте, если что. Искал долго. Ничего подходящего не нашёл. А главное, в упор не представляю, как это сделать самому.

Итак. Берём, значит, в реестре строчку автозапуска, к примеру, DownloadMaster'а.
Выглядит она вот так:
Regedit писал(а):C:\Program Files\Download Master\dmaster.exe -autorun


Делаем "Пуск->Выполнить", копируем её туда, жмём "ОК". Работает. Круто.

Пробуем сделать то же самое программно. К примеру, Shell. Работает. Круто.

Берём приложение, для которого важна "Рабочая папка". Понимаем, что Shell не катит, ибо некуда её вписать, а всякие там ChDir перед и после, это как-то стрёмно, и неправильно. Shell обламывается. Не круто.

Вспоминаем о том, что есть ShellExecute, в которой можно задать рабочую папку. Вспоминаем, что это круто. Радуемся.
Смотрим параметры к ShellExecute. lpFile, lpParameters, lpDirectory. Пробуем сунуть всю строку в lpFile(а вдруг прокатит?). И понимаем, что не прокатило...

Итак, вопрос. Каким образом можно из предложенной командной строки выделить собственно lpFile и lpParameters?
Со строками вида:
"C:\Program Files\Nokia\Nokia PC Suite 7\PCSuite.exe" -onlytray
"C:\Program Files\Radeon Omega Drivers\v4.8.442\ATI Tray Tools\atitray.exe"
C:\WINDOWS\system32\ctfmon.exe
Проблем не возникает. Если первый символ - кавычка - то имя программы в кавычках, а остальное - параметры. Если в строке нет ни кавычек, ни пробелов - параметров нет.

И туда же второй вопрос. Как определить что тут:
C:\Program Files\Punto Switcher\ps.exe
Нету параметров.

Пока в голову приходит только отлавливать ".exe ".
Но ведь может быть и строка вроде "c:\program files\main.exe folder\autostop.exe /kill old.exe"


У кого-нибудь есть идеи?
label:
cli
jmp label

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Re: Разбор "строки запуска".

Сообщение ANDLL » 28.04.2009 (Вт) 21:43

Но ведь может быть и строка вроде "c:\program files\main.exe folder\autostop.exe /kill old.exe"
Такую строчку тот же cmd не понимает
C:\Program Files\Punto Switcher\ps.exe
И такую строку в общем случае cmd к примеру не понимает
Понимает проводник, но у него интелектуальный алгоритм, заключающийся видимо в том что проверяет наличие папки c, в ней папки program files и прочая
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Разбор "строки запуска".

Сообщение awl100Alex » 28.04.2009 (Вт) 22:43

iGrok писал(а):Пробуем сунуть всю строку в lpFile(а вдруг прокатит?). И понимаем, что не прокатило...

А ты всунь всю строку в WinExec, должно прокатить.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Разбор "строки запуска".

Сообщение iGrok » 28.04.2009 (Вт) 22:48

ANDLL писал(а):Понимает проводник, но у него интелектуальный алгоритм, заключающийся видимо в том что проверяет наличие папки c, в ней папки program files и прочая

И точно.

Причём, походу, разбирается строка "с конца к началу". Т.е.:

В папке [d:\test] есть папка [main.exe -test main.exe] и файл main.exe
Строка "d:\test\main.exe -test main.exe" в проводнике или "Выполнить" открывает папку, а в cmd.exe запускает файл.


Так. Как сухой итог получается, что нужно либо делать аналогичный "хитрый" алгоритм проверки "а кто это у нас тут такой зелёненький?", либо SetCurrentDirectory + Shell + SetCurrentDirectory ?

awl100Alex писал(а):
iGrok писал(а):Пробуем сунуть всю строку в lpFile(а вдруг прокатит?). И понимаем, что не прокатило...

А ты всунь всю строку в WinExec, должно прокатить.

За каким мне фигом WinExec, если с тем же успехом я могу юзать Shell?
За каким мне фигом WinExec, если она всё равно не позволяет задать "Рабочую папку"?
Да и вообще, за каким фигом юзать функции, "provided only for compatibility with 16-bit Windows"?
label:
cli
jmp label

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Разбор "строки запуска".

Сообщение awl100Alex » 28.04.2009 (Вт) 23:08

Ну а зачем тебе выделять именно Рабочую папку? Никак велосипед изобретать нацелился?! :mrgreen:

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Разбор "строки запуска".

Сообщение jangle » 28.04.2009 (Вт) 23:13

Странный тред, топикстартер не может распарсить командную строку? :shock:

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Разбор "строки запуска".

Сообщение iGrok » 28.04.2009 (Вт) 23:17

awl100Alex писал(а):Ну а зачем тебе выделять именно Рабочую папку? Никак велосипед изобретать нацелился?! :mrgreen:

А ты не знаешь, зачем нужна рабочая папка?

jangle писал(а):Странный тред, топикстартер не может распарсить командную строку? :shock:

А ты, видимо, не читал(как вариант, невнимательно читал) первый пост. Точнее, первую его строчку, в которой я отдельно попросил не путать этот вопрос с парсингом "командной строки".
Распарси-ка строку "C:\Program Files\Download Master\dmaster.exe -autorun", на предмет выделения "команды" и "параметров" а я на тебя посмотрю.
label:
cli
jmp label

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Re: Разбор "строки запуска".

Сообщение dormouse » 29.04.2009 (Ср) 7:22

а справа налево её разбирать нелья? с учётом того, что парметр может начинаться на "/" или "-", а то слово, которое в последний раз было отделено справа пробелом, а слева - "\" - имя экзешника. Тогда всё слева от него будет путём к экзешнику, а справа - параметрами
например так:
Код: Выделить всё
Public PStr() As String
Sub parseCom(str As String)
Dim i As Integer, c As Byte, p As Byte
ReDim PStr(c)
p = Len(str)
For i = Len(str) To 1 Step -1
    Select Case Mid(str, i, 1)
    Case "/", "-", "?"
        ReDim Preserve PStr(UBound(PStr) + 1)
        If p = Len(str) Then
            PStr(c) = Mid(str, i, p)
        Else
            PStr(c) = Mid(str, i, p - i - 1)
        End If
        c = c + 1
        p = i
    Case "\" 'просто путь к файлу от начала командной строки
        If p = Len(str) Then
            PStr(c) = Mid(str, 1, p)
        Else
            PStr(c) = Mid(str, 1, p - 2)
        End If
    End Select
Next
End Sub

в PStr получаем путь к файлу и все параметры в обратном порядке


зыж
если надо принимать в качестве параметра полный путь к ещё одному файлу, то надо что-то делать с ":". выделять его, как обязательную составляющего этого пути.
а то, вот по приведённому примеру
C:\d 1\f 1.exe check d 2\f 2.exe retry /no

я не понимаю, что здесь, что (и врядли какой-то парсер поймёт).
C:\d 1\f 1.exe - путь к эксешнику?
check - параметр. почему без "/" или "-"??
d 2\f 2.exe - путь ко фторому файлу: почему он начинается не с диска, а с какой-то "на деревню дедушке"?
retry - опять параметр? опять без "/" или "-"
/no - первый (и последний :) ) нормальный параметр во всей строке
Последний раз редактировалось dormouse 29.04.2009 (Ср) 8:56, всего редактировалось 2 раз(а).
VBA, MSA97

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 7:41

dormouse, ерунду говоришь. Подумай хотя бы на полшага вперед, что ты будешь с такой строкой делать?
C:\d 1\f 1.exe check d 2\f 2.exe retry /no
Lasciate ogni speranza, voi ch'entrate.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: Разбор "строки запуска".

Сообщение GDK » 29.04.2009 (Ср) 8:26

Сначала найти имя екзешника. Ну самый дубовый способ сделать цыкл типа:

Код: Выделить всё
for i=1 to len(PathString)
   TmpStr=left(PathString,i)
   if dir(TmpStr)<>"" then
      Exit for
   end if
next i
'TmpStr будет содержать имя файла. Если i>len(PathString), то нет файла и значит косяк. Если i=len(PathString), то параметров нет.


А потом ...
Сам практическии не пользовался такими запусками и ваще. Поэтому...

karlex
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 30.03.2009 (Пн) 20:25
Откуда: Пермский край, г.Кунгур

Re: Разбор "строки запуска".

Сообщение karlex » 29.04.2009 (Ср) 8:41

"d:\test\main.exe -test main.exe"

А если есть папка или файл с именем "main.exe -test main.exe"?

Может ограничить задание параметров заданием параметров с использованием спец. символов? Типа "/".
Все гениальное — просто!
-------------------------------------
Кто ищет — тот всегда найдет!
-------------------------------------
Лень — двигатель прогресса.
Прогресс — двигатель лени.

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Re: Разбор "строки запуска".

Сообщение dormouse » 29.04.2009 (Ср) 8:48

alibek писал(а):dormouse, ерунду говоришь. Подумай хотя бы на полшага вперед, что ты будешь с такой строкой делать?
C:\d 1\f 1.exe check d 2\f 2.exe retry /no


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

GoTo viewtopic.php?f=1&t=39433&p=6720103#p6720103 :)
VBA, MSA97

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 9:00

Если ты не улавливаешь смысла, это еще не значит, что его нет. В данном случае возможно не менее двух вариантов.
Либо это запуск f 1.exe с четырьмя параметрами, один из которых является путем к файлу.
Либо это запуск f 2.exe с двумя параметрами.
А также возможны промежуточные варианты.
Если до сих пор не понял, объясняю по слогам - эту строку невозможно однозначно интерпретировать в принципе, потому что она неоднозначна. Поэтому твои рассуждения о том, что это легко - ерунда.
Lasciate ogni speranza, voi ch'entrate.

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Re: Разбор "строки запуска".

Сообщение dormouse » 29.04.2009 (Ср) 9:06

alibek писал(а): эту строку невозможно однозначно интерпретировать в принципе, потому что она неоднозначна


тогда есть ли смысл эту строку интерпретировать вообще? какая должна быть программа, чтоб прочитать то, чего не может прочитать никто?

хм. смотрел я на эту строку... смотрел.. и кажется понял твою мысль :)
такая структура каталогов получается?
C:\
-\d 1\
--\f 1.exe check d 2\
---\f 2.exe

это очень жостко, конечно.. Но если разбирать таки справа налево до первого "\", то по моей процедуре путь получается нормально. а после него параметры. и не надо программу уговаривать, что какой-то из параметров может начинаться на "\". Это НЕПРАВИЛЬНО. Чёто мне попадалось такое.. какой-то раздел математической логики чтоли.. там чётко оговаривается алгоритм создания логических конструкций с однозначным интерпретированием. всегда надо создавать такой набор интерпретируемых символ, чтоб их чтение было однозначным. если получался бред, за это ставили двойку
Последний раз редактировалось dormouse 29.04.2009 (Ср) 9:15, всего редактировалось 1 раз.
VBA, MSA97

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Разбор "строки запуска".

Сообщение arvitaly » 29.04.2009 (Ср) 9:06

По сути GDK дал пример как это работает именно в виндус

Но
Если в папке есть 2 файла
f.exe
f.exe g.exe (а такое наименование в Windows ессно возможно),
то 2 файл винда не видит в упор так что http://bbs.vbstreets.ru/posting.php?mode=reply&f=1&t=39433#pr6720105

P.S. можно даже как в висте каждую папочку подсветить)))

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 9:12

dormouse писал(а):C:\d 1\f 1.exe - путь к эксешнику?

Возможно. А возможно и нет.
dormouse писал(а):check - параметр. почему без "/" или "-"??

А обязан? Покажи место в спецификации ОС, где это указано. А пока не найдешь, не надо навязывать своих фантазий пользователям.
dormouse писал(а):d 2\f 2.exe - путь ко фторому файлу: почему он начинается не с диска, а с какой-то "на деревню дедушке"?

Про относительные пути когда-нибудь слышал?
dormouse писал(а):retry - опять параметр? опять без "/" или "-"

См. выше.
dormouse писал(а):/no - первый (и последний :) ) нормальный параметр во всей строке

Ничем не отличается от остальных параметров.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 9:16

По сабжу. Не надо изобретать велосипед, надо курить мануалы.
Если в имени файла/каталога есть пробел, значит его надо заключать в двойные кавычки. С учетом этого никакой неоднозначности никогда не возникает, в парсере должно быть лишь два правила:
1) Если имя файла начинается с кавычки, то заканчивается оно парной кавычкой.
2) Иначе имя файла оканчивается на пробеле.
Lasciate ogni speranza, voi ch'entrate.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Разбор "строки запуска".

Сообщение awl100Alex » 29.04.2009 (Ср) 9:52

alibek
Если "C:\d 1\f 1.exe check d 2\f 2.exe retry /no" - это полный бред, что даже программер однозначно понять не может, что здесь и где?.. Как этот же программер сможет заложит логику интерпретации смысла написанного???
ЗЫ
У меня сложилось такое впечатление, что топикстартер сам не знает, что ему нужно в конечном итоге.

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Re: Разбор "строки запуска".

Сообщение dormouse » 29.04.2009 (Ср) 10:00

awl100Alex писал(а):alibek
Если "C:\d 1\f 1.exe check d 2\f 2.exe retry /no" - это полный бред, что даже программер однозначно понять не может, что здесь и где?.. Как этот же программер сможет заложит логику интерпретации смысла написанного???
ЗЫ
У меня сложилось такое впечатление, что топикстартер сам не знает, что ему нужно в конечном итоге.

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

а топикстартер хочет узнать, как разложить какую-то абстрактную гипотетическую строку, не указывая синтаксиса для неё. хотелось бы от него получить список возможных параметров и порядок их упоминания, чтоб знать, с чем иметь дело. опять же использование "/" или "-" - это требования конкретной программы, как задумал её автор. любую программу, использующую параметры, возьми и там в мануале чётко говорится, как надо писать эти параметры. всё остальное ошибочно и программой принято не будет. просто сложились нормы, как эти параметры примерно должны описываться. акцесс, например принимает параметры такого вида:
-Nзначение
Тут "-N" - название параметра, затем без пробела идёт значение параметра. следующий пробел - следующий параметр. вроде всё ясно и парсится легко


Вот. я вспомнил, как эта наука называется. Основы трансляции. http://window.edu.ru/window_catalog/red ... ile=27.pdf - здесь целый конспект на эту тему. Вот по таким правилам должна писаться командная строка с однозначной интерпретацией
VBA, MSA97

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Разбор "строки запуска".

Сообщение jangle » 29.04.2009 (Ср) 10:16

awl100Alex писал(а):alibek
Если "C:\d 1\f 1.exe check d 2\f 2.exe retry /no" - это полный бред


А вот и не бред, эту строка может быть нормально разобрана парсером, справа - налево разумеется

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 10:20

jangle писал(а):А вот и не бред, эту строка может быть нормально разобрана парсером, справа - налево разумеется

Смешной ты. И читать не умеешь.
И что же у тебя парсер получит?
Lasciate ogni speranza, voi ch'entrate.

awl100Alex
Постоялец
Постоялец
 
Сообщения: 355
Зарегистрирован: 29.01.2008 (Вт) 15:19
Откуда: Украина

Re: Разбор "строки запуска".

Сообщение awl100Alex » 29.04.2009 (Ср) 10:25

dormouse писал(а):это требования конкретной программы, как задумал её автор

Вот именно!.. Именно поэтому конкретный автор конкретной программы может закладывать в локигу все, что ему вздумается в качестве разделителя параметров - любой символ клавиатуры! Как ты собираешься это угадывать???
Винда просто тупо запускает файл "C:\d 1\f 1.exe" а разбор параметров уже в самой логике "f 1.exe".
Пусть лучше автор топика напишел на кой фиг ему все это надо???

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Разбор "строки запуска".

Сообщение jangle » 29.04.2009 (Ср) 10:26

alibek писал(а):Смешной ты. И читать не умеешь.
И что же у тебя парсер получит?


Я могу выделить из этой сроки:

1. Полный путь к exe фалу.
2. Папку в которой находится экзешник.
3. Название exe файла.
4. Cтроку параметров для этого файла.

karlex
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 138
Зарегистрирован: 30.03.2009 (Пн) 20:25
Откуда: Пермский край, г.Кунгур

Re: Разбор "строки запуска".

Сообщение karlex » 29.04.2009 (Ср) 10:46

jangle, интересно будет взглянуть.

Команда "C:\d 1\f 1.exe check d 2\f 2.exe retry /no" может быть разложена так:
Путь: "C:\d 1\f 1.exe check d 2\f 2.exe retry"
Параметры: "/no"
При условии, что существует такой путь.

alibek прав, неоднозначность на лицо.
Все гениальное — просто!
-------------------------------------
Кто ищет — тот всегда найдет!
-------------------------------------
Лень — двигатель прогресса.
Прогресс — двигатель лени.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Разбор "строки запуска".

Сообщение jangle » 29.04.2009 (Ср) 10:58

karlex писал(а):интересно будет взглянуть.


А чего глядеть, слева направо читаем строчку в буфер посимвольно, после каждого прочитанного символа проверяем exe на существование, когда вернет ТРУ значит полный путь к экзешнику в буфере.

upd...
Последний раз редактировалось jangle 29.04.2009 (Ср) 11:05, всего редактировалось 1 раз.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: Разбор "строки запуска".

Сообщение GDK » 29.04.2009 (Ср) 10:59

Предложенный мной вариант был охарактеризован как "дубовый". Т.е. если его усовершенствовать то думаю можно получить что надо. Т.е. прибавлять не по 1-й "букве" а по "слову" ( от/(или\) до следующего /(или\) ). Затем проверять на существование. А всё остальное - параметры.

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Разбор "строки запуска".

Сообщение arvitaly » 29.04.2009 (Ср) 11:07

Т.е. прибавлять не по 1-й "букве" а по "слову" ( от/(или\) до следующего /(или\) ). Затем проверять на существование. А всё остальное - параметры.


Не прокатит из за пробелов в имени конечного файла,
А чего глядеть, слева направо читаем строчку в буфер посимвольно, после каждого прочитанного символа проверяем exe на существование, когда вернет ТРУ значит полный путь к экзешнику в буфере.


Самый умный... А если строка "f.exe g.exe", существуют файлы и "f.exe" и "g.exe", но g.exe это параметр?

Реально тока кавычки спасают

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Разбор "строки запуска".

Сообщение alibek » 29.04.2009 (Ср) 11:08

jangle писал(а):Я могу выделить из этой сроки:

Ну так выдели и напиши, что получилось.
Гарантирую, что ты ошибешься.
Lasciate ogni speranza, voi ch'entrate.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Разбор "строки запуска".

Сообщение jangle » 29.04.2009 (Ср) 11:24

arvitaly писал(а):Самый умный... А если строка "f.exe g.exe", существуют файлы и "f.exe" и "g.exe", но g.exe это параметр?


Поумнее некоторых... Поробуй сначала немного подумать, почему запуститься именно f.exe
Если не получится - поможем.

Реально тока кавычки спасают


Без кавычек можно прекрасно обойтись.

GDK
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 23.10.2008 (Чт) 16:15

Re: Разбор "строки запуска".

Сообщение GDK » 29.04.2009 (Ср) 11:26

"слову" = от/(или\) до следующего /(или\)

Sorry за не знал как сформулировать.
Только кавычки спасают.

Но винда или там cmd такие строки(без кавычек) распознает правильно(да ведь?) и запустит. Значит....

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 56

    TopList  
cron