Hi please help!
where you find : SetupBitmapInfo(bmi, bm.bmWidth, bm.bmHeight, bitsPerPixel);
return true;
Then its says too many arguments in function call in the bitsPerPixel bit please help!
#include "ScanContents.h"
bool TakeScreenshot(std::string WindowToFind, BITMAP &bm, HBITMAP &hbmap, BITMAPINFO &bmi, HDC &hdcShot,
HBITMAP &hbitmapOld, HWND &hwnd);
void SetupBitmapInfo(BITMAPINFO &bmi, int bHeight, int bitsPerPixel);
bool CompareColour(RGBQUAD * pPixels, int height, int Width, int x, int y);
void ScanBMP(ScanContents * scan);
bool Aim_Bot(HWND appWnd, std::string GameWindow);
MouseCoord CurrentMouseXY(0, 0);
int main()
{
std::string GameWindow = "Counter-Strike Source";
HWND appWnd = FindWindow(0, GameWindow.c_str());
while (!appWnd)
{
system("CLS");
std::cout << "Unable to find " << GameWindow.c_str() << std::endl;
Sleep(500);
}
POINT currentPos;
GetCursorPos(¤tPos);
CurrentMouseXY.X = currentPos.x;
CurrentMouseXY.Y = currentPos.y;
Aim_Bot(appWnd, GameWindow);
system("pause");
return 0;
}
bool TakeScreenshot(std::string WindowToFind, BITMAP &bm, HBITMAP &hbmap, BITMAPINFO &bmi, HDC &hdcShot,
HBITMAP &hbitmapOld, HWND &hwnd)
{
RECT rc;
GetWindowRect(hwnd, &rc);
hdcShot = CreateCompatibleDC(0);
hbmap = CreateCompatibleBitmap(GetDC(0), rc.right - rc.left, rc.bottom - rc.top);
SelectObject(hdcShot, hbmap);
BitBlt(hdcShot, 0, 0, rc.right - rc.left, rc.bottom - rc.top, hdcShot, rc.left, rc.top, SRCCOPY);
int bitsPerPixel = bm.bmBitsPixel;
if (!GetObject(hbmap, sizeof(BITMAP), (LPSTR)&bm))
return false;
if(bitsPerPixel != 32 || bm.bmPlanes != 1)
return false;
SetupBitmapInfo(bmi, bm.bmWidth, bm.bmHeight, bitsPerPixel);
return true;
}
bool Aim_Bot(HWND appWnd, std::string GameWindow)
{
RECT rcWindow;
GetWindowRect(appWnd, &rcWindow);
BITMAP bm;
HBITMAP hbmap;
HBITMAP hbmapOld;
BITMAPINFO bmi;
HDC hdcShot;
HDC hdcScreen;
RGBQUAD * pPixels;
int TimeTakenScreenAndScan;
while (true)
{
if (!GetAsyncKeyState('X'))
{
TimeTakenScreenAndScan = clock();
if (!TakeScreenshot(GameWindow, bm, hbmap, bmi, hdcShot, hbmapOld, appWnd))
break;
HBITMAP hbmapNEW = CreateCompatibleBitmap(hdcShot, rcWindow.right - rcWindow.left, rcWindow.bottom - rcWindow.top);
HDC hdcShotNew = CreateCompatibleDC(hdcShot);
HBITMAP OldBmp = (HBITMAP)SelectObject(hdcShotNew, hbmapNEW);
BitBlt(hdcShotNew, 0, 0, rcWindow.right - rcWindow.left, rcWindow.bottom - rcWindow.top, hdcShot, 0, 0, SRCCOPY);
pPixels = new RGBQUAD[bm.bmWidth * bm.bmHeight];
if (!pPixels)return false;
SelectObject(hdcShotNew, OldBmp);
if(!GetDIBits(hdcShotNew, hbmapNEW, 0, bm.bmHeight, pPixels, &bmi, DIB_RGB_COLORS))
{
ReleaseDC(appWnd, hdcShot);
delete[] pPixels;
return false;
}
ReleaseDC(appWnd, hdcShot);
ScanContents scanContentsMain(bm, rcWindow, pPixels);
ScanBMP(&scanContentsMain);
if (pPixels)
free(pPixels);
SelectObject(hdcShot, hbmapOld);
DeleteObject(hdcShot);
DeleteDC(hdcShot);
DeleteObject(hbmapNEW);
DeleteObject(OldBmp);
DeleteDC(hdcShotNew);
//std::cout << "out of scan, took" << clock() - TimeTakenScreenAndScan << " milliseconds " <<std::endl;
}
}
}