Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234

Автостарт программы с указанной директории

12.06.2014, 15:21. Показов 1251. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет Всем!
создал в проге автостарт вместе с виндой.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Form2->ProgressBar1->Position = 3;
Form2->Caption = " ПРОВЕРКА АВТОСТАРТА С ВИНДОВС ";
    TRegistry *reg = new TRegistry();
    reg->RootKey=HKEY_CURRENT_USER;
    reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
   if (CheckBox5->Checked == true)
   {
    if(reg->ValueExists("IGOR soft"));
    else
    {
    reg->WriteString("IGOR soft",Application->ExeName);
    reg->CloseKey();
    }
   }
    delete reg;
    reg = NULL;
это хорошо!
в реестре все прописалось
эта программа проверяет наличие новых файлов на сервере и если есть новые то скачивает в указанную директорию . в точности там где исполняемый файл - создается папка Downloads и все файлы записываються там

запуск виндовс и.... что получаем?
программа стартовала!? НО ! все файлы и даже ini файлы все записались в c:\Documents and Settings\User\

в шапке записано
C++
1
2
3
direktoria = GetCurrentDir();//запоминаю стартовую директорию программы
TIniFile *Ini = new TIniFile(direktoria+"\\SetDMA.ini");// файл инициализации программы
//---------------------------------------------------------------------------
подскажите в чем может быть проблема?
Миниатюры
Автостарт программы с указанной директории  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2014, 15:21
Ответы с готовыми решениями:

Автостарт программы не может найти путь к сторонней программе?
Всем привет. Есть программа которая запускается вместе с виндой к примеру Мояпрограмма.ехе. она проверяет наличие обновленных файлов...

Создание ini файла в директории программы
Подскажите как создать ini файл в директории программы!!! (Возможно тема заезжаная, но не нашел) Сам ini создаю так! TIniFile...

Найти файл в указанной директории
Написал небольшую программу, которая ищет файл в указанной директории. Т.е. я запускаю программу с 1 аргументом ./program.sh folder/ ...

6
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,370
Записей в блоге: 3
12.06.2014, 15:47
Цитата Сообщение от lifeforce Посмотреть сообщение
то скачивает в указанную директорию
А как она это делает? Покажи код, скорее всего проблема именно там.
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
12.06.2014, 15:53  [ТС]
D1973,
если прогу запустишь вручную с ярлыка , то все работает как надо!
C++
1
URLDownloadToFile(0,"http://dl.dropbox.com/s/d8qg97bzlc5d6x/abonat.xlsx?dl=1&token_hash=AAG5Eor7asV6n5tDQMPMawczOhI5A7Pycxu4szA7z6iAA&expiry=1399455899",(direktoria+"\\Downloads\\abonat.xlsx").c_str(),0,0);
после скачивания запись производиться в папку Downloads в директории direktoria.
P.S. URL я поставил не рабочий! так как все таки база
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,370
Записей в блоге: 3
12.06.2014, 16:08
Попробуй определи переменную directoria так
C++
1
directoria = ExtractFilePath(Application->ExeName);
0
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
12.06.2014, 16:20  [ТС]
отличие только в слеш в конце
для
C++
1
2
directoria = ExtractFilePath(Application->ExeName); 
e:\kode gear builder\download map abonat for android NEW\Debug\
а для
C++
1
2
direktoria = GetCurrentDir();
e:\kode gear builder\download map abonat for android NEW\Debug
и тогда в проге надо будет везде убрать "\\
то . е
C++
1
direktoria+"\\New Version"
на
C++
1
direktoria+"New Version"
но результат ?
в чем их существенная разница?
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,370
Записей в блоге: 3
12.06.2014, 16:26
Лучший ответ Сообщение было отмечено lifeforce как решение

Решение

GetCurrentDir() возвращает текущую директорию.
ExtractFilePath(Application->ExeName) возвращает директорию, где лежит ехе-шник.
А ты уверен, что текущей директорией при запуске программы вместе со стартом Windows является рабочая директория программы? Я нет.
Попробуй изменить, перестроить прогу и перезагрузиться.
1
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
12.06.2014, 16:40  [ТС]
D1973,
сейчас все переименую и попробую

Добавлено через 11 минут
D1973,
Ура! Заработала!!!
Огромное спасибо!
Теперь буду знать в чем их отличие!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2014, 16:40
Помогаю со студенческими работами здесь

Создание файла в указанной директории
Добрый вечер. Есть задание, пользователь запускает программу из консоли с одним аргументом - именем создаваемой папки. Необходимо в этой...

Количество папок в указанной директории
Здравствуйте форумчане! :) Задался вопросом как найти количество папок в указанной директории Например (C:\Windows), ну и программа...

Поиск картинок в указанной директории. visual c++
Добрый день всем. в общем суть вопроса такая. Необходимо найти все картинки в каталоге который мы указываем и потом занести пути к ним в...

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

Открыть exe файл из указанной директории
Help cтолкнулся с такой ситуацией, есть форма (form1.vb) на форме расположена кнопка (Button4) при клике на которую должен открыться exe...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru