Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Ехе Path

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Ехе Path
Имя
Сообщение << Старые топики   Новые топики >>
Ехе Path - 2005-05-07 21:21:39   
_jdcomz

Сообщений: 17
Оценки: 0
Присоединился: 2005-01-22 14:43:38
Товарищи!!! Подскажите пожалуйста как можно узнать место запущенной программы на WinAPI?
Или как вытащить этот путь из GetModuleFileName?
Post #: 1
Ехе Path - 2005-05-07 23:33:11   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
Вот на С++:

<BR>#include &lt;windоws.h&gt;<BR><BR>int main( void )<BR>{<BR> char path[MAX_PATH];<BR> GetModuleFileName(NULL, path, MAX_PATH); <BR> Message&#1068;ох(0,path,&quot;FilePath&quot;,MB_OK);<BR> return 0;<BR>}<BR>
Post #: 2
Ехе Path - 2005-05-07 23:48:02   
_jdcomz

Сообщений: 17
Оценки: 0
Присоединился: 2005-01-22 14:43:38
Мне нужнa только папка из которой запущена прога.
Post #: 3
Ехе Path - 2005-05-08 00:20:19   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
Вот:

<BR>#include &lt;windоws.h&gt;<BR><BR>int main( void )<BR>{<BR> char path[MAX_PATH];<BR> char tmp[MAX_PATH];<BR> char filename[MAX_PATH];<BR><BR> int len = 0;<BR> int a = 0;<BR> int b = 0;<BR><BR> GetModuleFileName(NULL, path, MAX_PATH); <BR><BR> len = strlen(path);<BR><BR> while(path[a]!='\0') tmp[len–]=path[a++];<BR> tmp[a+1]='\0';<BR> a = 0;<BR><BR> while(tmp[a]!='\\') filename[b++]=tmp[a++];<BR> filename='\0';<BR><BR> len = strlen(path) - strlen(filename);<BR> path[len]='\0';<BR><BR> Message&#1068;ох(0,path,&quot;FilePath&quot;,MB_OK);<BR> return 0;<BR>}<BR>
Post #: 4
Ехе Path - 2005-05-08 00:28:35   
_jdcomz

Сообщений: 17
Оценки: 0
Присоединился: 2005-01-22 14:43:38
Неужели нет ничего по проще???
Post #: 5
Ехе Path - 2005-05-08 00:34:49   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
Не, ну ты прикинь, есть!!!! Вот:
<BR>#include &lt;windоws.h&gt;<BR><BR>int main( void )<BR>{<BR> char path[MAX_PATH];<BR><BR> GetCurrentDirectory(MAX_PATH,path);<BR><BR> Message&#1068;ох(0,path,&quot;FilePath&quot;,MB_OK);<BR> return 0;<BR>}

=))) меня просто GetModuleFileName сбил с толку!
Post #: 6
Ехе Path - 2005-05-08 00:38:18   
_jdcomz

Сообщений: 17
Оценки: 0
Присоединился: 2005-01-22 14:43:38
Спaсибо!!!!!!!!!!!!!!!!!!!
Post #: 7
Ехе Path - 2005-05-08 01:03:55   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
Да незачто!
Post #: 8
Ехе Path - 2005-05-08 10:00:42   
ventilyator

Сообщений: 423
Оценки: 0
Присоединился: 2004-10-28 15:46:45
2 jenix:
а если твою прогу через цмд запускать? [sm=9.gif]
Post #: 9
Ехе Path - 2005-05-08 11:38:16   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
И чо???
Post #: 10
Ехе Path - 2005-05-08 11:39:23   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
или ты не про windоws а про *nix?
Post #: 11
Ехе Path - 2005-05-09 10:39:58   
ventilyator

Сообщений: 423
Оценки: 0
Присоединился: 2004-10-28 15:46:45
я откомпил и запустил ее на линолиуме из командной строки - выдало путь в директорию самого команд.ком
(хр в цмд не запускал пока :)
но результат прикольный

а если дабл-кликом запускать, то все норм
(и я еще мессадж-бокс убрал - сделал вывод в консоль)
Post #: 12
Ехе Path - 2005-05-09 18:14:13   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
Ну тогда можно мой первый вариант заюзать…
Post #: 13
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Ехе Path







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.