Einzelnen Beitrag anzeigen

J Kadison

Registriert seit: 8. Sep 2007
Ort: Ebertsheim
96 Beiträge
 
Delphi 7 Personal
 
#1

Hauppauge Fernbedienung benutzen IrRemote.ini

  Alt 21. Dez 2008, 12:38
Hallo!

Ich möchte hier mal einen Quellcode frei geben, den ich geschrieben habe um fernbedienung-befehle von Hauppauge an ein DelphiProject weiter zu leiten.


Delphi-Quellcode:

unit IrRemote;

interface

uses
  Windows, Messages, SysUtils, Forms;


type
  TRemoteKeyEvent = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure WmCommand(var Msg: TMessage); message WM_COMMAND;
  end;


const
  IR_GO = 10;
  IR_GRNPOWER = 11;

  IR_TVNEW = 20;
  IR_VIDEOS = 21;
  IR_MUSIC = 22;
  IR_PICTURES = 23;
  IR_GUIDE = 24;
  IR_RADIO = 25;

  IR_OK = 30;
  IR_NAVUP = 31;
  IR_NAVDOWN = 32;
  IR_NAVLEFT = 33;
  IR_NAVRIGHT = 34;

  IR_BACK = 40;
  IR_MENU = 41;
  IR_CHNLPREV = 42;
  IR_MUTE = 43;

  IR_VOLUP = 50;
  IR_VOLDOWN = 51;
  IR_CHNLUP = 52;
  IR_CHNLDOWN = 53;

  IR_REC = 60;
  IR_STOP = 61;
  IR_REWIND = 62;
  IR_PLAY = 63;
  IR_FASTFWD = 64;
  IR_SKIPREV = 65;
  IR_PAUSE = 66;
  IR_SKIPFWD = 67;

  IR_0 = 70;
  IR_1 = 71;
  IR_2 = 72;
  IR_3 = 73;
  IR_4 = 74;
  IR_5 = 75;
  IR_6 = 76;
  IR_7 = 77;
  IR_8 = 78;
  IR_9 = 79;

  IR_TEXT = 80;
  IR_SUBCC = 81;

  IR_RED = 90;
  IR_GREEN = 91;
  IR_YELLOW = 92;
  IR_BLUE = 93;


var
  RemoteKeyEvent: TRemoteKeyEvent;

implementation

{$R *.dfm}


function IrCommandPossible(Msg: TMessage): Boolean;
const
  IR_PARAM = 273;
  // muss eventuell angepasst werden
  // Besteht aus Msg.Msg
begin
  Result := (
             (Msg.Msg = IR_PARAM) and // evtl. löschen wenn sonst nicht geht
             (Msg.LParam = 0) and
             (Msg.WParam > 9) and
             (Msg.WParam < 100) );
end;

procedure TRemoteKeyEvent.WmCommand(var Msg: TMessage);
var
  RemoteKey: Byte;
begin
  if IrCommandPossible(Msg) then
  begin
    RemoteKey := Msg.WParam;

{Hier Quellcode einfügen}
{Insert Quellcode here}

    Case RemoteKey of
      IR_VIDEOS : {procedure/Command};
      IR_GRNPOWER : {procedure/Command};
      {...}
    end;


{Hier Quellcode Ende}
{Stop Insering Quellcode}
    
  end;
end;


end.
Damit eure Fernbedienung auch die richtigen Commands an euer Programm weiter leitet müsst ihr noch folgendes in die IrRemote.ini einfügen.
die sollte sich unter "C:\Windows\IrRemote.ini" befinden.

Bei den Tasten, die an euer Programm weiter geleitet werden sollen müsst ihr das Semikolon vorher entfernen.

Code:
[Programmname]
;GO={cmd(10)}
;GRNPOWER={cmd(11)}
;
;TVNEW={cmd(20)}
;VIDEOS={cmd(21)}
;MUSIC={cmd(22)}
;PICTURES={cmd(23)}
;GUIDE={cmd(24)}
;RADIO={cmd(25)}
;
;OK={cmd(30)}
;NAVUP={cmd(31)}
;NAVDOWN={cmd(32)}
;NAVLEFT={cmd(33)}
;NAVRIGHT={cmd(34)}
;
;BACK={cmd(40)}
;MENU={cmd(41)}
;CHNLPREV={cmd(42)}
;MUTE={cmd(43)}
;
;VOLUP={cmd(50)}
;VOLDOWN={cmd(51)}
;CHNLUP={cmd(52)}
;CHNLDOWN={cmd(53)}
;
;REC={cmd(60)}
;STOP={cmd(61)}
;REWIND={cmd(62)}
;PLAY={cmd(63)}
;FASTFWD={cmd(64)}
;SKIPREV={cmd(65)}
;PAUSE={cmd(66)}
;SKIPFWD={cmd(67)}
;
;0={cmd(70)}
;1={cmd(71)}
;2={cmd(72)}
;3={cmd(73)}
;4={cmd(74)}
;5={cmd(75)}
;6={cmd(76)}
;7={cmd(77)}
;8={cmd(78)}
;9={cmd(79)}
;
;TEXT={cmd(80)}
;SUBCC={cmd(81)}
;
;RED={cmd(90)}
;GREEN={cmd(91)}
;YELLOW={cmd(92)}
;BLUE={cmd(93)}

WICHTIG:
Damit die Fernbedienung die befehle sendet, muss euer DelphiProject (bzw. Die Form) im Vordergrund sein.


Viel Spass mit dem Quellcode
Bei Fragen stehe ich gerne zur Verfügung
MFG
Joshi
  Mit Zitat antworten Zitat