Официальный сайт студ.городка НГТУ
Программирование и БД » Как через виндовский шелл создать линк к файлу 

#1  02.02.06 15:13

Как через виндовский шелл создать линк к файлу

В винде это называется Create Shortcut (создать ссылку)

Offline

#2  02.02.06 16:26

Re: Как через виндовский шелл создать линк к файлу

не тот форум.
btw думаю, что не так

Offline

#3  02.02.06 16:47

Re: Как через виндовский шелл создать линк к файлу

тогда средствами апи как?
говорят есть такая ф-ия CreateLink(...), только не нашёл её.
Стоит MSVS 8 (2005)

Offline

#4  02.02.06 16:57

Re: Как через виндовский шелл создать линк к файлу

Offline

#5  04.02.06 12:01

Re: Как через виндовский шелл создать линк к файлу

Женька, а зачем тебе тебе это? Если делать инсталятор, то там можно визардом создать ссылки :)

Offline

#6  12.02.06 19:43

Re: Как через виндовский шелл создать линк к файлу

не Макс, проще. Есть аудиоколлекция в формате Artist и Soundtracks, а также выборка по личному вкусу. Получается повторение многих файлов. Пишу прогу, которая проверяет совподение файлов по имени и размеру. Результат - в коллекции по личному вкусу ссылки на файлы в исходную коллекцию... вобщем гигов 5 освободится, а чтоб не париться с апи, делаем батфайл с удалением копий и созданием вместо них ссылок) вот только досихпор не нашёл шеловский CreatLink... блин! надо окончательно на Линух переходить)))

Исправлено TemplAI (12.02.06 19:43)

Offline

#7  13.02.06 19:56

Re: Как через виндовский шелл создать линк к файлу

просто надо уметь правильно задавать вопросы поисковикам...

Химик же тебе дал ссылку на мсдн

Код: C++:

// CreateLink - uses the Shell's IShellLink and IPersistFile interfaces 
//              to create and store a shortcut to the specified object. 
//
// Returns the result of calling the member functions of the interfaces. 
//
// Parameters:
// lpszPathObj  - address of a buffer containing the path of the object. 
// lpszPathLink - address of a buffer containing the path where the 
//                Shell link is to be stored. 
// lpszDesc     - address of a buffer containing the description of the 
//                Shell link. 
 
HRESULT CreateLink(LPCSTR lpszPathObj, LPCSTR lpszPathLink, LPCSTR lpszDesc) 
{ 
    HRESULT hres; 
    IShellLink* psl; 
 
    // Get a pointer to the IShellLink interface. 
    hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, 
                            IID_IShellLink, (LPVOID*)&psl); 
    if (SUCCEEDED(hres)) 
    { 
        IPersistFile* ppf; 
 
        // Set the path to the shortcut target and add the description. 
        psl->SetPath(lpszPathObj); 
        psl->SetDescription(lpszDesc); 
 
        // Query IShellLink for the IPersistFile interface for saving the 
        // shortcut in persistent storage. 
        hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); 
 
        if (SUCCEEDED(hres)) 
        { 
            WCHAR wsz[MAX_PATH]; 
 
            // Ensure that the string is Unicode. 
            MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH); 
 
            // TODO: Check return value from MultiByteWideChar to ensure 
                     success.
 
            // Save the link by calling IPersistFile::Save. 
            hres = ppf->Save(wsz, TRUE); 
            ppf->Release(); 
        } 
        psl->Release(); 
    } 
    return hres; 
}

Offline

#8  13.02.06 21:44

Re: Как через виндовский шелл создать линк к файлу

Jaguar, да есть у меня это) нужно через шелл... как в линухе ln...

Offline

#9  13.02.06 21:57

Re: Как через виндовский шелл создать линк к файлу

TemplAI написал(а):

Jaguar, да есть у меня это) нужно через шелл... как в линухе ln...

посмотри на sysinternals.com
там вроде есть утили такие

Offline

#10  13.02.06 22:15

Re: Как через виндовский шелл создать линк к файлу

понятно... значит в поставке с виндой нет..

Offline

#11  14.02.06 19:17

Re: Как через виндовский шелл создать линк к файлу

блин, Женька, я с тебя фигею... кто тебе мешает эту утилитку написать? функция уже есть... достаточно сделать обработку входных параметров и все... будет тебе готовая софтина ln, как ты и хотел...

Offline

#12  14.02.06 19:18

Re: Как через виндовский шелл создать линк к файлу

на крайняк, приходи в клуб - напишем для тебя :))

Offline

#13  14.02.06 19:21

Re: Как через виндовский шелл создать линк к файлу

TemplAI написал(а):

тогда средствами апи как?
говорят есть такая ф-ия CreateLink(...), только не нашёл её.
Стоит MSVS 8 (2005)

это же ты писал... иначе, получается, что ты нарушил правила и ошибься форумом... если надо готовую софтину, то это в форум Windows

Offline

#14  14.02.06 20:05

Re: Как через виндовский шелл создать линк к файлу

Jaguar, Макс, искал оба варианта. Один нашёлся...

Исправлено TemplAI (15.02.06 08:57)

Offline

#15  15.02.06 11:06

Re: Как через виндовский шелл создать линк к файлу

Jaguar написал(а):

на крайняк, приходи в клуб - напишем для тебя :))

за это и люблю Стандард))

..... да лень распаковывать, ставить VC, потом ещё проэкт создавать, сохранять незабывать....
Есть ещё две проги. Одна по плэйлисту копирует в указанную деррикторию музыку (для флэшек оч удобно)), вторая сортирует музу по артистам, тоже из плэйлиста... вместе с третьей будет комплект для меломанов))
Как думаешь, реально продать?... тогда сразу лень испарится)

Offline

#16  16.02.06 11:23

Re: Как через виндовский шелл создать линк к файлу

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

Offline

#17  16.02.06 16:53

Re: Как через виндовский шелл создать линк к файлу

они мои)) копирайты даж туда вставлю, если надо))... сертификата пока нету... ну есть же люди, у кого есть))

Offline

#18  16.02.06 18:13

Re: Как через виндовский шелл создать линк к файлу

кстати а сертификат с brainbench.com вканывает?

Offline

Программирование и БД » Как через виндовский шелл создать линк к файлу 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.176 сек.
Выполнено 11 запросов.