Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Привет всем,люди добрые!Есть такая необходимость написать следующую программу на С++:программа создает некий файл Имя_файла.txt,но помещает она его в папку автозагрузки(естественно ОС windows),а не в текущую папку(т.е папку где находится сама программа создающая файл).Проблемы:

1)Как сохранить созданный файл в указанное место?

2)Как узнать путь до этого места(путь до папки автозагрузки у всех разный).

Он имеет вид:C:\Users\Профиль\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Может поможет кто,знающий?(подсказки,а лучше готовое решение).Спасибо.

Опубликовано (изменено)

1)Выбрать директорию - SelectDirectory()

2) Как узнать - через Цикл, в цикле делать проверку

Изменено пользователем MotherBoard
  • Согласен 1
Опубликовано

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

  • Согласен 1
Опубликовано
Что текстовику делать в папке автозагрузки?

Просто пример,можно и в любую другую папку,главное я хочу понять принцип.

Давайте будем честнее

Как ни когда.

вирьё какое-то пишете.

:angry: :) :P хорошая шутка :lol:

Сейчас любой вопрос по теме программирования расценивается как попытка создания вируса-расстрел.

Да я ни когда не слыхал,что вирусы в папку автозагрузки лезут(обычно через реестр,службы и пр).

А если бы и оказалось?-ни вы ни кто другой бы про это не узнал :o

1)Выбрать директорию - SelectDirectory()

2) Как узнать - через Цикл, в цикле делать проверку

Спасибо за помощь!Но если есть плиз примерчик?

Опубликовано

Не специалист по C++. Но на Delphi получить путь к нужной папке легко, с подключаемым модулем ShlObj:

uses ShlObj;

...

procedure TForm1.FormCreate(Sender: TObject);
var
 filt: PItemIDList;
 fbuf: array [0..MAX_PATH] of Char;
 s: string;
begin
 s := '';
 if SHGetSpecialFolderLocation(Handle, CSIDL_STARTUP, filt) = S_OK then begin
SHGetPathFromIDList(filt, fbuf);
GlobalFreePtr(filt);
if DirectoryExists(fbuf)
then s := IncludeTrailingPathDelimiter(fbuf);
 end;
 ShowMessage(s);
end;

Путь к папке записывается в переменную s. Результатом данного кода станет сообщение, выдаваемое при запуске программы, следующего вида:

[Window Title]
Project1

[Content]
C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

[OK]

 

Не думаю, что на C++ это сделать труднее. Нужно лишь почитать справку.

PS. Никогда бы не подумал, что с сохранением файла в нужное место тоже могут возникнуть проблемы. На Delphi это делается также легко.

  • Согласен 1
Опубликовано (изменено)
Не специалист по C++. Но на Delphi

Делфи это совсем др.

 

Не думаю, что на C++ это сделать труднее

Может и не труднее,но я не телепат.

 

Нужно лишь почитать справку.

Посоветуйте,где почитать

 

Хм..

 

На Delphi это делается также легко.

Легко в сравнении с чем?

С С++?Но:

Не думаю, что на C++ это сделать труднее

Вы не знаете как на С++.

Изменено пользователем gecsagen
Опубликовано (изменено)

Я лично не чем не помогу.Но все же искать нужно в гугле интенсивнее.

Изменено пользователем serg
  • Согласен 1
Опубликовано

Народ всем кто помогал спасибо.Если в моих постах кто-то нашел грубость то прошу прощения.Уважаемых модераторов прошу закрыть тему.

Помощникам от меня как обычно плюсы.

Сообщение от модератора Mark D. Pearlstone
Закрыто.
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...