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

Вниз

Консольное приложение   Найти похожие ветки 

 
AkimOS   (2009-02-06 22:32) [0]

Всем привет,
пытаюсь добавить консольное приложение в автозагрузку
 Reg:=TRegIniFile.Create;
 Reg.RootKey:=HKEY_LOCAL_MACHINE;
 Reg.OpenKey("Software",true);
 Reg.OpenKey("Microsoft",true);
 Reg.OpenKey("Windows",true);
 Reg.OpenKey("CurrentVersion",true);
 Reg.OpenKey("Run",true);
 Reg.WriteString("DataBack",Application.ExeName);
 Reg.CloseKey;
 Reg.Free;

Но делфи не нравится "Application.ExeName" - выдает ошибку undeclared identifer: "Application", подскажите в чем может быть проблема? Использую Delphi 2009, windows XP


 
Сергей М. ©   (2009-02-06 22:36) [1]

Какого вообще лешего ты полез в реестр, если не понимаешь что у тебя творится в программе ?


 
Andy BitOff ©   (2009-02-06 22:36) [2]

TApplication +F1


 
AkimOS   (2009-02-06 22:37) [3]

Я не знаю почему не воспринимается "Application", а что в программ творится я знаю.


 
Сергей М. ©   (2009-02-06 22:39) [4]


> не знаю почему не воспринимается "Application"


А почему, спрашивается, "Application" обязано "восприниматься" ?
Ты над этим задумывался ?


 
AkimOS   (2009-02-06 22:39) [5]


> TApplication +F1


Другой вопрос если можно, как добавить в автозагрузку консольное приложение?


 
Сергей М. ©   (2009-02-06 22:42) [6]


> AkimOS   (06.02.09 22:39) [5]


> Другой вопрос


Ты куда оглобли-то завернул ?)
Разве тебе не интересен ответ на вопрос "почему не воспринимается "Application"" ?
Или тебе фиолетово - лишь бы "добавить в автозагрузку", а там трава не расти ?)


 
AkimOS   (2009-02-06 22:42) [7]


> Сергей М. ©   (06.02.09 22:39) [4]

Допустил ошибку, прочитал несколько статей где говорится так можно и не разобравшись толком решил его применить! Так каким способом можно добавить?


 
Сергей М. ©   (2009-02-06 22:44) [8]


> Так каким способом можно добавить?


Так в чем же ты не разобрался ?


 
AkimOS   (2009-02-06 22:44) [9]


> Сергей М. ©   (06.02.09 22:42) [6]

Я разобрался почему, но модуль form не уместен в консольном приложение, на сколько я понял.


 
Сергей М. ©   (2009-02-06 22:45) [10]


> модуль form не уместен в консольном приложение


Почему ?


 
AkimOS   (2009-02-06 22:47) [11]

Сергей М. ©   (06.02.09 22:45) [10]
Наверное потому, что в консольном приложение нет формы.


 
AkimOS   (2009-02-06 22:51) [12]

Так каким образом можно добавить консольное приложение в автозагрузку?!


 
Сергей М. ©   (2009-02-06 22:52) [13]


> AkimOS   (06.02.09 22:47) [11]


А разве модуль form нужен исключительно для того чтобы она там была ?

Впрочем, давай подъедем с другой стороны - какое отношение ко всей этой катавасии имеет реестр ?


 
Сергей М. ©   (2009-02-06 22:54) [14]


> AkimOS   (06.02.09 22:51) [12]


Ты что заладил как попугай одно и то же ?
Рассуждай вслух - придешь к решению сам)
Разве тебе этого не хочется ?


 
AkimOS   (2009-02-06 22:56) [15]


> Сергей М. ©   (06.02.09 22:52) [13]


Реестр нужен, только для того что бы добавить приложение в автозагрузку.


 
Andy BitOff ©   (2009-02-06 22:56) [16]

> AkimOS

Какой ты брат настарный. Шел бы, что ли, книжки почитал.


 
Andy BitOff ©   (2009-02-06 22:58) [17]

Сергей, Вам не надоедает? Целый день... Изодня в день... Я бы их поубивал бы =))))


 
Сергей М. ©   (2009-02-06 22:58) [18]


> Реестр нужен, только для того что бы добавить приложение
> в автозагрузку


Это новость)
А если бы это был не реестр, а , скажем, просто некий файл, куда нужно было бы записать то что ты изначально хотел записать в реестр ?
Что-то изменилось бы при этом принципиально ?


 
Сергей М. ©   (2009-02-06 22:59) [19]


> Andy BitOff ©   (06.02.09 22:58) [17]


Ты отдохни)
Я сам справлюсь, когда это будет необходимо)
Пока же клиент скорее жив чем мертв..


 
AkimOS   (2009-02-06 23:01) [20]


> Andy BitOff ©   (06.02.09 22:58) [17]

Грубо


> Сергей М. ©   (06.02.09 22:58) [18]


Реестр в моей программе мне нужен был только для того, чтобы добавить в автозагрузку!!!

В общем сглупил я, все вроде немного разобрался.


 
AkimOS   (2009-02-06 23:02) [21]

Прописал в uses forms и заработало, пойду изучать дальше, спасибо!


 
Сергей М. ©   (2009-02-06 23:02) [22]


> AkimOS   (06.02.09 23:01) [20]


Так поделись же решением с другми потенциально сглупившими !


 
Сергей М. ©   (2009-02-06 23:03) [23]


> Прописал в uses forms и заработало


О-хо-хоооо ...(

Одним седым волосом на моей и без того лысой черепушке стало больше)


 
AkimOS   (2009-02-06 23:04) [24]

см AkimOS   (06.02.09 23:02) [21]


 
AkimOS   (2009-02-06 23:06) [25]


> Сергей М. ©   (06.02.09 23:03) [23]


Что настолько плохо??? По крайней мере работает.


 
Сергей М. ©   (2009-02-06 23:07) [26]


> AkimOS   (06.02.09 23:06) [25]


Да, знаешь ли, неважно ..
Боюсь даже предположить, как оно, то что мы сейчас с тобой обсуждали, кому-то аукнется.


 
Сергей М. ©   (2009-02-06 23:09) [27]

Картина маслом - "Вовка в тридевятом царстве" (с)


 
AkimOS   (2009-02-06 23:09) [28]

Можно тогда услышать версию профессионала относительно данного вопроса, что бы ни кому не аукнулось?!


 
Сергей М. ©   (2009-02-06 23:11) [29]

Можно.
Вернемся к вопросу в [18])


 
AkimOS   (2009-02-06 23:16) [30]


> Сергей М. ©   (06.02.09 23:11) [29]


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


 
Сергей М. ©   (2009-02-06 23:20) [31]


> AkimOS   (06.02.09 23:16) [30]


Что собственно ты записываешь в реестр ?
Попытайся сформулировать это самое "что" ..


 
{RASkov} ©   (2009-02-06 23:21) [32]

> [30] AkimOS   (06.02.09 23:16)

Давно бы посмотрел реализацию доступа к свойству ExeName у ТApplication...
Если это вирус - то это нормальный вирус.... пиши дальше)


 
AkimOS   (2009-02-06 23:27) [33]


> Сергей М. ©   (06.02.09 23:20) [31]

Я прописываю путь и имя файла, которое надо загрузить автоматически.


 
Сергей М. ©   (2009-02-06 23:30) [34]


> AkimOS   (06.02.09 23:27) [33]


> путь и имя файла


Путь и имя какого файла тебе для этого требуется ?


 
AkimOS   (2009-02-06 23:32) [35]


> Сергей М. ©   (06.02.09 23:30) [34]

Путь к моему приложению.


> {RASkov} ©   (06.02.09 23:21) [32]

Это не вирус и не смешно.


 
{RASkov} ©   (2009-02-06 23:44) [36]

