Как узнать полный путь к файлу?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Как узнать полный путь к файлу?

Сообщение GM » 19.09.2004 (Вс) 12:32

Как узнать полный путь к файлу?
Например если в командной строке ввести explorer, то запустится Проводник.
Полный путь к проводнику C:\Windows\explorer.exe
الفيجوال بيسك الرابح

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.09.2004 (Вс) 13:27

Вопрос поставлен некорректно...

Существует алгоритм разрешения неквалифицированных имён. Система сначала просто ищет в каталоге приложения, потом начинает просматривать windows, переменная PATH тоже может задействоваться...
Что первое найдёт, то и запускает.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.09.2004 (Вс) 14:06

Алиасы (например, write.exe для WordPad-а, pbrush.exe для MSPaint-а) прописаны в реестре: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]
Туда же можно добавлять свои алиасы - это очень упрощает их вызов по Windows-R.

А для поиска в PATH-е есть функция SearchPath
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 19.09.2004 (Вс) 14:46

Система сначала просто ищет в каталоге приложения, потом начинает просматривать windows, переменная PATH тоже может задействоваться...

Как я разобрался система ищет в своем каталоге, а потом по всем путях указаных в переменной PATH(там и есть Windows).
И при этом если ввести к примеру explorer, сначала система будеть искать explorer.com, потом .ехе, .bat, и так далее, в зависимости от переменной PATHEXT.
В принципе можно написать свою процедуру, но неужели не существует API функции которая делает все это :?:
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.09.2004 (Вс) 14:54

GM, я же написал - есть такая функция, а именно SearchPath.

If this parameter is NULL, the function searches for a matching file in the following directories in the following sequence:
  1. The directory from which the application loaded.
  2. The current directory.
  3. Windows 95: The Windows system directory. Use the GetSystemDirectory function to get the path of this directory.
    Windows NT: The 32-bit Windows system directory. Use the GetSystemDirectory function to get the path of this directory. The name of this directory is SYSTEM32.
  4. Windows NT: The 16-bit Windows system directory. There is no Win32 function that obtains the path of this directory, but it is searched. The name of this directory is SYSTEM.
  5. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
  6. The directories that are listed in the PATH environment variable.
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 19.09.2004 (Вс) 19:19

Спасибо tyomitch.
الفيجوال بيسك الرابح


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList