国庆节开始学C++,发现有很多地方和C#不一样。
请问:
我一段代码本来是放在“llk_wg.cpp"中的,后来放在“GameProc.h”。其中有一段代码居然可以删除的,而且运行后不报错。不理解请各位帮我看看。我认为第一次执行成功以后在项目的某个文件夹里面有记录了,下一次执行的时候就接着执行了是这样吗?
HWND gameh;
RECT r1;
POINT p;
void StartGame()
{
// TODO: 在此添加控件通知处理程序代码
//获取窗口句柄
gameh=::FindWindowA(NULL,"QQ游戏 - 连连看角色版");
::GetWindowRect(gameh,&r1);
//就是下面被注释掉的的两行
//this->m_x=r1.left;this->m_y=r1.top;
//UpdateData(false);
GetCursorPos(&p);
SetCursorPos(651+r1.left,575+r1.top);
/*MOUSEEVENTF_LEFTDOWN
Specifies that the left button is down.
MOUSEEVENTF_LEFTUP
Specifies that the left button is up.*/
Sleep(200);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
SetCursorPos(p.x,p.y);
}
请问:
我一段代码本来是放在“llk_wg.cpp"中的,后来放在“GameProc.h”。其中有一段代码居然可以删除的,而且运行后不报错。不理解请各位帮我看看。我认为第一次执行成功以后在项目的某个文件夹里面有记录了,下一次执行的时候就接着执行了是这样吗?
HWND gameh;
RECT r1;
POINT p;
void StartGame()
{
// TODO: 在此添加控件通知处理程序代码
//获取窗口句柄
gameh=::FindWindowA(NULL,"QQ游戏 - 连连看角色版");
::GetWindowRect(gameh,&r1);
//就是下面被注释掉的的两行
//this->m_x=r1.left;this->m_y=r1.top;
//UpdateData(false);
GetCursorPos(&p);
SetCursorPos(651+r1.left,575+r1.top);
/*MOUSEEVENTF_LEFTDOWN
Specifies that the left button is down.
MOUSEEVENTF_LEFTUP
Specifies that the left button is up.*/
Sleep(200);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
SetCursorPos(p.x,p.y);
}
解决方案 »
- vc6 BASE Exclude_From_Build是什么意思呀?
- 用VC/MFC 网络编程 经常会出现那些错误,怎么解决~~老师要求上网找的~
- 新手请问为什么找不到PlaySound啊?
- 问个简单的问题。关于DialogBox的。
- (奇怪)UDP传输中,收到的包的数据与发送时的不一样?在不同的ADSL线路下结果会不一样
- 如何用SendMessage 更新ListCtrl?
- 帮帮我吧——我快郁闷死了 !!
- 求问VC6中切换到代码窗口的快捷键是啥?
- 菜鸟求助:mfc中添加excel类,有点老问题,但是实在搞不定
- 帮我提提建议,我还有一年的时间,到时候需要跳槽,请问COM ,DELPHI+BCB(数据库),XML,WinStock,这四样东西如果我想挑两样学的话该挑哪两样比较容易找的到工作?
- 非模态对话框销毁问题
- 有没有人,希望将来自己腾达的时候,把自己使用盗版软件的费用补上!
RECT r1;
POINT p;
void StartGame()
{
// TODO: 在此添加控件通知处理程序代码
//获取窗口句柄
gameh=::FindWindowA(NULL,"QQ游戏 - 连连看角色版");
::GetWindowRect(gameh,&r1);
this->m_x=r1.left;this->m_y=r1.top;
UpdateData(false);
GetCursorPos(&p);
SetCursorPos(651+r1.left,575+r1.top);
/*MOUSEEVENTF_LEFTDOWN
Specifies that the left button is down.
MOUSEEVENTF_LEFTUP
Specifies that the left button is up.*/
Sleep(200);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
SetCursorPos(p.x,p.y);
}然后我新建了头文件“GameProc.h”,把代码放到了一个方法里
void CLlk_wgDlg::OnBnClickedButton1()
{
StartGame();
}
#include "stdafx.h"HWND gameh;
RECT r1;
POINT p;
void StartGame()
{
// TODO: 在此添加控件通知处理程序代码
//获取窗口句柄
gameh=::FindWindowA(NULL,"QQ游戏 - 连连看角色版");
::GetWindowRect(gameh,&r1);
//this->m_x=r1.left;this->m_y=r1.top;
//UpdateData(false);
GetCursorPos(&p);
SetCursorPos(651+r1.left,575+r1.top);
/*MOUSEEVENTF_LEFTDOWN
Specifies that the left button is down.
MOUSEEVENTF_LEFTUP
Specifies that the left button is up.*/
Sleep(200);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
SetCursorPos(p.x,p.y);
}//this->m_x=r1.left;this->m_y=r1.top;
//UpdateData(false);这两行在我没改之前是要使用的,但是放到GameProc.h里面后说没有标示,我就删掉,结果程序一样能运行。