首先多谢阁下的指教!
在下想用编程的方法,实现如下功能:
在玩CS时,在屏幕中心画一个十字准心
请教如何实现?

解决方案 »

  1.   

    我刚刚试了一下,虽然成功了但是严重影响速度。Fps只有可怜的20
    要知道我都是80以上的呀
      

  2.   

    楼主你干脆到www.51delphi.com去下载个"半条命"源码看下算了.
      

  3.   

    有兴趣 知道,learning
    uP
      

  4.   

    var
       s : array[0..64] of char;
    begin
        StrCopy(S, 'windows');
        SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S));
    end;
    消息广播
      

  5.   

    OGC都是通过HOOK实现画准星的。
    你试试HOOK,我记得有一个版本的OGC开放源代码
      

  6.   

    如果只是想画一个点的话,可以用print画啊用一个timer控件,设成间隔时间为1.在桌面上画就可以了
      

  7.   

    unit MainForm;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus, CoolTrayIcon, ExtCtrls, StdCtrls;type
      TFormMain = class(TForm)
        PopupMenu: TPopupMenu;
        CoolTrayIcon: TCoolTrayIcon;
        N1: TMenuItem;
        N2: TMenuItem;
        N3: TMenuItem;
        N4: TMenuItem;
        N5: TMenuItem;
        Timer: TTimer;
        TimerTemp: TTimer;
        procedure N5Click(Sender: TObject);
        procedure TimerTimer(Sender: TObject);
        procedure TimerTempTimer(Sender: TObject);
        procedure N3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
      function RegisterServiceProcess(a:longint;const b:longint):dword;stdcall;far;
        external 'Kernel32.dll' name 'RegisterServiceProcess';var
      FormMain: TFormMain;
      hCSDC : HDC;
      x,y,x1,x2,y1,y2 : Integer;
    implementation{$R *.dfm}procedure TFormMain.N5Click(Sender: TObject);
    begin
      Close;
    end;procedure TFormMain.TimerTimer(Sender: TObject);
    var
      OldPoint : TPoint;
    begin
      MoveToEx(hCSDC,x1,y,@OldPoint);
      LineTo(hCSDC,x2,y);
      MoveToEx(hCSDC,x,y1,@OldPoint);
      LineTo(hCSDC,x,y2);
    end;procedure TFormMain.TimerTempTimer(Sender: TObject);
    var
      hCSWND : HWND;
    begin
      hCSWND := FindWindow(nil, 'Counter-Strike');
      if hCSWND <> 0 then
      begin
        hCSDC := GetWindowDC(hCSWND);    x1 := Screen.Width div 2 - 7;
        x2 := Screen.Width div 2 + 7;
        y  := Screen.Height div 2;    x := Screen.Width div 2;
        y1 := Screen.Height div 2 - 7;
        y2 := Screen.Height div 2 + 7;    Timer.Enabled := True;
      end
      else
      begin
        Timer.Enabled := False;
      end;
    end;procedure TFormMain.N3Click(Sender: TObject);
    begin
     showmessage('CS准心!');
    end;end.