用着个试试:
mTextView01 = (TextView)TalkRoundSpinViewthisfindViewById(RidtextView01);
自己想办法传进来一个Activity或Context
View view = Viewinflate(context或Activity, Rlayout, null);再
mTextView01 = (TextView)viewfindViewById(RidtextView01);
#include <Windowsh>
#include <vector>
using namespace std;
//用于EnumWindows的回调函数
BOOL CALLBACK EnumProc(HWND hwnd,LPARAM lparam)
{
vector<HWND> pvec = (vector<HWND>)lparam;
pvec->push_back(hwnd);
return TRUE;
}
void main()
{
vector<HWND> vec;
EnumWindows(EnumProc,(LPARAM)&vec);
}
这个是win32控制台程序项目里写的,如果要在MFC下的话,只需包含
#include <vector>并using namespace std;
EnumProc定义在前面,按钮响应函数里添加main函数里的那两句就可以了。
我这里测试获取到了407个句柄
句柄获取方法(获取该窗口的句柄后,即可向该窗口类类发送消息、处理程序):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()函数。通过下面的例子来看其理由
先写一个定时获取前台窗口的程序运行着,然后打开游戏运行一下再退出,接着看看记录下来的窗口类,排除那些你认识的比如资源管理器等,再从剩下的中找一个最像的,期间最好不要打开别的窗口,然后写一个后台程序,再运行游戏,试着对它进行一些 *** 作看有没有效果。
通过WindowsAPI函数可以获取光标所在处的窗口的句柄。在Windows *** 作系统中,可以使用API函数“HWNDWindowFromPoint(POINTPoint)”获取当前虚拟光标的位置,返回值是一个BOOL类型,表示函数执行是否成功。如果函数执行成功,就可以获取到虚拟光标的位置,可以通过该位置来获取句柄。
上一篇文章和大家聊到了IMS在SystemServer进程native层中的原理,本文来聊聊App进程是怎么监听IMS分发出来的输入信号的
还记得我写过WMS系列文章 WMS在Activity启动中的职责 添加窗体(三) 中,提到了App第一次渲染的时候会通过ViewRootImpl的addWindow方法,在WMS中为当前的Activity中的PhoneWindow添加一个对应的WindowState进行管理。
让我们先看看ViewRootImpl中做了什么。
如果遇到什么问题,欢迎来到本文 >
[DllImport("user32dll", EntryPoint = "FindWindow", CharSet = CharSetAuto)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
/// <summary>
/// 获取有名字窗体句柄
/// </summary>
/// <param name="caption">窗体名</param>
/// <param name="delay">循环查询次数</param>
/// <param name="maxTries">停顿时间</param>
/// <returns>句柄 IntPtr</returns>
static IntPtr FindMainWindowHandle(String caption,int delay,int maxTries)
{
IntPtr mwh = IntPtrZero;
bool foundWindow = false;
int attempts = 0;
do
{
mwh = FindWindow(null, caption);
if (mwh == IntPtrZero)
{
ConsoleWriteLine("Form not yet found\n");
ThreadSleep(maxTries);
++attempts;
}
else
{
ConsoleWriteLine("Form has been found");
foundWindow = true;
}
}
while(!foundWindow && attempts<delay);
if(mwh != IntPtrZero)
return mwh;
else
throw new Exception("Coule not find Main Window");
//调用FindMainWindowHandle()方法以获取窗体句柄,例:
IntPtr wHandle= FindMainWindowHandle("窗体名",10,100);
ConsoleWriteLine("窗体句柄: " + wHandle);
以上就是关于我在Android 程序的xml文件中加载的自定义ImageView控件中如何访问Activity中的其他控件的句柄 全部的内容,包括:我在Android 程序的xml文件中加载的自定义ImageView控件中如何访问Activity中的其他控件的句柄 、50分,如何获取桌面所有窗口的句柄、如何获得这个窗口的CWnd类或HWND句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)