Копирование файлов

Тема в разделе "Общие вопросы по С и С++", создана пользователем alekssgor, 9 фев 2010.

  1. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Как скопировать файл .exe скачанный с инета (который был открыт но не сохранён на диске).
    Задача
    Файл скачан с интернета сохранён на диске и при первом запуске скажем содаётся папка в папке Program Files
    и туда копируется запущенный файл(добавляется в автозагрузку и т.д)с этим всё понятно.

    Как всё тоже сделать если пользователь не сохранил файл на диске, а просто открыл???
     
  2. Artem325

    Artem325 Гость

    Тоже самое и произойдёт, ведь если пользователь просто открывает файл, то он сохраняется на диске во временной папке какой нибудь. Просто папка другая и всё.
     
  3. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Спасибо.
    А на WinApi как определить путь (в общем эквивалент C++Builder ParamStr(0))???????????????????
     
  4. Artem325

    Artem325 Гость

    alekssgor
    а как ты определяешь папку, если пользователь сохраняет программу?
     
  5. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Я её вообще не определяю!
    Просто проверю при запуске первый раз програма запущена(тоесть есть раздел в реестре с имененм программы если нет делаю так при запуске)

    Код (Text):
    //Копирование файлов и папок
    int MovieFiles(char* slSourceDir, char* slTargetDir, bool toCopy = true)
    {
    SHFILEOPSTRUCT sh;
    sh.fFlags = FOF_NOCONFIRMATION|FOF_SILENT|FOF_FILESONLY;
    sh.wFunc = toCopy ? FO_COPY : FO_MOVE;
    sh.pFrom = slSourceDir;
    sh.pTo = slTargetDir;
    sh.hNameMappings = NULL;
    sh.lpszProgressTitle = NULL;
    return SHFileOperation(&sh);
    }
    mkdir("C:\\Program Files\\Программа");
    MovieFiles("Программа.exe","C:\\Program Files\\Программа");//Копирую самого себя
    Делаю запись в реестр
     
  6. Artem325

    Artem325 Гость

    и почему же это не работает если просто запуск делается?? просто он так же в папке лежит, просто имя и путь некрасивые и всё.
     
  7. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Да работет извиняюсь туплю.
    Я вобщето про это спрашивал
    //Получаем каталог программы
    char str[MAX_PATH];
    getcwd(str,MAX_PATH);
    MessageBox(0,str,"Путь к программе",0);
     
Загрузка...

Поделиться этой страницей