C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Запуск по ярлыку
Guest
Отправлено: 12.05.2005, 21:19


Не зарегистрирован







Можно ли из своей программы запустить другую программу по ее ярлыку
olegenty
Отправлено: 13.05.2005, 06:57


Ветеран

Группа: Модератор
Сообщений: 2412



можно
Guest
Отправлено: 13.05.2005, 14:02


Не зарегистрирован







КАК?
Gedeon
Отправлено: 13.05.2005, 16:29


Ветеран

Группа: Модератор
Сообщений: 1742



CODE

   HWND ODBW = FindWindow("ConsoleWindowClass","ODB"); // ищем окно проги, чтоб узнать не запущена ли уже
   if(ODBW){ // если да
       SetForegroundWindow(ODBW); // переносим на первый план
   }
   else{ // иначе
       TIniFile *INI = new TIniFile(ExtractFilePath(Application->ExeName) + "odb.ini");
       AnsiString Path = INI->ReadString("ODB","Path",""); // вычитываем путь из ини файла (можете указать свой сразу, без ини)
       delete INI;


       ShellExecute(NULL,"open",Path.c_str(),NULL,ExtractFilePath(Path).c_str(),SW_SHOWDEFAULT); // запускаем программу по ярлыку
       ODBW = FindWindow("ConsoleWindowClass","ODB"); // находим окно
       SetForegroundWindow(ODBW); //  переносим на первый план
   }

Вот на всякий случай кусок ини файла
QUOTE

[ODB]
Path=C:\Documents and Settings\admin\Рабочий стол\ODB.lnk
Guest
Отправлено: 13.05.2005, 23:23


Не зарегистрирован







Почему то данный код не запускает программы через ярлыки, происходит ошибка, а просто EXE файлы без проблем
Gedeon
Отправлено: 14.05.2005, 09:01


Ветеран

Группа: Модератор
Сообщений: 1742



Да? А почему у меня работает?
Ошибка какая?

Вернуться в Вопросы программирования в C++Builder