FindWindow使用方法_find do

FindWindow使用方法_find do查找指定窗口 TCHARszTitle[MAX_PATH]={0}; HWNDhwnd=::FindWindow(TEXT(“#32770”),TEXT(“飞鸽传书IPMessenger”)); if(hwnd!=NULL) { //修改窗口标题 ::SetW…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

查找指定窗口								
								
TCHAR szTitle[MAX_PATH] = {0};								
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));								
if(hwnd != NULL)								
{								
	//修改窗口标题							
	::SetWindowText(hwnd,"新的窗口标题");							
}								
else								
{								
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);							
}								
								
								
窗口控制								
								
TCHAR szTitle[MAX_PATH] = {0};								
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));								
if(hwnd != NULL)								
{								
	typedef void (WINAPI *PSWITCHTOTHISWINDOW) (HWND,BOOL);							
	PSWITCHTOTHISWINDOW SwitchToThisWindow;							
	HMODULE hUser32=LoadLibrary("user32.dll");							
	SwitchToThisWindow=(PSWITCHTOTHISWINDOW)GetProcAddress(hUser32,"SwitchToThisWindow");							
								
	//切换窗口							
	SwitchToThisWindow(hwnd,false);							
								
	Sleep(3000);							
	//关闭窗口 							
	::SendMessage(hwnd,WM_CLOSE,0,0);							
}								
else								
{								
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);							
}								

查找子窗口								
								
TCHAR szTitle[MAX_PATH] = {0};								
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));								
if(hwnd != NULL)								
{								
	//查找子窗口							
	HWND hEdit = FindWindowEx(hwnd,NULL,"Edit","");							
	//设置标题							
	::SetWindowText(hEdit,"文本框新的标题");							
	//修改内容							
	::SendMessage(hEdit,WM_SETTEXT,0,(LPARAM)"新的内容");							
}								
else								
{								
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);							
}								
								
								
TCHAR szTitle[MAX_PATH] = {0};								
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));								
if(hwnd != NULL)								
{								
	//查找子窗口							
	HWND hEdit =::GetDlgItem(hwnd,0x3E9);							
	//获取内容							
	::SendMessage(hEdit,WM_GETTEXT,MAX_PATH,(LPARAM)szTitle);							
	//修改内容							
	::SendMessage(hEdit,WM_SETTEXT,0,(LPARAM)"新的内容");							
}								
else								
{								
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);							
}								
//
枚举子窗口								
								
BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM lParam)  								
{  								
    TCHAR szTitle[MAX_PATH] = {0};								
    ::GetWindowText(hWnd,szTitle,MAX_PATH); 								
    MessageBox(NULL,szTitle,"[子窗口]",MB_OK);  								
    return true;  								
}  								
								
VOID EnumChildWindow()								
{								
	TCHAR szTitle[MAX_PATH] = {0};							
	HWND hWnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));							
	if(hWnd != NULL)							
	{							
		::EnumChildWindows(hWnd,EnumChildProc,0);  						
	}							
	else							
	{							
		::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);						
	}							
}								
/
枚举所有打开窗口						
						
BOOL CALLBACK EnumOpenWindowProc(HWND hWnd,LPARAM lParam)  						
{  						
    TCHAR szTitle[MAX_PATH] = {0};						
    ::GetWindowText(hWnd,szTitle,MAX_PATH); 						
    MessageBox(NULL,szTitle,"[窗口]",MB_OK);  						
    	if(strcmp(szTitle,"飞鸽传书  IP Messenger") == 0)					
	{					
		MessageBox(NULL,szTitle,"[窗口]",MB_OK);  				
		return FALSE;				
	}					
    return TRUE;  						
}  						
VOID EnumOpenWindows()						
{						
	EnumWindows(EnumOpenWindowProc,NULL);					
}						
/
隐藏控制台	
	
#pragma   comment(linker,"/subsystem:\"windows\"  /entry:\"mainCRTStartup\""   ) 	
	
