Перейти к содержанию
Fire Monkey от А до Я
  • 0

как из программы запустить exe фаил


леля рачок

Вопрос

Я написала несколько отдельных программ в RAD Studio 10.1 Berlin. Одну программу в виде меню которая запускает эти программы. Необходимо идентифицировать эти программы как программы написанные мной. Проверка посходит путем считывания label если он соответствует ожиданиям, то программа-меню записывает в label другой текст и форма на которой находится label считывает его и если все верно показывает компоненты которые содержит. Программа-меню свое свойство visible:=false; Как только программа которая была вызвана исчезает из памяти свойство программа-меню visible:=true

 

 

идентифицирует и запускает вот эта: 

Код:

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,ShellAPI,
  FMX.Edit, FMX.Controls.Presentation, FMX.StdCtrls,ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(1, nil, PChar(Edit1.Text), nil, nil, 0)
end;

end.

Но пока она только умеет только запускать, а инфицировать не может

вторая тоже самое только без вызывающей функции

Код:

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,ShellAPI,
  FMX.Edit, FMX.Controls.Presentation, FMX.StdCtrls,ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.fmx}



end.

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Во-первых запускать из-под винды программыв надо через CreateProcess, а не ShellExecute. Во вторых зачем label? У него даже hwnd нет. Проще создавать mutex. Он живёт пока живо приложение. Соответственно если создать не получилось, значит его создал кто-то другой.
 

Ссылка на комментарий
  • 0
В 25.01.2019 в 21:46, Akad сказал:

Во-первых запускать из-под винды программыв надо через CreateProcess, а не ShellExecute. Во вторых зачем label? У него даже hwnd нет. Проще создавать mutex. Он живёт пока живо приложение. Соответственно если создать не получилось, значит его создал кто-то другой.
 

ShellExecute  работает а 
 
CreateProcess подчеркивается красным и ошибку дает.
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...