C++&Qt笔记-完美屏蔽IDEA中accept2弹窗(无需重装软件、无需重装系统)

最近放公司的电脑,不知道怎么回事用IDEA开发java程序,一运行就弹这玩意:

一个是java.exe在弹,另外一个是idea64.exe在弹

百度了一大把,发现大神们都说只能重装系统,或者重装软件才能解决。

感觉这种方法有点坑。身为C++程序员的我,不能这么搞,要充分利用C++的知识去解决Java方面的问题。

不知道被Java程序员看到了,会不会打我。

思路是这样的。

找到此窗口的句柄。

再通过窗口句柄找确定按钮这个句柄。然后对其发出按下的消息。即可

相关代码如下:

void WindowHand::checkIdeaAndAcceptStatus()
{
	//弹窗1
	{
		HWND hwnd = FindWindowA(nullptr, "D:\\IntelliJ IDEA 2018.3.4\\bin\\idea64.exe");
		qDebug() << "hwnd: " << hwnd;
		if(hwnd){

			//找子句柄
			HWND okBtnHwnd = FindWindowEx(hwnd, nullptr, nullptr, L"确定");
			qDebug() << "okBtnHwnd:" << okBtnHwnd;
			PostMessage(okBtnHwnd, BM_CLICK, 0, 0);
		}
	}

	//弹窗2
	{
		HWND hwnd = FindWindowA(nullptr, "C:\\Program Files\\Java\\jdk1.8.0_60\\bin\\java.exe");
		qDebug() << "hwnd: " << hwnd;
		if(hwnd){

			//找子句柄
			HWND okBtnHwnd = FindWindowEx(hwnd, nullptr, nullptr, L"确定");
			qDebug() << "okBtnHwnd:" << okBtnHwnd;
			PostMessage(okBtnHwnd, BM_CLICK, 0, 0);
		}
	}
}

效果还是杠杆的。后期将做成exe开源发布出来。

 

 

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页