Это я Виджай ..
Я пытаюсь сделать CrossHair (своего рода курсор) на экране во время игры (Counter Strike) ...
так что я сделал это ...
#############################
#include<iostream.h>
#include<windows.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<process.h>
#include <time.h>
int main ()
{
HANDLE hl = OpenProcess(PROCESS_ALL_ACCESS,TRUE,pid);
// Здесь pid - идентификатор процесса игры ...
HDC hDC = GetDC(NULL);
// Здесь я передаю NULL для всего экрана ...
HBRUSH hb=CreateSolidBrush(RGB(0,255,255));
SelectObject(hDC,hb);
POINT p;
while(!kbhit())
{
int x=1360/2,y=768/2;
MoveToEx(hDC,x-20,y,&p);
LineTo(hDC,x+20,y);
SetPixel(hDC,x,y,RGB(255,0,0));
SetPixel(hDC,x-1,y-1,RGB(255,0,0));
SetPixel(hDC,x-1,y+1,RGB(255,0,0));
SetPixel(hDC,x+1,y+1,RGB(255,0,0));
SetPixel(hDC,x+1,y-1,RGB(255,0,0));
MoveToEx(hDC,x,y-20,&p);
LineTo(hDC,x,y+20);
}
cin.get();
return 0;
}
####################################
работает нормально .... на рабочем столе я вижу перекрестье ... но моя проблема в том, что когда я запускаю игру ... крест здесь исчез ...
так что я думаю, что не справился с процессом игры ...
поэтому я передаю РУЧКУ в GetDC (гл) ...
Но GetDC принимает только HWND (Handle To Window) ...
так что я приведу это так ...
HWND hl = (HWND) OpenProcess (PROCESS_ALL_ACCESS, TRUE, pid);
и передал hl в GetDC (hl) ...
но это не работает ... Что не так с кодом ...
плз, скажите, как мне сделать простую фигуру на экране процесса или игры ...
PS: (Мой компилятор - DevCPP и ОС WinXP SP3 ....)