Форум: "Начинающим";
Текущий архив: 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.052 c