> [35] AkimOS   (06.02.09 23:32)
> Это не вирус и не смешно

Ну так и не смейся..... посмотри, я тебе ответ дал..


 
Сергей М. ©   (2009-02-06 23:46) [37]


> AkimOS   (06.02.09 23:32) [35]


> к моему


У приложения нет пути.
Путь есть у исполняемого файла приложения, работающего в данный момент и желающего знать (да мало ли для чего ! Реестр-то причем ??????) путь и имя файла, из которого оно было загружено в память для выполнения.

Об этом же самом говорит и стандартная справка к методу TApplication.ExeName:

Contains the file name of the application’s executable file including path information

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


 
AkimOS   (2009-02-06 23:55) [38]

Пятница, вечер .... !!!!!
В голову идет только: как получить имя и путь исполняемого файла?
Если я правильно понял, то можно использовать GetCurrentDir


 
{RASkov} ©   (2009-02-06 23:59) [39]

> [38] AkimOS   (06.02.09 23:55)
> Если я правильно понял

Текущий, на момент вызова функции, каталог тебе нужен? Или всеж другое?


 
{RASkov} ©   (2009-02-07 00:06) [40]

> [38] AkimOS   (06.02.09 23:55)
> можно использовать GetCurrentDir

Если повезет, то ты узнаешь путь к экзешнику, а как узнаешь полное имя?
Ты действительно не смотрел реализацию свойства ExeName?
Будем смеятся дальше?)


 
Сергей М. ©   (2009-02-07 00:08) [41]


> AkimOS   (06.02.09 23:55) [38]


Ну наконец-то !
Т.о.,  реестр с повестки снимается как абсолютно не имеющий отношения к проблеме)


> то можно использовать GetCurrentDir


Нет, нельзя.
Текущая директория не обязана быть той же самой директорией, к которой расположен твой исп.файл.


> как получить имя и путь исполняемого файла?


Да не просто получить, а получить при отсутствии по таким-то, например, причинам в составе проекта приложения юнита forms и, сотв-но, объекта Application !

Так ?


 
Сергей М. ©   (2009-02-07 00:28) [42]

Ну а если так, то ты давным-давно мог бы получить ответ:

F1 + ParamStr(0)

А мог бы и сам прийти к этому ответу, если бы читал справку, в которой на странице описания метода Application.ExeName есть ссылка "See also", переход по которой приводит как раз к тем самым альтернативным способам получения искомой информации, про которые я здесь жужжать уже не буду)


 
Германн ©   (2009-02-07 01:47) [43]

2 AkimOS

> прочитал несколько статей где говорится так можно и не разобравшись
> толком решил его применить

Вот оно и объяснение твоих проблем.
Нельзя применять чужие решения, не имея базовых знаний. И плюс не умея пользоваться справкой.


 
Anatoly Podgoretsky ©   (2009-02-07 10:55) [44]

> AkimOS  (06.02.2009 23:01:20)  [20]

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


 
Anatoly Podgoretsky ©   (2009-02-07 10:57) [45]

> AkimOS  (06.02.2009 23:32:35)  [35]

Да что бы ты не написал, но при твоей квалификации всегда получится вирус.


 
Anatoly Podgoretsky ©   (2009-02-07 11:03) [46]

Кстати как называется приложение, которое при каждом запуске прописывает себя в Автозагрузку?



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

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

Наверх





Память: 0.56 MB
Время: 0.042 c
15-1232117336
Добежал
2009-01-16 17:48
2009.03.29
Тем, кто утверждает, что тело except не должно быть пустым


1-1208431737
DVM
2008-04-17 15:28
2009.03.29
Отслеживание буфера обмена.


3-1216467013
Евгений Р.
2008-07-19 15:30
2009.03.29
Обновление в DbGrid


15-1232058752
antonn
2009-01-16 01:32
2009.03.29
использование материалов этого сайта


11-1189525265
matroskin66
2007-09-11 19:41
2009.03.29
корректное завершение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский