⑴ 如何截取活动窗口如何截取全屏幕
有以下方法:
一、代替屏幕截图软件按下PrintScreen键,将会截取全屏幕画面。用鼠标点击“开始→程序→附件→画图”,将会打开“画图”程序,点击该窗口中的“编辑→粘贴”菜单,这时会弹出一个“剪贴板中的图像比位图大,是否扩大位图?”对话框,点击“是”,就会将该截取的图片粘贴到其中。再按下Ctrl+S键将图片保存即可。
二、抓取当前活动窗口在使用PrintScreen进行屏幕抓图时,同时按下Alt键,就会只抓取当前活动窗口,然后按上述方法保存即可。
三、截取游戏画面我们都知道用键盘上的PrintScreen键可以抓取系统中的桌面图案,然后在“画图”程序或是Photoshop之类的图像处理软件中可以“粘贴”出来。
⑵ 如何获得窗口句柄
有多种方法,
1.通过窗口类名FindWindow
2.通过窗口标题名FindWindow
3.用spy++软件抓取
4.通过其他条件GetWindow
5.遍历窗口EnumWindow
⑶ vivo手机小窗口怎么弄出来
小窗模式开启方法:
1、探索桌面下,屏幕中间上滑进入全部应用界面,长按应用,拖到屏幕右上角“开启小窗”四个字上方,即可开启小窗;
2、在应用界面时,从屏幕左下角(靠近侧边位置)向上滑动进入全部应用界面,长按应用图标,等待图标悬浮于应用界面时松手,即可开启小窗;
3、屏幕底部上滑悬停进入卡片式后台,点击应用名称右侧箭头,点击小窗(支持小窗模式的应用才会显示“小窗”两字);
4、玩游戏时可以三指上滑,调起画中画小窗。
注:经典桌面下的标准桌面风格下仅支持第3种方法,您可在设置--桌面、锁屏与壁纸--桌面设置--桌面风格中切换为抽屉风格体验更多方法。
⑷ 如何获取窗口标题栏的高度和窗口边框宽度
按Win+R打开运行,输入regedit回车打开注册表编辑器;
展开 HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics;
在右侧找到CaptionHeight字符串值,它代表窗口标题栏的高度,其值计算方法为:-15*期望高度(像素)。比如,希望窗口标题栏高度为18,那么其值应该为-15*18=-270;
4
修改完成后注销重新登录就可以看到效果。
滚动条宽度对应的注册表键值为ScrollWidth,其计算方法与CaptionHeight相同。
修改前后对比如下图所示:
⑸ 如何获得这个窗口的CWnd类或HWND句柄
句柄获取方法(获取该窗口的句柄后,即可向该窗口类类发送消息、处理程序):0。获取所在类窗口的句柄:this->m_hwnd1。主窗口的句柄:无论在主窗口类内,还是子窗口类内,获取主窗口句柄的方法:AfxGetMainWnd()->m_hWnd,如:::SendMessage(AfxGetMainWnd()->m_hWnd , WM_MY_DOSOME , 0 ,(LPARAM)i);在窗口类中this->m_hWnd或者this->GetSafeHwnd()2。子窗口句柄:用FindWindow,(只要知道子窗口的名字即可)如: ::FindWindow(NULL,WindowsName) 返回找到的窗口的句柄寻找当前窗口是否在运行windowname的程序,该名字为窗口名字,如:CWnd* pWnd=FindWindow(NULL,_T("清芝--支票机"));//GetSafeHwnd函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。通过下面的例子来看其理由
⑹ c#如何获得系统所有窗口名称(包括隐藏窗口)
获得窗体的句柄可以用GetWindow方法获得窗体标题用GetWindowText方法,显示隐藏某个窗体用ShowWindow方法,给你举个例子
using System.Runtime.InteropServices;
private const int WS_VISIBLE = 268435456;//窗体可见
private const int WS_MINIMIZEBOX = 131072;//有最小化按钮
private const int WS_MAXIMIZEBOX = 65536;//有最大化按钮
private const int WS_BORDER = 8388608;//窗体有边框
private const int GWL_STYLE = (-16);//窗体样式
private const int GW_HWNDFIRST = 0;
private const int GW_HWNDNEXT = 2;
private const int SW_HIDE = 0;
private const int SW_SHOW = 5;
[DllImport("User32.dll")]
private extern static int GetWindow(int hWnd, int wCmd);
[DllImport("User32.dll")]
private extern static int GetWindowLongA(int hWnd, int wIndx);
[DllImport("user32.dll")]
private static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private extern static int GetWindowTextLength(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern int ShowWindow(int hwnd, int nCmdShow);
//获得包含窗体可见、有边框、有最大化按钮的窗体的句柄和标题(窗体的属性出这几种外还有很多种)
public static List<FromInfo> GetHandleList(int Handle)
{
List<FromInfo> fromInfo = new List<FromInfo>();
int handle = GetWindow(Handle, GW_HWNDFIRST);
while (handle > 0)
{
int IsTask = WS_VISIBLE | WS_BORDER | WS_MAXIMIZEBOX;//窗体可见、有边框、有最大化按钮
int lngStyle = GetWindowLongA(handle, GWL_STYLE);
bool TaskWindow = ((lngStyle & IsTask) == IsTask);
if (TaskWindow)
{
int length = GetWindowTextLength(new IntPtr(handle));
StringBuilder stringBuilder = new StringBuilder(2 * length + 1);
GetWindowText(handle, stringBuilder, stringBuilder.Capacity);
string strTitle = stringBuilder.ToString();
if (!string.IsNullOrEmpty(strTitle))
{
fromInfo.Add(new FromInfo(strTitle, handle));
}
else
{
fromInfo.Add(new FromInfo("", handle));
}
}
handle = GetWindow(handle, GW_HWNDNEXT);
}
return fromInfo;
}
//获得所有窗体的句柄和标题
public static List<FromInfo> GetHandleList(int Handle)
{
List<FromInfo> fromInfo = new List<FromInfo>();
int handle = GetWindow(Handle, GW_HWNDFIRST);
while (handle > 0)
{
int length = GetWindowTextLength(new IntPtr(handle));
StringBuilder stringBuilder = new StringBuilder(2 * length + 1);
GetWindowText(handle, stringBuilder, stringBuilder.Capacity);
string strTitle = stringBuilder.ToString();
if (!string.IsNullOrEmpty(strTitle))
{
fromInfo.Add(new FromInfo(strTitle, handle));
}
else
{
fromInfo.Add(new FromInfo("", handle));
}
handle = GetWindow(handle, GW_HWNDNEXT);
}
return fromInfo;
}
public class FromInfo
{
public FromInfo(string title, int handle)
{
this.title = title;
this.handle = handle;
}
private string title;
private int handle;
public string Title
{
get { return title; }
set { title = value; }
}
public int Handle
{
get { return handle; }
set { handle = value; }
}
}
//获得窗体句柄和标题
private void button1_Click(object sender, EventArgs e)
{
List<FromInfo> fromInfo = GetHandleList(this.Handle.ToInt32());
}
private void button2_Click(object sender, EventArgs e)
{
//隐藏窗体
ShowWindow(this.Handle.ToInt32(), SW_HIDE);
//显示窗体
ShowWindow(this.Handle.ToInt32(), SW_SHOW);
}
⑺ MFC中怎样获取指定窗口的句柄
句柄获取方法(获取该窗口的句柄后,即可向该窗口类类发送消息、处理程序):0。获取所在类窗口的句柄:
this->m_hwnd
1。主窗口的句柄:
无论在主窗口类内,还是子窗口类内,获取主窗口句柄的方法:
AfxGetMainWnd()->m_hWnd,
如:::SendMessage(AfxGetMainWnd()->m_hWnd,WM_MY_DOSOME,0,(LPARAM)i);
在窗口类中
this->m_hWnd
或者this->GetSafeHwnd()
2。子窗口句柄:用FindWindow,(只要知道子窗口的名字即可)如:
::FindWindow(NULL,WindowsName)
返回找到的窗口的句柄
寻找当前窗口是否在运行windowname的程序,该名字为窗口名字,如:
CWnd*pWnd=FindWindow(NULL,_T("清芝--支票机"));//
GetSafeHwnd
函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。
通过下面的例子来看其理由:
CWnd*pwnd=FindWindow(“ExploreWClass”,NULL);//希望找到资源管理器
HWNDhwnd=pwnd->m_hwnd;//得到它的HWND
这样的代码当开始得到的pwnd为空的时候就会出现一个“Generalprotectionerror”,并关闭应用程序,因为一般不能对一个NULL指针访问其成员,如果用下面的代码:
CWnd*pwnd=FindWindow(“ExploreWClass”,NULL);//希望找到资源管理器
HWNDhwnd=pwnd->GetSafeHwnd();//得到它的HWND
就不会出现问题,因为尽管当pwnd是NULL时,GetSafeHwnd仍然可以用,只是返回NULL
3。获取窗口中控件的句柄,用GetDlgItem
语法为:GetDlgItem(IDC_COMBO3)->m_hWnd:参数为该控件的ID,返回值为:CWnd*类型,但它是CWnd类内的函数,因此要先获取控件所在窗口的指针,如:
CStringstr(_T("dd"));
::SendMessage(AfxGetMainWnd()->GetDlgItem(IDC_COMBO3)->m_hWnd,WM_SETTEXT,0,(LPARAM)str.GetBuffer(0));
从句柄获得指针,用FromHandle
语法:CWnd*pWnd=CWnd::FromHandle(hWnd);
获取窗口句柄(全集)vc&MFC
获得窗口句柄:
this->m_hwnd
HWNDGetForegroundWindow(VOID);
GetSafehWnd取你程序所在窗口类的句柄
GetActiveWindow取当前活动窗口句柄
AfxGetMainWnd取主窗口句柄
GetForegroundWindow取前台窗口句柄
FindWindow
EnumWindow