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

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

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

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

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

    Barmutik Гость

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

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

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

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

    <!--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 скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--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 обращаться а на прямую
    Код (Text):
    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. Гость

    <!--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. Гость

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

    Barmutik Гость

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

    Kmet Well-Known Member

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

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

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

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