1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Запуск файла!

Тема в разделе "Delphi - программирование", создана пользователем -, 21 ноя 2006.

Статус темы:
Закрыта.
  1. Гость

    Репутация:
    0
    Люди у меня такой вопрос!
    Как програмно можно запускать приложения, файлы, ярлыки?
    Просто я использовал
    uses ShellAPI;
    ..............
    ShellExecute();
    ..............
    Но через некоторое время у меня перестали запускаться ярлыки!

    Какие еще есть способы? Подскажите!
    :)
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Что значит перестали запускаться ярлыки ?

    Этой функций можно запустить любое внешнее приложение или открытьфайл асоциированный с приложением или отправить документ на печать...

    Всё должно работать...

    Если хотите сложностей .. ищите по ярлыку на кого он указывает и потом запускайте с использованием CreateProcess
     
  3. Гость

    Репутация:
    0
    <!--QuoteBegin-Barmutik+21:11:2006, 13:44 -->
    <span class="vbquote">(Barmutik @ 21:11:2006, 13:44 )</span><!--QuoteEBegin-->Что значит перестали запускаться ярлыки ?
    [snapback]48419" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Такая фигня! На компе где я писал прогу не запускаются ярлыки, а на другом компе запускаются! :)
     
  4. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    <!--QuoteBegin-ОлегMonster+21:11:2006, 12:39 -->
    <span class="vbquote">(ОлегMonster @ 21:11:2006, 12:39 )</span><!--QuoteEBegin-->Какие еще есть способы? Подскажите!
    [snapback]48417" rel="nofollow" target="_blank[/snapback]​
    [/quote]


    Не через ShellAPI обращаться а на прямую
    Код:
    implementation
    function ShellExecuteA(hWnd: HWND; Operation, FileName, Parameters,
    Directory: PAnsiChar; ShowCmd: Integer): HINST; stdcall; external 'shell32.dll';
    {$R *.dfm}
    
    
    .......
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShellExecuteA( Application.Handle, 'open', 'regedit.exe', '', 'C:\Windows', SW_SHOWNORMAL	 );
    end;
    <!--QuoteBegin-ОлегMonster+21:11:2006, 12:48 -->
    <span class="vbquote">(ОлегMonster @ 21:11:2006, 12:48 )</span><!--QuoteEBegin-->Такая фигня! На компе где я писал прогу не запускаются ярлыки, а на другом компе запускаются!
    [snapback]48422" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ну так проверте на своём компе не запускаются ТОЛЬКО ярлыки, или функция вообще не работает?
     
  5. Гость

    Репутация:
    0
    <!--QuoteBegin-Morpheus+21:11:2006, 14:07 -->
    <span class="vbquote">(Morpheus @ 21:11:2006, 14:07 )</span><!--QuoteEBegin-->ну так проверте на своём компе не запускаются ТОЛЬКО ярлыки, или функция вообще не работает?
    [snapback]48423" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Не запускаются только ярлыки! :unsure:
     
  6. Гость

    Репутация:
    0
    Подскажите или правильно я думаю! :unsure:
    Чем больше подключаеш модулей в Uses тем больше
    прога занимает места в оперотивной памяти???????????????
    Как обстаят дела если Function & Procedure вытягивать с DLL напрямую?
    А константы представить в числах не подгружая лишних модулей?
     
  7. Barmutik

    Barmutik Гость

    Репутация:
    0
    Общий подход мыслей правильный :)
     
  8. Kmet

    Kmet Well-Known Member
    Java Team

    Репутация:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    1.036
    Симпатии:
    8
    но есть исключения, подключение модулей вроде ShellAPI к росту занимаемой памяти не рпиводят, так как такие модули посути являются всего лишь заголовочными файлами.

    Не делфист, но по идеи ничего менять не должно
     
  9. Гость

    Репутация:
    0
    Всем спасибо! Конечно ничего нового я не узнал! Но пару советов я учту! ;)
     
Загрузка...
Статус темы:
Закрыта.

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