网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月29日漏签0天
c++吧 关注:616,797贴子:2,111,155
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 28回复贴,共2页
  • ,跳到 页  
<<返回c++吧
>0< 加载中...

QQ对对碰外挂(原创, VC++实现)

  • 只看楼主
  • 收藏

  • 回复
  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
原帖:http://hi.baidu.com/ciw%5Fblue/blog/item/be15143195fd541eeac4afe3.html
#include "stdafx.h"
#include "resource.h"
#include <stdio.h>
int CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int GetAnimalPos(int nAnimalData[], int nData, int n);
void Move(int nAnimal[][8], int& x1, int& y1, int& nDir);
int Eat(int nAnimal[][8], int x, int y, int nDir1, int nOrg);
void Convert(int nAnimal[][8]);
int nXMouseStep = 65535 / GetSystemMetrics(SM_CXFULLSCREEN);
int nYMouseStep = 65535 / GetSystemMetrics(SM_CYSCREEN);
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
DialogBox(NULL, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, About);
return 0; 
}
HMODULE hModule = NULL;
bool bIsStart = false;
HWND hGameWnd;
typedef void(*SetHookDef)();
SetHookDef pSetHook;
int CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
   if(lParam != 1)
   {
    SetWindowText(GetDlgItem(hDlg, IDC_EDIT1), "欢迎使用本软件.");
    MoveWindow(hDlg, 800, 200, 220, 180, false);
    SetTimer(hDlg, 1, 800, NULL);
    SetTimer(hDlg, 2, 10, NULL);
    hModule = LoadLibrary("TestDll.dll");
    pSetHook = (SetHookDef)GetProcAddress(hModule, "SetHook");
    pSetHook();
   }
   return (INT_PTR)TRUE;
  
case WM_COMMAND:
  
   switch(LOWORD(wParam))
   {
   case IDC_BTN_START:
    hGameWnd = FindWindow(NULL, "对对碰角色版");
    RECT stGameRect;
    GetWindowRect(hGameWnd, &stGameRect);
    if(hGameWnd == NULL)
    {
     SetWindowText(GetDlgItem(hDlg, IDC_EDIT1), "请启动游戏,再继续.");
     break;
    }
    bIsStart = true;
   
    MoveWindow(hGameWnd, 0, 0, stGameRect.right - stGameRect.left, stGameRect.bottom - stGameRect.top, true);
    MoveWindow(hDlg, stGameRect.right, stGameRect.top + 50, 220, 180, true);
    break;
   
   case IDC_BUTTON1:
    EndDialog(hDlg, 0);
    break;



  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
if(nDir == 0)
 {
 mouse_event(MOUSEEVENTF_ABSOLUTE |MOUSEEVENTF_MOVE,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + (nMoveX + 1) * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + nMoveY * nBmpHeight), NULL, NULL);
 
 mouse_event( MOUSEEVENTF_LEFTDOWN ,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + (nMoveX + 1) * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + nMoveY * nBmpHeight), NULL, NULL);
 }
 else if(nDir == 1)
 {
 mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + (nMoveX - 1) * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + nMoveY * nBmpHeight), NULL, NULL);
 
 mouse_event( MOUSEEVENTF_LEFTDOWN ,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + (nMoveX - 1) * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + nMoveY * nBmpHeight), NULL, NULL);
 }
 else if(nDir == 2)
 {
 mouse_event(MOUSEEVENTF_ABSOLUTE |MOUSEEVENTF_MOVE,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + nMoveX * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + (nMoveY - 1)* nBmpHeight), NULL, NULL);
 
 mouse_event( MOUSEEVENTF_LEFTDOWN ,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + nMoveX * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + (nMoveY - 1)* nBmpHeight), NULL, NULL);
 }
 else if(nDir == 3)
 {
 mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + nMoveX * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + (nMoveY + 1) * nBmpHeight), NULL, NULL);
 
 mouse_event( MOUSEEVENTF_LEFTDOWN ,
 nXMouseStep*(stGameRect.left + nXGameScreenOffset + nMoveX * nBmpWidth), 
 nYMouseStep*(stGameRect.top + nYGameScreenOffset + (nMoveY + 1) * nBmpHeight), NULL, NULL);
 }
 Sleep(rand()%80 + 80);
 
 }
 }
 
 break;
 
 case WM_CLOSE:
 
 FreeLibrary(hModule);
 ExitProcess(0);
 break;
}
return (INT_PTR)FALSE;
}
int GetAnimalPos(int nAnimalData[], int nData, int n)
{
for(int i = 0; i < n; i++)
 if(nAnimalData[i] == nData)
 return i;
 
 return -1;
}


2025-05-29 02:28:34
广告
  • 61.146.239.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
收藏


  • CIW_BLUE
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最终版本:
1.增加自动开始 
2.增加自动放工具


  • 124.66.98.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个代码是不是没有给出两个头文件的代码啊~本人菜鸟,请教了!


  • 59.173.2.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是用API编的,为什么没有这个<windows.h>头文件。


  • 和天使KISS
  • ||
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求源代码大包
394832804@qq.com
同时着急高手辅导和菜鸟共同进步
本人大二学生


  • 123.235.203.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

发现这儿有个,还不错,有兴趣的可以看看
http://hi.baidu.com/yanzi52351/blog/item/44c0d38d1ca73319b21bbac4.html


2025-05-29 02:22:34
广告
  • yanzi52351
  • ||
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼上(yanzi52351)的那个好,不影响正常使用,最小化也行,不影响干别的


  • 123.235.217.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
10楼的好用,我是一大三学生,能不能把源码发给我73344282@qq.com


  • _紧斗长卜帅
  • ?:
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
10L连击帝,都当别人白痴?
10L的图  百度空间那名字是你11L的吧
10 12L明显就是同一IP。。。艹


  • 123.235.200.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不过10楼的确实很好用,游戏窗口不用置顶都可以


  • 125.211.154.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不好用


  • maxthongoogle
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
15楼胡说,我这儿好用,刚试过


2025-05-29 02:16:34
广告
  • yanzi52351
  • ||
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

void my::getdata()     //获取窗口数据
{
this->getseat();
if(!gameh)
{
    AfxMessageBox("请先打开游戏",MB_OK,0);
    return;
}
DWORD processid;
::GetWindowThreadProcessId(gameh,&processid);
HANDLE processH=::OpenProcess(PROCESS_ALL_ACCESS,false,processid);
DWORD byread;
LPCVOID pbase;
switch(this->seat)
{
case 0:
    pbase=(LPCVOID)0x0047D5B0;
    break;
case 1:
    pbase=(LPCVOID)0x0047E18C;
    break;
case 2:
    pbase=(LPCVOID)0x0047ED68;
    break;
case 3:
    pbase=(LPCVOID)0x0047F944;
    break;
default:
//    AfxMessageBox("fas",MB_OK,0);
    break;
}
LPVOID nbuffer=(LPVOID)&this->data;
::ReadProcessMemory(processH,pbase,nbuffer,8*25,&byread);
CloseHandle(processH);
}
    //判断动物是否落下 落下:返回true 没落下:返回false
bool my::isdown()
{
this->getdata();
for(int y=0; y<8; y++)
{
    for(int x=0;x<8;x++)
    {
     if(data[y][x]==0)
     {
      return false;
     }
    }
}
return true;
}
    //判断游戏是否开始或游戏是否结束 没结束 返回:false 没开始或已结束 返回:true
bool my::isover()
{
this->getdata();
bool ov=true;
for(int y=7;y>=0;y--)
{
    for(int x=7;x>=0;x--)
    {
     if(data[y][x]!=0)
     {
      return false;
     }
    }
}
Sleep(800);
this->getdata();
for(int b=0;b<8;b++)
{
    for(int a=0;a<8;a++)
    {
     if(data[b][a]!=0)
     {
      return false;
     }
    }
}
return true;
}
//找到可以消去的动物 找到 返回:可以消去的时所点的的两个方格的位置blk(ax,ay,bx,by) 没找到 返
回:blk(9,9,9,9)
block my::findclick()
{
block blk;
for(int y=7;y>=0;y--)
{
    for(int x=7;x>=0;x--)
    {
     // __-_ --_-
     if((y>2&&x>0)&&((data[x][y]==data[x][y-2]&&data[x][y-2]==data[x][y-
3]&&data[x][y-2]==data[x-1][y-1])||(data[x-1][y]==data[x-1][y-2]&&data[x-1][y-2]==data[x-1]
[y-3]&&data[x-1][y-2]==data[x][y-1])))
     {
      blk.ay=(y-1);
      blk.ax=x;
      blk.by=(y-1);
      blk.bx=(x-1);



登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 28回复贴,共2页
  • ,跳到 页  
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示