模拟鼠标单击	
	
	
TCHAR szTitle[MAX_PATH] = {0};	
RECT r;	
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));	
if(hwnd != NULL)	
{	
	HWND hButton = FindWindowEx(hwnd,NULL,"Button","刷新(&R)");
	
	//获取窗口坐标
	::GetWindowRect(hButton,&r);
	
	printf("%d %d",r.left,r.top);
	
	//设置鼠标的位置
	::SetCursorPos(r.left+10,r.top+10);
	Sleep(2000);
	//鼠标左键单击
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//点下左键 
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//松开左键
}	
else	
{	
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);
}	
///
模拟键盘点击(搜索:键盘键与虚拟键码对照表)	
	
	
TCHAR szTitle[MAX_PATH] = {0};	
RECT r;	
HWND hwnd = ::FindWindow(TEXT("#32770"),TEXT("飞鸽传书  IP Messenger"));	
if(hwnd != NULL)	
{	
	//HWND hButton = FindWindowEx(hwnd,NULL,"Button","刷新(&R)");
	HWND hEdit =::GetDlgItem(hwnd,0x3E9);
	
	//获取窗口坐标
	::GetWindowRect(hEdit,&r);
	
	//设置鼠标的位置
	::SetCursorPos(r.left+1,r.top+1);
	Sleep(1000);
	
	//鼠标左键单击
	mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//点下左键 
	mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//松开左键
	
	//模拟键盘
	keybd_event(97,0,0,0);
	keybd_event(97,0,KEYEVENTF_KEYUP,0);
	Sleep(1000);
	keybd_event(66,0,0,0);
	keybd_event(66,0,KEYEVENTF_KEYUP,0);
	Sleep(1000);
	keybd_event(16,0,0,0);
	keybd_event(67,0,0,0);
	keybd_event(67,0,KEYEVENTF_KEYUP,0);
	keybd_event(16,0,KEYEVENTF_KEYUP,0);
	
}	
else	
{	
	::MessageBox(NULL,TEXT("窗口没有找到"),TEXT("[ERROR]"),MB_OK);
}	

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170225.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS6.5下安装tomcat7

    CentOS6.5下安装tomcat7

    2021年6月11日
    79
  • 保护ASP.NET 应用免受 CSRF 攻击

    保护ASP.NET 应用免受 CSRF 攻击

    2021年9月11日
    59
  • 单例模式singleton_单例模式例子

    单例模式singleton_单例模式例子单例模式 Singleton动机模式定义实例结构要点总结笔记动机在软件系统中,经常有一些特殊的类,必须保证它们在系统中只存在一个实例,才能保证他们的逻辑正确性、以及良好的效率如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?模式定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。实例单例class Singleton{private : Singleton(); Singleton(const Singleton& other);public:

    2022年8月9日
    10
  • ajax常见的面试问题[通俗易懂]

    ajax常见的面试问题[通俗易懂]1:什么是ajax?ajax作用是什么?异步的javascript和xmlAJAX是一种用于创建快速动态网页的技术。ajax用来与后台交互2:原生jsajax请求有几个步骤?分别是什么//创建XMLHttpRequest对象varajax=newXMLHttpRequest();//规定请求的类型、URL以及是否异步处理请求。ajax…

    2022年8月27日
    5
  • 购物车功能模块设计图_超市购物车设计

    购物车功能模块设计图_超市购物车设计一、 需求分析 一:购物车模块功能需求 客户在浏览网页的时候,当遇到喜欢的商品、又不急于结账而是继续浏览货物时。需要一个购物篮来存储她已经选中的商品。以便于结账或用于对比商品的详细参数。用户在购物车页面中需要对购物车中的商品添加数量、移除商品、清空购物车等功能。

    2025年5月26日
    5
  • 详述 Java 语言中的格式化输出

    详述 Java 语言中的格式化输出1前言相信大家在学习Java语言的时候,见到的第一条输出语句,就是:System.out.println(“HelloWorld”);毫无疑问,该语句的作用就是将HelloWorld打印到控制台,格式也非常的简单,直接按原格式输出。但是,如果将输出的内容换成“数值”或者“日期”呢?其打印的格式是否会有什么不同的变化呢?在本文中,就让咱们一起看一看在Java语言中,数值和日期是如何进行格

    2022年7月8日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号