SwitchToThisWindow 激活指定窗口

SwitchToThisWindow能够激活一个指定程序的窗口,使这个窗口弹出到屏幕的最前面。

如果待激活的窗口是处于最小化状态,这个函数能使窗口还原并在屏幕中最前。

SwitchToThisWindow是在User32.DLL中导出的。

函数原型:

VOID SwitchToThisWindow(HWND hWnd,BOOL fAltTab);

//参数说明
hWnd        要激活的窗口句柄;
fAtlTab        是否还原最小化窗口

//使用说明
//想要还原最小化窗口,并在前端显示,传入fAtlTab为TRUE就可以了

调用说明:

//没有头文件,需要自己声明函数
typedef void (WINAPI *PSWITCHTOTHISWINDOW) (HWND,BOOL);
PSWITCHTOTHISWINDOW WitchToThisWindow;
HMODULE hUser32 = GetModuleHandle(_T("user32"));
SwitchToThisWindow=(PSWITCHTOTHISWINDOW)GetProcAddress(hUser32,"SwitchToThisWindow");

//调用
SwitchToThisWindow(g_hWnd,TRUE);

PS:

如果导出错误,则自己手动查看下user32的导出函数表

时间: 2024-08-04 10:09:47

SwitchToThisWindow 激活指定窗口的相关文章

VC++ 模拟"CLICK事件"关闭指定窗口

今天修改一个工具时遇到一个有意思的问题,打开某个窗口时弹出一些不相关的窗口,需要用户自己去手动点击后才能继续,保证不了自动处理,现在讲解决方式记录一下,如下 主要使用windows提供的FindWindow和FindWindowEx,参考代码如下 wchar_t szClassName[256]; //用于记录窗口标题 StringCchPrintf(szClassName, 256, L"Client%02d - VMCalc", m_Index + 1); HWND hwndDlg

VC中判断指定窗口是否被其他窗口遮挡

本来是想判断当前窗口是否在最前面,无奈办法用尽就是不行,于是想换个思路:判断指定窗口是否被其他窗口遮挡.然后掘网三尺,找到了这个: bool CTestTray2Dlg::IsCoveredByOtherWindow(HWND hWnd){ RECT rcTarget;  ::GetWindowRect(hWnd, &rcTarget); bool isChild = (WS_CHILD == (::GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD));

除了创建时指定窗口位置之外,还有3种移动窗口位置的办法(移动的同时往往可以改变窗口大小)(SetWindowPos最有用,它有许多标志位)

首先,在创立窗口对象的时候,CreateWindowEx就可以指定窗口的位置.除此之外,还有三种方法可以改变窗口的位置: procedure TWinControl.CreateWindowHandle(const Params: TCreateParams); begin // 根据之前准备的Params参数使用API创建窗口.其10个参数都是Params的参数,0表示Menu,WindowClass的十项内容只用到了hInstance一项 // important 控件移到正确的显示位置,就

atitit.激活一个窗口总结 swing java .net php

atitit.激活一个窗口总结 1     激活窗口:鼠标激活vswindows消息激活... 1 1.1      Web框架激活... 1 2     退出激活窗口热键(dbg模式)... 1 3     俩个窗口激活优先级... 2 4     Web控件激活-code. 3 1       激活窗口:鼠标激活vs windows消息激活 原则上尽可能的使用消息激活.. WinGet, active_id2, ID, ahk_classSunAwtFrame ;MsgBox%active_

SDL 在指定窗口中绘图

SDL默认会自动创建绘图窗口,可以通过设置环境变量,让其在指定窗口绘图.代码如下: [cpp] view plaincopyprint? char sdl_var[64]; sprintf(sdl_var, "SDL_WINDOWID=%d", m_screen.GetSafeHwnd());//主窗口句柄 SDL_putenv(sdl_var); 注意:环境设置必需在SDL_Init(...)之前进行,否则不起作用

WinAPI: GetClassName - 获取指定窗口的类名

WinAPI: GetClassName - 获取指定窗口的类名 //声明: GetClassName( hWnd: HWND; {指定窗口句柄} lpClassName: PChar; {缓冲区} nMaxCount: Integer {缓冲区大小} ): Integer; {返回类名大小; 失败返回 0} -------------------------------------------------------------------------------- //测试1: 新建一个工程

WPF编程,指定窗口图标、窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法。

原文:WPF编程,指定窗口图标.窗口标题,使得在运行状态下任务栏显示窗口图标的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87966584 WPF默认的窗口,如果采用默认的标题与图标,运行状态下在任务栏中显示的图标就比较难看~ 如果要更改在任务栏的显示图标,需要设定窗口的Icon属性.这里给出一种方法. 方法一.前台指定? 1)添加图片到项目中 2)在窗口属性中设置icon 方法二.

GetWindowTextA - 将指定窗口的标题条文本拷贝到一个缓存区内

函数原型:Int GetWindowTextA(HWND hWnd,LPTSTR lpString,Int nMaxCount); 该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内.如果指定的窗口是一个控件,则拷贝控件的文本.但是,GetWindowText可能无法获取外部应用程序中控件的文本,获取自绘的控件或者是外部的密码编辑框很有可能会失败. 参数/GetWindowTextA hWnd:带文本的窗口或控件的句柄. lpString:指向接收文本的缓冲区的指针. nMaxCount

获取指定窗口内的文本

如何编程实现获取另一个程序里文本控件的内容? 除去利用Debug API调试程序下断点之类比较复杂的方法,我们还可以利用API函数轻松实现这样的功能. 1.定义这样的结构体存放进程信息 struct ProcessWindow { DWORD dwProcessId; HWND hwndWindow; }; 2.创建进程 //创建进程 if ( !CreateProcess( FileName,NULL,NULL,NULL,FALSE, 0,NULL,WorkPath,&si,&pi )