MFC在线程调用按键检测+别的自定义类发送主对话框进行按键模拟

5 篇文章 0 订阅

目录

 

一、参考:

1、MFC中 自定义类访问主对话框控件的方法+别的自定义类发送主对话框进行按键模拟

二、操作: 

1、MFC在线程调用按键检测

2、别的自定义类发送主对话框进行按键模拟


 

一、参考:

1、MFC中 自定义类访问主对话框控件的方法+别的自定义类发送主对话框进行按键模拟

https://mp.csdn.net/console/editor/html/105088268

①总结:适合多看

 

二、操作: 

1、MFC在线程调用按键检测

1、首先提前创建好按键检测事件,可以看之前的CSDN文章

BOOL CTest1Dlg::PreTranslateMessage(MSG* pMsg)
{
	// TODO: 在此添加专用代码和/或调用基类
	if (pMsg->message==WM_KEYUP)
	{
		switch (pMsg->wParam)
		{
		case VK_F5:
			AfxMessageBox(L"F5");
			SetTimer(1,2000,NULL);
			break;
		}
	}
	return CDialogEx::PreTranslateMessage(pMsg);
}

2、开启线程

		pThread=FastThreadRun(ThreadFunction,this);

 

void ThreadFunction(void *pd)
{
	CMy01_MFCAndFlashDlg *pThis=(CMy01_MFCAndFlashDlg*)pd;
	m_run=true;
	while (m_run==true)
	{
        //1 Left_queRen
		if(bDISts[inputChannel1]==inputOpen&&b_lastDISts[inputChannel1]!=inputOpen)
		{
			::PostMessage(pThis->m_hWnd,WM_KEYUP,81,NULL);
		}
		else
		{
			b_lastDISts[inputChannel1]=bDISts[inputChannel1];
    	}
    }
}

 

3、在需要的地方调用这个按键事件(使用一个类里面的才可以)

	::PostMessage(this->m_hWnd,WM_KEYUP,VK_F5,NULL);

运行结果:我在初始化对话框里面就写了调用按键检测

 

2、别的自定义类发送主对话框进行按键模拟

				AfxGetApp()->m_pMainWnd->PostMessage(WM_KEYUP,48+0,NULL);

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值