Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/48: Рейтинг темы: голосов - 48, средняя оценка - 4.81
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
1

Запуск сторонней программы

13.07.2017, 19:16. Показов 8979. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как запустить стороннюю программу (.exe)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2017, 19:16
Ответы с готовыми решениями:

Запуск сторонней программы
В корневой папке вместе с программой будет exe файл, который проводит некоторые расчеты. Обмен...

Скрыть форму при запуске сторонней программы с помощью TProcess и отобразить после
Как мне сделать так, чтобы при запуске сторонней программы через кнопку на форме, с помощью...

Управление положением сторонней программы
Доброго времени суток. У меня такой возник вопрос: возможно ли из свой программы управлять...

Как отрыть файл сторонней программы?
Как отрыть файл сторонней программы? То есть как написать модуль открытия файла(например: открыть...

9
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
13.07.2017, 19:21 2
Лучший ответ Сообщение было отмечено Joey как решение

Решение

Запуск стороннего приложения из лазаруса
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
13.07.2017, 19:23 3
Лучший ответ Сообщение было отмечено Joey как решение

Решение

Executing External Programs
1
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
13.07.2017, 19:46  [ТС] 4
Вот один из вариантов. Как указать полный путь к вызываемой программе? Я написал,например, так: C:\Program Files\Core Temp\CoreTemp.exe - выходит ошибка
Delphi
1
2
3
4
AProcess := TProcess.Create(nil);
  AProcess.Options := [poWaitOnExit];
  AProcess.Executable := '...';
  AProcess.Execute;
0
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
13.07.2017, 20:08 5
нет никакой ошибки
Pascal
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button1Click(Sender: TObject);
var
  AProcess: TProcess;
begin
  AProcess := TProcess.Create(nil);
  AProcess.Executable:= 'C:\Program Files\Windows NT\Accessories\wordpad.exe';
  AProcess.Options := [poWaitOnExit];
  AProcess.Execute;
  AProcess.Free;
end;
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
14.07.2017, 16:55 6
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
C:\Program Files\Core Temp\CoreTemp.exe - выходит ошибка
Да. Потому что CoreTemp требует полномочий администратора. Чтобы запустить стороннюю программу с повышением полномочий -используй ShellExecuteEx (пример есть по моей ссылке выше, функция RunAsAdmin). Только что попробовал

Pascal
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  RunAsAdmin(0, '"F:\Program Files\Core Temp\Core Temp.exe"', '');
end;
- все прекрасно запустилось. Хотя TProcess.Execute давал ошибку №2.
0
0 / 0 / 0
Регистрация: 14.08.2019
Сообщений: 9
14.08.2019, 09:09 7
Joy, Не работает выдает ошибку
вот мой код который не хочет работать
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
 
  public
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
  procedure TForm1.Button1Click(Sender: TObject);
  var
    AProcess: TProcess;
  begin
    AProcess := TProcess.Create(nil);
    AProcess.Executable:= 'C:\Program Files\Windows NT\Accessories\wordpad.exe';
    AProcess.Options := [poWaitOnExit];
    AProcess.Execute;
    AProcess.Free;
  end;
 
end.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
14.08.2019, 09:44 8
Какую именно ошибку выдает код? Насколько я вижу, у тебя не подключен модуль Process в разделе unit, может быть в этом все дело?

P.S. Вообще-то не нужно полностью указывать путь к WordPad-у, достаточно написать:
Pascal
1
AProcess.Executable := FindDefaultExecutablePath('write'); // это в модуле FileUtil
1
0 / 0 / 0
Регистрация: 14.08.2019
Сообщений: 9
16.08.2019, 11:26 9
Ошибку выдет вот эту unit1.pas(33,19) Fatal: Syntax error, ";" expected but "." found
0
34 / 33 / 21
Регистрация: 14.11.2016
Сообщений: 141
16.08.2019, 13:26 10
Pascal
1
2
procedure TForm1.Button1Click(Sender: TObject);
  procedure TForm1.Button1Click(Sender: TObject);
Вас ничего не смущает в этих 2-х идущих подряд строках?
1
16.08.2019, 13:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2019, 13:26
Помогаю со студенческими работами здесь

Запуск сторонней программы
Помогите запустить програмно стороннюю программу на С#. К примеру notepad.exe

Запуск сторонней программы
Есть главная программа и сторонняя (тоже написанная на java). При сотварении такого: gameThread...

Запрет на запуск сторонней программы
Здравствуйте!!! Помогите пожалуйста с вопросом: необходимо при запуске программы запретить запуск...

Заблокировать запуск сторонней программы
Возникла необходимость блокировать несколько определенных программ на компьютере (для программы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru