comthrd.pas

来自「GirderPluginWDM.zip SAA7134芯片(常用于电视卡,」· PAS 代码 · 共 66 行

PAS
66
字号
unit ComThrd;

interface

uses
  Main,
  Windows;

function PollThread(par: cardinal): cardinal; stdcall;
procedure PollThreadTerminate;
procedure PollThreadWaitFor;
procedure PollThreadCreate;

var
  hPollThread,PollThreadID: cardinal;

implementation

uses saa713x;

var
  bTerminated: boolean;

procedure PollThreadCreate;
begin
  hPollThread:=CreateThread(nil,0,@PollThread,nil,0,PollThreadID);
end;

procedure PollThreadTerminate;
begin
  bTerminated:=true;
end;

procedure PollThreadWaitFor;
var exitcode: cardinal;
begin
  while GetExitCodeThread(hPollThread,exitcode) do
    if exitcode <> STILL_ACTIVE then break;
  CloseHandle(hPollThread);
  hPollThread:=0;
end;

function PollThread(par: cardinal): cardinal;
var
  s: array[0..10] of char;
  ScanCode: integer;
begin
  result:=0;
  if not Init713x() then begin
    MessageBox(0,'Error initializing device!','ManliTV Remote control',MB_OK + MB_ICONERROR);
    exit;
  end;
  bTerminated:=false;
  ScanCode:=-1;
  while not bTerminated do begin
    ScanCode:=Poll713x();
    if ScanCode <> -1 then begin
      wvsprintf(s,'%d',@ScanCode);
      support.send_event(@s, nil,0,DEVICE_NUMBER);
    end;
  end;
  Done713x();
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?