Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi 7 нужна помощь

Ответить
Настройки темы
Delphi - Delphi 7 нужна помощь

Аватара для OldGamer

Новый участник


Сообщения: 33
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: OldGamer
Дата: 23-09-2017
Здравствуйте!

Я новичок в Delphi - помогите, пожалуйста, реализовать задуманное...

Имеется эмулятор приставки PS2 - PCSX2



Написал лаунчер, содержащий авто запуск игры



Требуется: автоматизировать вызов настроек - при клике на кнопку "Controller" (btn3Click) запускался эмулятор и автоматически открывал окно с настройками управления (плагина)




Проблема заключается в реализации перехода во второе подменю "Controllers (PAD)" и, соответственно, нажатия там нужной кнопки "Plugin Settings...".

Скрипт
Код: Выделить весь код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    img1: TImage;
    btn1: TBitBtn;
    btn2: TBitBtn;
    btn3: TBitBtn;
    btn4: TBitBtn;
    procedure btn1Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
form1.Close;
end;

procedure TForm1.btn4Click(Sender: TObject);
begin
form1.Close;
ShellExecute(Application.Handle,PChar('open'),PChar('Start Game.exe'),nil,nil,SW_SHOW)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetClassLong(Handle, GCL_STYLE, GetClassLong(Handle, GCL_STYLE) or CS_NOCLOSE);
end;

procedure TForm1.btn3Click(Sender: TObject);
Var
Men      :HMenu;
Hnd      :HWnd;
HndMen,HndSMen                          :HMenu;
IdBtn,idMen                             :integer;
begin
  Hnd:=FindWindow(nil, 'PCSX2 Burnout 3: Takedown');
  if Hnd <>0 then begin
    windows.SetForegroundWindow(Hnd);
    HndMen:=GetMenu(Hnd);
    HndSMen:=GetSubMenu(HndMen,2);
    idMen:=GetMenuItemID(HndSMen,6);
    if idMen<>0 then begin
      PostMessage(Hnd,WM_COMMAND,idMen,0);
end;
end;
end;

end.

Отправлено: 17:37, 23-09-2017

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi 7 нужна помощь

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Медиа - НУЖНА ПОМОЩЬ HELP!!! wheelman6.6.6 Тест-форум 1 09-11-2014 23:34
BSOD - нужна помощь.. sigrok Устранение критических ошибок Windows 1 23-04-2011 23:23
Delphi - [решено] Нужна помощь с ассемблером в Delphi (найти точку в строке). Jhakal Программирование и базы данных 2 29-12-2006 17:44
Нужна помощь Kuplet Видеокарты 11 05-08-2006 13:17
Delphi - Нужна литература по БД в Delphi AlKronos Программирование и базы данных 1 08-04-2003 12:05




 
Переход