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开源发布出来。

 

 

一、C语言自我YY 1)、C语言是许多高级计算机语言的基础,学好C语言能更好的学习其他高级语言,为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用,Linux十分强大。 2)、C语言是一种计算机程序设计语言。具有高级语言的特点,又具有汇编语言的特点。C语言可作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 3)、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。 4)、C语言是面向过程语言,C语言通过windows/linux平台下编译的,是直接运行在windows/linux平台下的,而XX始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作,像XX就不能编写Windows病毒。 5)、如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言 6、很多编译器,几乎所有操作系统Windows,Linux,Unix的大部分代码都是CC在背后做了很多东西的,也许开发游戏用C++,安卓用XX更为合适,图形界面的用其他语言开发效率更高一些(因为他们封装了很多东西),但同样的原因导致略微接近底层的功能其他语言根本干不了!Windows的API都是按照C语言的格式给的,这也很能说明问题!嵌入式开发更是离不了C语言!纵观电脑发展几十年,C语无所不能呀!
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页