Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать ярлык? Билдер 
:(
    Опции темы
Klin
  Дата 22.11.2002, 05:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



сабж


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Baa
Дата 22.11.2002, 07:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Блин... когда ж люди начнут в ФАК заглядывать... ведь для вас ж стараемси...
http://www.forum.vingrad.ru/cgi-bin....1;t=957


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Klin
  Дата 22.11.2002, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Воо ошибки:
Код
[C++ Ошибка] Unit1.cpp(20): E2268 Call to undefined function 'CoInitialize'
 [C++ Ошибка] Unit1.cpp(21): E2451 Undefined symbol 'IShellLink'
 [C++ Ошибка] Unit1.cpp(21): E2451 Undefined symbol 'SLink'
 [C++ Ошибка] Unit1.cpp(22): E2268 Call to undefined function 'CoCreateInstance'
 [C++ Ошибка] Unit1.cpp(22): E2451 Undefined symbol 'CLSID_ShellLink'
 [C++ Ошибка] Unit1.cpp(23): E2451 Undefined symbol 'IID_IShellLink'
 [C++ Ошибка] Unit1.cpp(32): E2451 Undefined symbol 'LPITEMIDLIST'
 [C++ Ошибка] Unit1.cpp(32): E2379 Statement missing;
 [C++ Ошибка] Unit1.cpp(34): E2268 Call to undefined function 'SHGetSpecialFolderLocation'
 [C++ Ошибка] Unit1.cpp(34): E2451 Undefined symbol 'CSIDL_DESKTOP'
 [C++ Ошибка] Unit1.cpp(34): E2451 Undefined symbol 'pl'
 [C++ Ошибка] Unit1.cpp(35): E2268 Call to undefined function 'SHGetPathFromIDList'
 [C++ Ошибка] Unit1.cpp(39): E2034 Cannot convert 'unsigned short *' to 'wchar_t *'
 [C++ Ошибка] Unit1.cpp(39): E2342 Type mismatch in parameter 'lpWideCharStr' (wanted 'wchar_t *', got 'unsigned short *')
 [C++ Ошибка] Unit1.cpp(40): E2034 Cannot convert 'unsigned short *' to 'const wchar_t *'
 [C++ Ошибка] Unit1.cpp(40): E2342 Type mismatch in parameter 'pszFileName' (wanted 'const wchar_t *', got 'unsigned short *')
 [C++ Ошибка] Unit1.cpp(42): E2268 Call to undefined function 'CoUninitialize'
 [C++ Предупреждение] Unit1.cpp(43): W8004 'HRes' is assigned a value that is never used



--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Baa
Дата 23.11.2002, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Ну а всякие ShellApi подключить и т.д.?
з.ы. тут уж все в твоих руках... у меня все это работает...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Klin
  Дата 23.11.2002, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



А как (совсем забыл)?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Baa
Дата 23.11.2002, 03:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



я хз как это в билдере делается... наерно нечто навроде
#include <shellapi.hpp>
или как-то так...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Klin
  Дата 23.11.2002, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



hpp?


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Klin
  Дата 23.11.2002, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Код
[C++ Ошибка] Unit1.cpp(20): E2268 Call to undefined function 'CoInitialize'
 [C++ Ошибка] Unit1.cpp(21): E2451 Undefined symbol 'IShellLink'
 [C++ Ошибка] Unit1.cpp(21): E2451 Undefined symbol 'SLink'
 [C++ Ошибка] Unit1.cpp(22): E2268 Call to undefined function 'CoCreateInstance'
 [C++ Ошибка] Unit1.cpp(22): E2451 Undefined symbol 'CLSID_ShellLink'
 [C++ Ошибка] Unit1.cpp(23): E2451 Undefined symbol 'IID_IShellLink'
 [C++ Ошибка] Unit1.cpp(32): E2451 Undefined symbol 'LPITEMIDLIST'
 [C++ Ошибка] Unit1.cpp(32): E2379 Statement missing;
 [C++ Ошибка] Unit1.cpp(34): E2268 Call to undefined function 'SHGetSpecialFolderLocation'
 [C++ Ошибка] Unit1.cpp(34): E2451 Undefined symbol 'CSIDL_DESKTOP'
 [C++ Ошибка] Unit1.cpp(34): E2451 Undefined symbol 'pl'
 [C++ Ошибка] Unit1.cpp(35): E2268 Call to undefined function 'SHGetPathFromIDList'
 [C++ Ошибка] Unit1.cpp(39): E2034 Cannot convert 'unsigned short *' to 'wchar_t *'
 [C++ Ошибка] Unit1.cpp(39): E2342 Type mismatch in parameter 'lpWideCharStr' (wanted 'wchar_t *', got 'unsigned short *')
 [C++ Ошибка] Unit1.cpp(40): E2034 Cannot convert 'unsigned short *' to 'const wchar_t *'
 [C++ Ошибка] Unit1.cpp(40): E2342 Type mismatch in parameter 'pszFileName' (wanted 'const wchar_t *', got 'unsigned short *')
 [C++ Ошибка] Unit1.cpp(42): E2268 Call to undefined function 'CoUninitialize'

Не хочет!


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Baa
Дата 23.11.2002, 05:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



#include <ShlObj.hpp>
#include <ActiveX.hpp>
#include <ComObj.hpp>
#include <ShellApi.hpp>


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Klin
  Дата 23.11.2002, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Теже самые ошибки...


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Klin
  Дата 23.11.2002, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Baa, слушай можешь на мыло мне бросить проект?

Мыло: [email protected]


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
HexoGenus
Дата 26.11.2002, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Экс. модератор
Сообщений: 110
Регистрация: 28.8.2002
Где: Ростов-на-Дону

Репутация: нет
Всего: нет



Цитата(Klin @ 23.11.2002, 09:57)
Baa, слушай можешь на мыло мне бросить проект?

Мыло: [email protected]

Хммммм.... на моей первой версии Буилдера работает
првда пришлось малость подправить...
Для эксперимента я создал форму и на ней кнопочку создающую ярлык...
проверь все ли ты написал и куда вставил #include
Код

//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop

#include <shlobj.h>

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
fastcall TForm1::Button1Click(TObject *Sender)
{
//
/*
Shell link creator, by Iliya
mailto: [email protected]
*/
//......
  CoInitialize(NULL);
  IShellLink * SLink;
  HRESULT HRes = CoCreateInstance(CLSID_ShellLink, 0, CLSCTX_INPROC_SERVER,
  IID_IShellLink, ( LPVOID*)&SLink);
  HRes = SLink->SetPath("C:\\app.exe");// Путь к запускаемой программе, для которой создаем ярлык
  HRes = SLink->SetWorkingDirectory("C:\\");// Рабочий каталог для програмы

  IPersistFile* PF;
  HRes = SLink->QueryInterface(IID_IPersistFile, (LPVOID*)&PF);

 // WORD path[MAX_PATH];
 // Тип Ворд исправил на вчар :-)))
  WCHAR path[MAX_PATH];
  TCHAR buf1[MAX_PATH];

  LPITEMIDLIST pl;

  SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pl);
  SHGetPathFromIDList(pl, buf1);

  lstrcat(buf1, "\\");
  lstrcat(buf1, "link_for_app_1.lnk");

  MultiByteToWideChar(CP_ACP, 0, buf1, -1, path, MAX_PATH);
  HRes = PF->Save(path, TRUE);// Сохранить
  // А нафиг нам HRes ???
  // У меня сразу все заработало
  // правда пришлось по диску искать куда link_for_app_1.lnk
  // забрасывается :-)
  SLink->Release();
  CoUninitialize();
}
//---------------------------------------------------------------------------

