搜索
bottom↓
回复: 4

求助:BCB,模拟鼠标事件问题

[复制链接]

出0入0汤圆

发表于 2011-6-26 21:47:17 | 显示全部楼层 |阅读模式
以下代码,在一般窗体中能模拟鼠标事件,但在桌面上模拟不响应,我的操作系统是WIN7,请问哪位有没有更好的方式?多谢!
mouse_event(MOUSEEVENTF_LEFTDOWN,   0,   0,   0,   0);     //模拟鼠标左键按下事件
mouse_event(MOUSEEVENTF_LEFTUP,   0,   0,   0,   0);     //模拟鼠标左键松开事件

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2011-6-29 15:45:49 | 显示全部楼层
继续求助……,期待高人出现

玩WINDOWS游戏,上网全部没问题。
但点击桌面或者WINDOWS文件夹只能响应一次。
代码如下,用空格键模拟鼠标左键。
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "windows.h"
#include "shellapi.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include <Mmsystem.h>
//---------------------------------------------------------------------------


TForm1 *Form1;
int f;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void WINAPI _timeSetEvent(UINT uTimerID,UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
POINT lpPoint;
GetCursorPos(&lpPoint);
SetCursorPos(lpPoint.x, lpPoint.y);
        if(GetAsyncKeyState(VK_SPACE)&0x8000 )
        {
        if(f==0)
        {
        f=1;
         mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
        }
        }
        else
        {
                if(f==1)
                {
                f=0;
                mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
                }
        }
}
void __fastcall TForm1::FormShow(TObject *Sender)
{
MMRESULT mr = timeSetEvent( 15,1, _timeSetEvent,0,TIME_PERIODIC); //15MS回调
f=0;
}
//---------------------------------------------------------------------------

出0入0汤圆

发表于 2011-6-29 15:58:48 | 显示全部楼层
void MouseClick(int x,int y)
{
    SetCursorPos(x,y);
    mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
    Sleep(10);
    mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
}

VC验证功能正常

出0入0汤圆

 楼主| 发表于 2011-6-29 16:51:19 | 显示全部楼层
谢谢指点!
在桌面点击还是不行,我生成了一个EXE文件,按下 空格 时,窗体为红色+模拟左键按下,放开时为为WINDOWS窗体颜色+模拟左键放开,颜色变化正常,但点击功能没有实现。

点击此处下载 ourdev_653292H1G14U.zip(文件大小:4.10M) (原文件名:Release.zip)

出0入0汤圆

 楼主| 发表于 2011-6-29 17:24:54 | 显示全部楼层
最关键是在别的软件界面使用正常,只有在桌面和WINDOWS文件夹里不正常。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 18:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表