This is the code of MalaMessages.exe
unit main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
const
// MaLa Messages
MALAMSG_STOPBGMUSIC = WM_USER + 10;
MALAMSG_STARTBGMUSIC = WM_USER + 11;
MALAMSG_NEXTSONG = WM_USER + 12;
MALAMSG_PREVIOUSSONG = WM_USER + 13;
MALAMSG_SWITCHORIENTATION = WM_USER + 20;
MALAMSG_FLIPORIENTATION = WM_USER + 21;
MALAMSG_STARTSCREENSAVER = WM_USER + 30;
MALAMSG_STOPSCREENSAVER = WM_USER + 31;
MALAMSG_ONEUP = WM_USER + 40;
MALAMSG_ONEDOWN = WM_USER + 41;
MALAMSG_XUP = WM_USER + 42;
MALAMSG_XDOWN = WM_USER + 43;
MALAMSG_LETTERUP = WM_USER + 44;
MALAMSG_LETTERDOWN = WM_USER + 45;
MALAMSG_NEXTGAMELIST = WM_USER + 50;
MALAMSG_PREVIOUSGAMELIST = WM_USER + 51;
MALAMSG_NEXTEMULATOR = WM_USER + 52;
MALAMSG_PREVIOUSEMULATOR = WM_USER + 53;
MALAMSG_STARTGAME = WM_USER + 60;
MALAMSG_STARTRNDGAME = WM_USER + 61;
MALAMSG_QUITGAME = WM_USER + 62;
MALAMSG_EXIT = WM_USER + 70;
MALAMSG_SETLED = WM_USER + 80;
MALAMSG_ALLLEDON = WM_USER + 81;
MALAMSG_ALLLEDOFF = WM_USER + 82;
MALAMSG_RESETLEDSTATE = WM_USER + 83;
MALAMSG_LOADHOTLIST = WM_USER + 90;
MALAMSG_MAINSETFOCUS= WM_USER + 91;
MALAMSG_ROTATE0= WM_USER + 93;
MALAMSG_ROTATE90= WM_USER + 94;
MALAMSG_ROTATE180= WM_USER + 95;
MALAMSG_ROTATE270= WM_USER + 96;
type
TfrmMain = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Button21: TButton;
Button22: TButton;
Button15: TButton;
Button16: TButton;
edtLEDNr: TEdit;
Label1: TLabel;
cbxLEDOnOff: TCheckBox;
Button23: TButton;
Button24: TButton;
Button25: TButton;
Button26: TButton;
Button27: TButton;
Button29: TButton;
Button28: TButton;
Button30: TButton;
Button31: TButton;
Button32: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
procedure Button29Click(Sender: TObject);
procedure Button30Click(Sender: TObject);
procedure Button31Click(Sender: TObject);
procedure Button32Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
{*******************************************************************************
* BoolToInt
*******************************************************************************}
function BoolToInt(ABoolean: Boolean): Integer;
begin
Result := 0;
case ABoolean of
true: Result := 1;
false: Result := 0;
end;
end;
procedure TfrmMain.Button1Click(Sender: TObject);
begin
SendMessage(FindWindow(nil,'MaLa'), MALAMSG_STOPBGMUSIC, 0, 0);
end;
procedure TfrmMain.Button2Click(Sender: TObject);
begin
SendMessage(FindWindow(nil,'MaLa'), MALAMSG_STARTBGMUSIC, 0, 0);
end;
procedure TfrmMain.Button3Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_SWITCHORIENTATION, 0, 0);
end;
procedure TfrmMain.Button4Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_FLIPORIENTATION, 0, 0);
end;
procedure TfrmMain.Button5Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_STARTSCREENSAVER, 0, 0);
end;
procedure TfrmMain.Button6Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_STOPSCREENSAVER, 0, 0);
end;
procedure TfrmMain.Button7Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_NEXTSONG, 0, 0);
end;
procedure TfrmMain.Button8Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_PREVIOUSSONG, 0, 0);
end;
procedure TfrmMain.Button9Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ONEUP, 0, 0);
end;
procedure TfrmMain.Button10Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ONEDOWN, 0, 0);
end;
procedure TfrmMain.Button11Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_XUP, 0, 0);
end;
procedure TfrmMain.Button12Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_XDOWN, 0, 0);
end;
procedure TfrmMain.Button13Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_LETTERUP, 0, 0);
end;
procedure TfrmMain.Button14Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_LETTERDOWN, 0, 0);
end;
procedure TfrmMain.Button15Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_QUITGAME, 0, 0);
end;
procedure TfrmMain.Button19Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_NEXTEMULATOR, 0, 0);
end;
procedure TfrmMain.Button20Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_PREVIOUSEMULATOR, 0, 0);
end;
procedure TfrmMain.Button21Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_NEXTGAMELIST, 0, 0);
end;
procedure TfrmMain.Button22Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_PREVIOUSGAMELIST, 0, 0);
end;
procedure TfrmMain.Button17Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_STARTGAME, 0, 0);
end;
procedure TfrmMain.Button18Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_EXIT, 0, 0);
end;
procedure TfrmMain.Button16Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_STARTRNDGAME, 0, 0);
end;
procedure TfrmMain.Button23Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_SETLED, StrToInt(edtLEDNr.Text), BoolToInt(cbxLEDOnOff.Checked));
end;
procedure TfrmMain.Button24Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ALLLEDOFF, 0, 0);
end;
procedure TfrmMain.Button25Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ALLLEDON, 0, 0);
end;
procedure TfrmMain.Button26Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_RESETLEDSTATE, 0, 0);
end;
procedure TfrmMain.Button27Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_LOADHOTLIST, 0, 0);
end;
procedure TfrmMain.Button29Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_MAINSETFOCUS, 0, 0);
end;
procedure TfrmMain.Button28Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ROTATE0, 0, 0);
end;
procedure TfrmMain.Button30Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ROTATE90, 0, 0);
end;
procedure TfrmMain.Button31Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ROTATE180, 0, 0);
end;
procedure TfrmMain.Button32Click(Sender: TObject);
begin
PostMessage(FindWindow(nil,'MaLa'), MALAMSG_ROTATE270, 0, 0);
end;
end.
MalaMessages.exe doesn't use fake gamepad presses, doesn't it? On it, if you press a button then send the message...
I don't know what is WM_USER? What value must has it?
Thanks in advance.