--------------------
Когда невозможно уже работать напряженнее, начни работать умнее.
PM MAIL WWW ICQ   Вверх
Fantasist
Дата 27.11.2002, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Цитата
// А нафиг нам HRes
 // У меня сразу все заработало

А HRes - это как бы для контроля успешности выполнения.  :)
Только переменная есть, а контроль все равно не производиться.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Klin
  Дата 27.11.2002, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



Код
[C++ Ошибка] shobjidl.h(2193): E2238 Multiple declaration for 'FOLDERSETTINGS'
[C++ Ошибка] shobjidl.h(8095): E2238 Multiple declaration for 'DESKBANDINFO'
[C++ Ошибка] shlobj.h(1422): E2238 Multiple declaration for 'FVSHOWINFO'
[C++ Ошибка] shlobj.h(3457): E2238 Multiple declaration for 'SHELLFLAGSTATE'

Ну что за зараза!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
:sneaky2  :sneaky2  :sneaky2  :sneaky2  :sneaky2  :sneaky2  :sneaky2


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Klin
  Дата 30.12.2002, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: нет
Всего: 25



YYYYYYYYYYYYYYYYYYYYYEEEEEEEEEEEEEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSS
:) :)  :) :) :) :) :) :)
Код
//---------------------------------------------------------------------------
#define NO_WIN32_LEAN_AND_MEAN
#include <shlobj.h>
#include <vcl.h>

#pragma hdrstop


#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
fastcall TForm1::Button1Click(TObject *Sender)
{
CoInitialize(NULL);
 IShellLink * SLink;
 HRESULT HRes = CoCreateInstance(CLSID_ShellLink, 0, CLSCTX_INPROC_SERVER,
 IID_IShellLink, ( LPVOID*)&SLink);
 HRes = SLink->SetPath("C:\\app.exe");// Путь к запускаемой программе, для которой создаем ярлык
 HRes = SLink->SetWorkingDirectory("C:\\");// Рабочий каталог для програмы

 IPersistFile* PF;
 HRes = SLink->QueryInterface(IID_IPersistFile, (LPVOID*)&PF);

// WORD path[MAX_PATH];
// Тип Ворд исправил на вчар :-)))
 WCHAR path[MAX_PATH];
 TCHAR buf1[MAX_PATH];

 LPITEMIDLIST pl;

 SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pl);
 SHGetPathFromIDList(pl, buf1);

 lstrcat(buf1, "\\");
 lstrcat(buf1, "link_for_app_1.lnk");

 MultiByteToWideChar(CP_ACP, 0, buf1, -1, path, MAX_PATH);
 HRes = PF->Save(path, TRUE);// Сохранить
 // А нафиг нам HRes
 // У меня сразу все заработало
 // правда пришлось по диску искать куда link_for_app_1.lnk
 // забрасывается :-)
 SLink->Release();
 CoUninitialize();

}
//---------------------------------------------------------------------------

НАКОНЕЦТО! :happy


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.