Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

WinApi   Найти похожие ветки 

 
Res   (2008-01-31 20:38) [0]

Подскажите winapi функцию, которая показывает путь к программа


 
Семеныч   (2008-01-31 20:51) [1]

Зачем из пушки по воробьям?

ExtractFileDir(ParamStr[0])


 
Res   (2008-01-31 20:55) [2]

Вы не правильно поняли. Вот допустим запустилась моя прога она находилась в c:\prog.exe, но программа ведь это незнает ))) так вот нужно чтобы она вывела, где она находится.


 
NeiL   (2008-01-31 21:08) [3]

Edit.Text := ExtractFilePath(Application.ExeName);


 
Res   (2008-01-31 21:13) [4]

Neil в том то и дело, что нужна WinApi функция, у меня нету формы ваще


 
Джо ©   (2008-01-31 21:16) [5]

> [4] Res   (31.01.08 21:13)
> Neil в том то и дело, что нужна WinApi функция, у меня нету
> формы ваще

Ну так слушай Семеныча и не привередничай. Не нужна тебе «Winapi функция».


 
Res   (2008-01-31 21:20) [6]

А я говорю нужна, у меня в uses кроме winSock и Windows ниче нет!


 
Res   (2008-01-31 21:20) [7]

нету у меня Application.ExeName


 
Riply ©   (2008-01-31 21:27) [8]

> [6] Res   (31.01.08 21:20)
> А я говорю нужна

Чем тебя ответ [1] Семеныч не устроил ?

Впрочем, хозяин - барин. Может, тогда эта GetModuleFileNameW сгодиться ?


 
Johnmen ©   (2008-01-31 21:35) [9]


> Подскажите winapi функцию, которая показывает путь к программа

Такой ф-ии не существует.
А посты [6] и [7] вообще звучат, как слова ламера.


 
palva ©   (2008-01-31 21:49) [10]


> Впрочем, хозяин - барин. Может, тогда эта GetModuleFileNameW
> сгодиться ?

Сгодится, только сначала надо
GetCurrentProcessId - получить идентификатор текущего процесса
OpenProcess - потом получить к нему доступ
EnumProcessModules - потом получить хэндлы модулей в массив
GetModuleFileName - применять к каждому хэндлу
Возможно среди них и будет находиться путь к exe-файлу, а может быть будет несколько dll с расширениями exe. Так что автор и не отличит.
CloseHandle - это для порядка.

Вообще пусть автор сам подумает, разве не бывает процессов у которых нет exe-файла. И что он после этого хочет?


 
Игорь Шевченко ©   (2008-01-31 22:21) [11]


> Подскажите winapi функцию, которая показывает путь к программа


[1]


 
Riply ©   (2008-01-31 22:23) [12]

>  [10] palva ©   (31.01.08 21:49)
> Сгодится, только сначала надо ....

Ну это уже его проблеммы.
Он просил - ему дали, какие могут быть притензии ?
:)

P.S.
Правда не знаю, относится ли она к WinApi или нет, но это уже дело десятое :)


 
Riply ©   (2008-01-31 22:25) [13]

>   [12] Riply ©   (31.01.08 22:23)

Sorry: "претензии"


 
Игорь Шевченко ©   (2008-01-31 22:31) [14]


> Сгодится, только сначала надо
> GetCurrentProcessId - получить идентификатор текущего процесса
> OpenProcess - потом получить к нему доступ
> EnumProcessModules - потом получить хэндлы модулей в массив
> GetModuleFileName - применять к каждому хэндлу


Не надо


 
@!!ex ©   (2008-01-31 23:27) [15]

ParamStr(0) Не зависит ни от каких модулей, и не требует наличия форм.


 
Johnmen ©   (2008-02-01 09:31) [16]


> @!!ex ©   (31.01.08 23:27) [15]

Да ты шо???!!! Может она ещё и показывает? Путь...


 
Slym ©   (2008-02-01 09:40) [17]

Johnmen ©   (01.02.08 9:31) [16]
Может она ещё и показывает?

writeln(ParamStr(0)); :)


 
han_malign ©   (2008-02-01 10:05) [18]


> writeln(ParamStr(0)); :)

MessageBox(0, PChar(ParamStr(0)), "светлый путь", MB_OK or MB_TASKMODAL); :)


 
oxffff ©   (2008-02-01 10:25) [19]


> han_malign ©   (01.02.08 10:05) [18]


Это не всегда корректно.


 
oxffff ©   (2008-02-01 10:25) [20]

Удалено модератором


 
oxffff ©   (2008-02-01 10:25) [21]

Удалено модератором


 
Johnmen ©   (2008-02-01 10:32) [22]


> Slym ©   (01.02.08 09:40) [17]
> Johnmen ©   (01.02.08 9:31) [16]
> Может она ещё и показывает?
> writeln(ParamStr(0)); :)

И что?


 
oxffff ©   (2008-02-01 10:34) [23]


> oxffff ©   (01.02.08 10:25) [21]


Sorry, не внимателен.


 
oxffff ©   (2008-02-01 10:34) [24]

Удалено модератором


 
oxffff ©   (2008-02-01 10:34) [25]

Удалено модератором


 
oxffff ©   (2008-02-01 10:34) [26]

Удалено модератором


 
@!!ex ©   (2008-02-01 10:44) [27]

> Да ты шо???!!! Может она ещё и показывает? Путь...

program Project2;

begin
 ParamStr(0);
end.

это компилится... прикинь как круто?


 
Семеныч   (2008-02-01 11:32) [28]

Обсуждение замечательное. Сложная тема. Разные мнения. Много нового, интересного, неочевидного. Я в восторге.

> Res

1. ParamStr не требует никаких форм и никаких модулей вообще. Если ExtractFileDir Вас не устраивает (хотя она тоже не требует никаких форм), то не проблема отсечь путь самому. Для этого нужно всего лишь написать пару простейших строчек, которые тоже не потребуют никаких форм и никаких модулей.

2. Прежде, чем спорить, стоило бы внимательно почитать ответы, подумать над ними, посмотреть справку по ним, подумать еще раз. Если что-то осталось непонятным -  переспросить, уточнить. И еще подумать.

Знаете, зачем? По двум причинам:
а). чтобы получить реально работающее решение
б). и при этом не позориться (как Вы зачем-то сделали).

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.038 c
15-1200137908
antonn
2008-01-12 14:38
2008.02.24
Помогите с тестом


2-1201596048
Михаил (Питер)
2008-01-29 11:40
2008.02.24
Интернет бот


2-1201708579
mrArmstrong
2008-01-30 18:56
2008.02.24
Поиск по текстам


11-1171907918
Dy1
2007-02-19 20:58
2008.02.24
Не ставятся никакие пакеты


3-1191840957
Winter
2007-10-08 14:55
2008.02.24
Значение поля после INSERT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский