連連看作弊器 - 網路之家

連連看作弊器 - 網路之家 - 連連看作弊器


!!!!! > 進入超人氣園地 < !!!!!

連連看作弊器

   鏶嶅嚑澶┼€沄CKbase鐨勤椂鍊欑湅鍒頒簡榪欐牁涓€綃呸枃褲狅細http://www.vckbase.com/document/viewdoc/?id=1415銆傛枃褲犱竴寮€濮嬪氨浠嬬肅濱骨熀鏈畻娉曪紝鍗沖廳鑾峰緱QQ榪閃綽鐪嬬獥鍙e彝鏌徹紝鐒惰€屻幏寰楀叾DC錛出扐鍚庡姣仁釜鏂規牸榪瀆棰滆壞鍙栨牁錛屻綆楀嚭姣忕鏂規牸鐨勯鑹茬壒寰佸€鹼紝鏋勯€豺嚭鏂規牸鐗瑰緛鋨┼樀錛岸渜璇煩闃典芄瀹炵幫榪閃綽鐪嬬殑綆楁磣錛屾ā鎷熼紶鏍囩偣鍑諱簨浠躲€?/font>

   鏂囩碔榪樼稃濱嗕竴孌靛剮閿殑浠g爜錛岸嵇鏋勯€豹柟鏍肩壒寰佺煩闃甸儴鍒嗙殑浠g爜銆備笉榪囪€佸疄璇達紝閭d塞浠g爜澶毦鐪嬩簡錛岸懡鍚嶆販涔卞緱寰堬紝鎴戠湅濱嗙湅婧愪唬鐮觥紝姣旒偅涓洿緋燂紝鍩烘湰娌℃敞閱娿€備笉榪呸棦鐒剁煡閬撲簡綆楁磣錛屻嚜宸卞啟涔熻姣旇閭d塞闅劇湅鐨蹺唬鐮佹撒寰楁洿蹇竴濱蒞€?/font>

   緇忚繃瀹為獙錛屼綔鑰呯殑綆楁磣鐨動『涓嶉敊錛岸噯紜巼鎺繎100錛他紝鍙湁4縐嶅乏鍙崇殑鏂規牸鏃豹磣璇骨埆銆備絾鏄繖涓笉鏄棶棰橈紝鍙渶瑕佸曉鍙栨牁鐐瑰鍔豺埌6涓氨鍙互杈懼埌寰堥珮鐨勫垎杈ㄨ始鍔涗簡銆備絾鏄渜妯℃嫙榧豹爣鐨劇繃紼嬩腑閬囧埌濱嗕竴濱溳夯鐑︺€備竴寮€濮嬩嬌鐢╩ouse_event妯℃嫙榧豹爣鐨勫崟鍑伙紝浣奚槸鏈始濡傛效浠信錛屾瘡嬈〞彧鑳藉崟鍑諱竴涓柟鏍鹼紝鏃豹磣鍗曞嚮絎簩涓€傚悗鏉張璇曚簡璇昐endInput錛岄棶棰樹緷鏃€傚幓CSDN涓婇€涗簡閫涳紝娌′粈涔壟敹鑾鳳紝鐜板渜榪樹笉鋨亡闀鍑哄渜鍝噷錛出湅鏉繕寰楄嚜宸辨參鎱三爺絀躲€?/font>

    璇暸獙榪囧悗錛屻寰楀螭浠曉榪鬱釜鎬濊礬鐢ㄥ埌綾諱技鐨勤父鎴仁腑錛屾瘮濡俀Q瀵瑰紕般€傛瀯閫犵壒寰佺煩闃電殑鏂規磣涓€鏍鳳紝鍙笉榪呸父鎴忕畻娉曚笉涓€鏍瘋€岸凡銆?/font>

闄徹細鎴戠殑Code錛出畻娉晨湁寰堝鐨勤敼榪涗綑鍦般€?/font>

// For SendInput() and INPUT Struct

#include "Winable.h"

//
// 涓€濱涘父閱忏拰鎖版嵁鐨勫畾涔?/font>

// 鑷畾涔倨秷鎮?br/>#define    MM_DONE   WM_USER + 1000
// 絀烘牸
#define    GRID_BLANK  (0)
// QQ榪閃綽鐪嬬殑娓告垙鍖烘柟鏍兼槸11琛?times;19鍒?br/>#define  ROWS  11
#define  COLS  19
// 娓告垙鍖虹溮瀵逛簬瀹二垌鍖虹殑鍋忕錛堝螭浠敼鍙橈級
#define  YCOFFSET 181
#define  XCOFFSET 14
// 榪閃綽鐪嬫柟鏍肩殑灝哄錛堝螭浠敼鍙橈級
#define  WIDTH  31
#define  HEIGHT  35
// 姣仁釜鏂規牸鐨勫彇鏍風偣涓暟錛堝螭浠敼鍙橈級
#define  SAMPLES  4
// 鍚勫彇鏍風偣鐩稿濱庢柟鏍煎乏涓匊鐨勫嚲縐婚噺錛堝螭浠敼鍙橈級
const static POINT g_Offsets[SAMPLES] = {
 {15, 17},
 {11, 19},
 {16, 17},
 {21, 17}
};
// 鍒柇涓涓嶅俔棰滆壞鐨勫宸紙鍙互鏀瑰彉錛?br/>#define  TOLERANCE 15
// 鏂規牸緇撴瀯
typedef struct _GRID_{
 // 鏂規牸鐨動被鍒獻D錛地ash錛多紝澶簬絳變簬0錛?涓虹└鏍箋€?br/> //  瀹冪殑浣滅敤寰壟梅鏄撅紝鍙湁鍚出被鐨勤柟鏍兼墠鍙始琚秷闄€?br/> int   iID;
 // 璇柟鏍間腑蹇富潗鏍囷紙瀹二垌鐨徹紝涓轟簡閬垮厤鍥犱負榪閃綽鐪嬬獥鍙d綅緗發鐢熷彉鍖枻甫鏉殑闀錛?br/> CPoint  pt;
 // 璇柟鏍肩殑鍙栨牁鐐圭殑棰滆壞銆傚町鐨蹺綔鐢ㄦ槸涓轟簡甯姪紜畾鎵€鏈倨柟鏍肩殑iID銆?br/> COLORREF cl[SAMPLES];
}GRID;
// 鎖翠釜娓告垙鍖烘塈鏈夌殑鏂規牸
static GRID  g_Grid[ROWS][COLS];
// 褰撳墠鐨勤柟鏍肩綾籌D(Hash)鏈€澶€?br/>static  int   g_iGridID = 0;
// 浣滃紛鍣ㄧ獥鍙e彝鏌勩€傜稃瀹富發閫佹秷鎮殑鏃跺€欒鐢ㄥ埌
static  HWND  g_hThisWnd = NULL;
// 榪閃綽鐪?HWND
static  HWND  g_hLLKWnd = NULL;

// 
// 涓€濱瀆緟鍔┼畯

// 鑾峰緱RGB涓垎閱?br/>#define  B(X)  (GetBValue(X))
#define  G(X)  (GetGValue(X))
#define  R(X)  (GetRValue(X))
// 姣旇緝澶曤
#define  MIN(X, Y) ((X) > (Y) ? (Y) : (X))
#define  MAX(X, Y) ((X) > (Y) ? (X) : (Y))
// 宸殑緇濆鍊?br/>#define  ABS(X, Y) ((X) < (Y) ? (Y) - (X) : (X) - (Y))

//////////////////////////////////////////////////////////////////
// 璁$畻涓棰滆壞涓垎閱忕殑宸€間莿鍜?br/>int   Difference(const COLORREF &c1, const COLORREF &c2)
{
 return ABS(R(c1), R(c2))
  +  ABS(G(c1), G(c2))
  +  ABS(B(c1), B(c2));
}
// 鍦ㄧ煩闃典腑鏌壘鍜屾寶瀹氶鑹茬殑宸埆鍦ㄥ宸寖鍥村唴鐨勤柟鏍?r, c)銆傚鏋滀笉瀛樺渜鍒欒繑鍥?錛?1,
// 鍚﹀垯榪斿洖0鍜屻棰滆壞鎵€鍦ㄦ柟鏍肩殑浣嶇疆銆?br/>int   FindColor(const COLORREF cl[SAMPLES], int &r, int &c)
{
 int i, j, k, iDiff;
 for(i = 0; i < ROWS; i ++)
 {
  for(j = 0 ; j < COLS; j ++)
  {
   // 涓嶇敤鍜出└鏍兼瘮杈?br/>   if(g_Grid[i][j] .iID == GRID_BLANK)
    continue;
   iDiff = 0;
   // 璁$畻璇鑹插拰鐫囧畾棰滆壞涔嬮輗鐨勫樊鍒?br/>   for(k = 0; k < SAMPLES; k ++)
   {
    iDiff += Difference(g_Grid[i][j] .cl[k], cl[k]);
   }
   if(iDiff <= TOLERANCE)
   {
    // 鎵懼埌
    r = i;
    c = j;
    return 0;
   }
  }
 }
 return - 1;
}
// 閫氳繃鍙栨牁鐐圭殑RGB鍊肩『瀹氫竴涓柟鏍肩殑綾誨埆ID(Hash)
int   GetGridID(const COLORREF cl[SAMPLES])
{
 // 鏍規嵁棰滆壞灝奚柟鏍煎垎綾?br/> for(int i = 0; i < SAMPLES; i ++)
 {
  // 絀烘牸鐨憑GB鍒嗛噺鑼富洿
  // R(44~74), G(49~91), B(102~103)
  if (R(cl[i]) > 44 && R(cl[i]) < 74
   && G(cl[i]) > 49 && G(cl[i]) < 91
   && B(cl[i]) > 102 && R(cl[i]) < 130)
  {
  }
  else
  {
   // 鏄惁宸茬粡瀛樺渜錛?br/>   int r, c;
   if(FindColor(cl, r, c) == - 1)
   {
    // 涓嶅瓨鍦?鍒欐坊鍔?br/>    g_iGridID ++;
    return g_iGridID;
   }
   else
   {
    // 瀛樺渜鍒欒繑鍥濱D
    return g_Grid[r][c] .iID;
   }
  }
 }
 // 絀烘牸
 return GRID_BLANK;
}
// 鈮憡閿欒
void   ReportError(CString strMsg)
{
 AfxMessageBox(strMsg);
}

// 鑾峰緱娓告垙鏂規牸鐗瑰緛鋨┼樀
BOOL  InitMatrix(HWND hWnd)
{
 // 鑾峰緱榪閃綽鐪婥Wnd
 CWnd* pWnd = CWnd ::FromHandle(hWnd);
 if(NULL == pWnd)
  return FALSE;
 // 榪閃綽鐪嬫渶灝忏寲濱嗭紵
 if(pWnd ->IsIconic())
 {
  pWnd ->ShowWindow(SW_RESTORE);
  Sleep(1048);
 }
 // 榪閃綽鐪嬫病鏈倨縺媧伙紵
 if(pWnd ->GetActiveWindow() ->GetSafeHwnd() != hWnd)
 {
  pWnd ->SetForegroundWindow();
  pWnd ->SetActiveWindow();
  Sleep(1048);
 }
 // 鑾峰緱榪閃綽鐪嬬殑CDC
 CDC* pDC = pWnd ->GetDC();
 if(pDC == NULL)
  return FALSE;
 // 鑾峰緱榪閃綽鐪嬫父鎴忏尯宸︿芄瑙掔涓€涓柟鏍肩殑涓績鍧愭爣錛堝鎴峰尯鐨徹級
 CPoint pt(0, 0);
 // 鑾峰緱瀵瑰簲鎵€鏈倨柟鏍肩殑鐗瑰緛
 for(int i = 0; i < ROWS; i ++)
 {
  // 鏂規牸宸︿芄瑙掔殑Y鍧愭爣
  pt .y = YCOFFSET + i * HEIGHT;
  for(int j = 0; j < COLS; j ++)
  {
   // 鏂規牸宸︿芄瑙掔殑X鍧愭爣
   pt .x = XCOFFSET + j * WIDTH;
   // 淇濆瓨鏂規牸涓績鍧愭爣錛堝鎴峰尯錛?br/>   g_Grid[i][j] .pt .Offset(pt .x + WIDTH / 2, pt .y + HEIGHT / 2);
   // 寰楀埌璇柟鏍肩殑鍙栨牁鐐圭殑RGB
   for(int k = 0; k < SAMPLES; k ++)
   {
    // 濡傛灉鐢ㄦ垌鍏抽棴濱嗙▼搴忕獥鍙?br/>    if(::IsWindow(hWnd))
    {
     g_Grid[i][j] .cl[k] = pDC ->GetPixel(pt .x + g_Offsets[k] .x, pt .y + g_Offsets[k] .y);
    }
    else
    {
     // 紿楀彝宸茬粡琚剮闀紒
     ReportError(_T("紿楀彝鍦ㄧ紕鐮佹椂琚剮闀紝璇鋒鏌綽榪炵湅鐨動姘鎬觥紝騫跺皾璇暸噸鏂扮紕鐮觥紒"));
     return FALSE;
    }
   }
   // 紜畾璇柟鏍肩被鍒獺ash
   g_Grid[i][j] .iID = GetGridID(g_Grid[i][j] .cl);
   TRACE(_T("%4d,"), g_Grid[i][j] .iID);
  }
  TRACE(_T("\r\n"));
 }
 return TRUE;
}

// 鍒柇涓釜鍦ㄥ俔涓€琛岋紙鍒楋級鐨勤柟鏍?蹇呴』鍚出被錛岸螭浠槸絀烘牸)涔嬮輗鏄惁瀛樺渜鐩寸嚎閫氳礬
BOOL  GridsConnected(int pivot, int l, int h, BOOL bHorizontal = TRUE)
{
 // 鏄惁鍚出被錛?br/> if(bHorizontal)
 {
  if(g_Grid[pivot][l] .iID != g_Grid[pivot][h] .iID)
   return FALSE;
 }
 else
 {
  if(g_Grid[l][pivot] .iID != g_Grid[h][pivot] .iID)
   return FALSE;
 }
 int L = MIN(l, h);
 int H = MAX(l, h);
 // 涓釜鏂規牸涔嬮輗蹇呴』閮芥槸絀烘牸
 for(int i = L + 1; i < H; i ++)
 {
  if(bHorizontal)
  {
   if(g_Grid[pivot][i] .iID != GRID_BLANK)
    return FALSE;
  }
  else
  {
   if(g_Grid[i][pivot] .iID != GRID_BLANK)
    return FALSE;
  }
 }
 return TRUE;
}
// 杈撳嚭璺緞
void  OutputPath(int r1, int c1, int r2, int c2)
{
 if(r1 == r2 && c1 == c2)
  return;
 //TRACE(_T(">>>(%d, %d) -> (%d, %d).\r\n"), r1, c1, r2, c2);
}
// 鍒柇涓釜鏂規牸(r1, c1)鍜?r2, c2)(涓嶈始鏄└鏍?鏄惁鍙互娑堥櫎
BOOL  Match(const int r1, const int c1, const int r2, const int c2)
{
 // 涓嶈始鏄└鏍?br/> if(g_Grid[r1][c1] .iID == GRID_BLANK
  || g_Grid[r2][c2] .iID == GRID_BLANK)
  return FALSE;
 // 蹇呴』鏄俔涓€縐嶆柟鏍?br/> if(g_Grid[r1][c1] .iID != g_Grid[r2][c2] .iID)
  return FALSE;
 // 璧峰鐐圭殑綾誨埆
 const int iID = g_Grid[r1][c1] .iID;

 // 瀹林滑鍦ㄥ俔涓€琛岋紵
 if(r1 == r2)
 {
  if(c1 <= c2)
  {
   // 瀹林滑涔嬮輗鏄惁鏈夌洿綰塊€氳礬錛?br/>   if(GridsConnected(r1, c1, c2))
   {
    OutputPath(r1, c1, r1, c2);
    return TRUE;
   }
   // 鏄惁鏈綏叾浠栭€氳礬錛?br/>   for(int i = 0; i < ROWS; i ++)
   {
    // 宸茬粡鍒柇榪淵簡
    if(i == r1)
     continue;
    // 涓釜鎷愮偣蹇呴』鏄└鏍?br/>    if(GRID_BLANK == g_Grid[i][c1] .iID
     && GRID_BLANK == g_Grid[i][c2] .iID)
    {
     // 灝嗕袱涓嫄鐐圭殑綾誨埆璁劇疆涓篿ID錛出扐鍚庡垽鏂槸鍚︽湁璺緞
     g_Grid[i][c1] .iID = g_Grid[i][c2] .iID = iID;
     if(GridsConnected(c1, i, r1, FALSE)
      && GridsConnected(i, c1, c2)
      && GridsConnected(c2, i, r1, FALSE))
     {
      // OK錛屻繕鍘熹被鍒?br/>      g_Grid[i][c1] .iID = GRID_BLANK;
      g_Grid[i][c2] .iID = GRID_BLANK;
      OutputPath(i, c1, r1, c1);
      OutputPath(i, c1, i, c2);
      OutputPath(i, c2, r1, c2);
      return TRUE;
     }
     else
     {
      // 涓嶉€氾紝鍒欐祴璇曚笅涓€鏉¤礬寰徹紝騫朵笖榪樺師鎷愮偣綾誨埆
      g_Grid[i][c1] .iID = GRID_BLANK;
      g_Grid[i][c2] .iID = GRID_BLANK;
     }
    }
   } // end for
   // 涓嶉€?br/>   return FALSE;
  }
  else
  {
   return Match(r1, c2, r1, c1);
  }
 }
 // 瀹林滑鍦ㄥ俔涓€鍒楋紵
 if(c1 == c2)
 {
  if(r1 <= r2)
  {
   if(GridsConnected(c1, r1, r2, FALSE))
   {
    OutputPath(r1, c1, r2, c1);
    return TRUE;
   }
   // 鏄惁鏈綏叾浠栭€氳礬錛?br/>   for(int i = 0; i < COLS; i ++)
   {
    if(i == c1)
     continue;
    // 蹇呴』涓虹└鏍?br/>    if( GRID_BLANK == g_Grid[r1][i] .iID
     && GRID_BLANK == g_Grid[r2][i] .iID)
    {
     //灝嗕袱涓嫄鐐圭殑綾誨埆璁劇疆涓篿ID錛出扐鍚庡垽鏂槸鍚︽湁璺緞
     g_Grid[r1][i].iID = g_Grid[r2][i] .iID = iID;
     if(GridsConnected(r1, i, c1)
      && GridsConnected(i, r1, r2, FALSE)
      && GridsConnected(r2, i, c1))
     {
      // OK, 榪樺師綾誨埆
      g_Grid[r1][i].iID = GRID_BLANK;
      g_Grid[r2][i].iID = GRID_BLANK;
      OutputPath(r1, c1, r1, i);
      OutputPath(r1, i, r2, i);
      OutputPath(r2, i, r2, c1);
      return TRUE;
     }
     else
     {
      // 涓嶉€氾紝鍒欐祴璇曚笅涓€鏉¤礬寰徹紝騫朵笖榪樺師鎷愮偣綾誨埆
      g_Grid[r1][i].iID = GRID_BLANK;
      g_Grid[r2][i].iID = GRID_BLANK;
     }
    }
   }
   // 涓嶉€?br/>   return FALSE;
  }
  else
  {
   return Match(r2, c1, r1, c1);
  }
 }
 // 涓嶅渜鍚屼竴鍒楁守鑰呰
 // 閫氳繃鍦ㄦ嫄鐐規瀯閫豺拰鏂規牸綾誨埆鐩稿俔鐨勤柟鏍鹼紝鐒跺悗鍒柇瀹林滑鏄惁鑱旒€氾紙鏈€澶?鏉$嚎錛屾渶灝?涓潯
 //  鍏朵腑涓€鏉¢€€鍖栵級
 for(int i = 0; i < ROWS; i ++)
 {
  // 鎷愮偣1蹇呴』涓虹└鏍?br/>  if(g_Grid[i][c1] .iID != GRID_BLANK)
   continue;
  // 璧風偣鍜屾嫄鐐?鑱旒€氬悧錛?br/>  g_Grid[i][c1] .iID = iID;
  if(GridsConnected(c1, i, r1, FALSE))
  {
   // 鏄殑錛屾嫄鐐?蹇呴』涓虹└鏍?br/>   if(g_Grid[i][c2] .iID != GRID_BLANK)
   {
    // 榪樺師鎷愮偣1鐨動被鍒紝灝濊瘯涓嬩竴鏉¤礬寰?br/>    g_Grid[i][c1] .iID = GRID_BLANK;
    continue;
   }
   // 鎷愮偣2鍜屾嫄鐐?鑱旒€氬悧錛?br/>   g_Grid[i][c2] .iID = iID;
   if(GridsConnected(i, c1, c2))
   {
    // 鏄殑錛出扐鍚庡垽鏂嫄鐐?鍜?r2, c2)鏄惁鑱旒€?br/>    if(GridsConnected(c2, i, r2, FALSE))
    {
     // 鏄殑錛屻礬寰勤壘鍒幫紝榪樺師鎷愮偣綾誨埆
     g_Grid[i][c2] .iID = GRID_BLANK;
     g_Grid[i][c1] .iID = GRID_BLANK;
     //
     OutputPath(r1, c1, i, c1);
     OutputPath(i, c1, i, c2);
     OutputPath(i, c2, r2, c2);
     return TRUE;
    }
   }
   // 鎷愮偣2鍜屾嫄鐐?涓嶉€氾紝榪樺師鎷愮偣綾誨埆錛岸皾璇曚笅涓€琛?br/>   g_Grid[i][c1] .iID = GRID_BLANK;
   g_Grid[i][c2] .iID = GRID_BLANK;
  }
  else
  {
   // 璧風偣鍜屾嫄鐐?涓嶈仈閫氾紝榪樺師鎷愮偣綾誨埆
   g_Grid[i][c1] .iID = GRID_BLANK;
  }
 } // end for
  
 for(i = 0; i < COLS; i ++)
 {
  // 鎷愮偣1蹇呴』涓虹└鏍?br/>  if(g_Grid[r1][i] .iID != GRID_BLANK)
   continue;
  // 璧風偣鍜屾嫄鐐?鑱旒€氬悧錛?br/>  g_Grid[r1][i] .iID = iID;
  if(GridsConnected(r1, i, c1))
  {
   // 鏄殑錛屾嫄鐐? 蹇呴』涓虹└鏍?br/>   if(g_Grid[r2][i] .iID != GRID_BLANK)
   {
    // 榪樺師鎷愮偣1鐨動被鍒紝灝濊瘯涓嬩竴鏉¤礬寰?br/>    g_Grid[r1][i] .iID = GRID_BLANK;
    continue;
   }
   // 鎷愮偣2鍜屾嫄鐐?鑱旒€氬悧錛?br/>   g_Grid[r2][i] .iID = iID;
   if(GridsConnected(i, r1, r2, FALSE))
   {
    // 鏄殑錛出扐鍚庡垽鏂嫄鐐?鍜?r2, c2)鏄惁鑱旒€?br/>    if(GridsConnected(r2, i, c2))
    {
     // 鏄殑錛屻礬寰勤壘鍒幫紝榪樺師鎷愮偣綾誨埆
     g_Grid[r1][i] .iID = GRID_BLANK;
     g_Grid[r2][i] .iID = GRID_BLANK;
     //
     OutputPath(r1, c1, r1, i);
     OutputPath(r1, i, r2, i);
     OutputPath(r2, i, r2, c2);
     return TRUE;
    }
   }
   // 鎷愮偣2鍜屾嫄鐐?涓嶉€氾紝榪樺師鎷愮偣綾誨埆錛岸皾璇曚笅涓€琛?br/>   g_Grid[r1][i] .iID = GRID_BLANK;
   g_Grid[r2][i] .iID = GRID_BLANK;
  }
  else
  {
   // 璧風偣鍜屾嫄鐐?涓嶉€氾紝鍒欒繕鍘熸嫄鐐圭被鍒紝灝濊瘯涓嬩竴鏉¤礬寰?br/>   g_Grid[r1][i] .iID = GRID_BLANK;
  }
 }
 return FALSE;
}
// 妯℃嫙鐐瑰嚮涓榧豹爣銆傚疄闄呮粲鍐墊湁鐐逛笉涓€鏍鳳紝榧豹爣娌℃湁鐐瑰嚮涓錛屻嚦灝戠湅璧鋒撒鏄繖鏍楓€備簨瀹炰芄鍙槸鐐瑰嚮濱嗙涓€嬈★紝鍚庝竴嬈℃病鏈夌偣鍑匯€傜敤SendInput闀涓€鏍楓€?br/>void  MouseClick(const CPoint& p1, const CPoint& p2)
{
 // 灝骨鎴峰尯鍧愭爣杞崲涓哄睆騫曞潗鏍?br/> CPoint pp1(p1), pp2(p2);
 ::ClientToScreen(g_hLLKWnd, &pp1);
 ::ClientToScreen(g_hLLKWnd, &pp2);
 // 鐐瑰嚮涓榧豹爣
 /* */
 ::SetCursorPos(pp1 .x, pp1 .y);
 mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
 Sleep(100);
 ::SetCursorPos(pp2 .x, pp2 .y);
 mouse_event( MOUSEEVENTF_LEFTDOWN , 0, 0, 0, 0);
 mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

 /*
 INPUT clk;
 ZeroMemory(&clk, sizeof(clk));
 clk .type  = INPUT_MOUSE;
 clk . mi .dwFlags =  MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
 clk . mi .dwFlags =  MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
 ::SetCursorPos(pp1 .x, pp1 .y);
 VERIFY(1 == SendInput(1, &clk, sizeof(clk)));
 Sleep(300);
 ::SetCursorPos(pp2 .x, pp2 .y);
 VERIFY(1 == SendInput(1, &clk, sizeof(clk)));
 Sleep(300);
 */
}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=370124


日曆

<< 2007·04 >>

Sun

Mon

Tue

Wen

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

控制面板

最近引用

    Search

    站點統計

    • 文章總數:1048
    • 評論總數:32
    • 引用總數:0
    • 瀏覽總數:Errorvisit
    • 當前樣式:default
    • 當前語言:UTF-8

    鏈接

    圖標彙集


    Powered By Z-Blog 1.6 Final Build 60816

    Copyright 2007 LetsFun.info.