Russian Qt Forum
Ноябрь 22, 2024, 14:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [ОБРЕЧЕНО] Разрыв шаблонов  (Прочитано 6949 раз)
OKTA
Гость
« : Сентябрь 12, 2014, 11:46 »

Тут обнаружил какую-то дикую фишку... Кто-нибудь может объяснить мне поведение?  Смеющийся

Код:
int main(int argc, char *argv[]) {
    //

    QApplication a(argc, argv);
    QString path = QDesktopServices::storageLocation(
                QDesktopServices::ApplicationsLocation);
    QDir dir(path);
    dir.mkdir(path + "/" + "testDir");
    dir.cd("testDir");
    QFile file("D:/test.log");
    file.link(dir.absolutePath() + "/" + "test.lnk");

    return a.exec();
}

Вот код. Крайне простой. Сначала берем path и создаем там папку. Path этот должен быть типа "C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs".
Ладно, ок, папка создалась, можно жить дальше. Но если после этого, мы захотим создать в папке testDir ссылочку на файл, то создастся новая папка testDir уже по другому пути - в "C:\programdata\Microsoft\Windows\Start Menu\Programs" и именно там будет лежать ссылка на файл  Непонимающий Что за  Непонимающий Непонимающий
Вопрос в итоге - а как тогда найти этот дикий новый путь?? Кстати, с созданием простых файлов, а не ссылок, все нормально.
« Последнее редактирование: Сентябрь 12, 2014, 14:46 от OKTA » Записан
Bepec
Гость
« Ответ #1 : Сентябрь 12, 2014, 11:49 »

Ооо, ссылочки. Ты вступаешь на скользкий путь Веселый
Записан
OKTA
Гость
« Ответ #2 : Сентябрь 12, 2014, 11:52 »

Я буду сильным  Смеющийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Сентябрь 12, 2014, 12:08 »

Ооо, ссылочки. Ты вступаешь на скользкий путь Веселый
Ссылочки не причем, в нормальных системах они приносят только пользу.
Дело в придурашенной венде, вот она сейчас исполнит. Да. Улыбающийся
Записан
Bepec
Гость
« Ответ #4 : Сентябрь 12, 2014, 12:12 »

Ну я виндузятник, потому "ссылочки" Веселый
Записан
OKTA
Гость
« Ответ #5 : Сентябрь 12, 2014, 12:13 »

Это все намеки на то, что я обречен?  Смеющийся
Записан
Bepec
Гость
« Ответ #6 : Сентябрь 12, 2014, 14:41 »

Я сдался, пытаясь с ними разобраться. Нашёл другие способы.
Записан
OKTA
Гость
« Ответ #7 : Сентябрь 12, 2014, 14:46 »

Придется пользоватся WinApi.. все обречено..
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Сентябрь 12, 2014, 15:06 »

Придется пользоватся WinApi..
Так это оно и исполняет. Улыбающийся
Записан
OKTA
Гость
« Ответ #9 : Сентябрь 12, 2014, 15:24 »

Погуглил - вроде вытаскивает то, что нужно) Сейчас попробую)
Записан
OKTA
Гость
« Ответ #10 : Сентябрь 12, 2014, 16:20 »

Код:
SHGetFolderPath( NULL, CSIDL_COMMON_PROGRAMS, NULL, 0, name )
Дает то, что нужно  Улыбающийся
« Последнее редактирование: Сентябрь 12, 2014, 16:23 от OKTA » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 23.