正确的贴子如下:
我在学习Windows的窗口类时看到下面这样一段话:/**************************************************************/
GetClassInfoEx 仅能在呼叫此函式的那个行程中取得一个已注册的窗口类别的
相关信息。举个例,如果你想利用GetClassInfoEx 取得 “NOTEPAD” 类别的
相关信息,会导致失败,因为呼叫GetClassInfoEx 函式的人行程)并不是
NOTEPAD 。
/*************************************************************/从GetClassInfoEx的原型 声明可以知道:
BOOL GetClassInfoEx(HINSTANCE hinst, LPCSTR lpszClassName, PWNDCLASSEX pwc);
只要给定程序的运行实例主可以知道指定类的情况了。
如果在“记事本”程序运行时,通过获取这个“记事本”程序的窗口句柄,得到其实例句柄,赋给hinst,再将“NOTEPAD”给lpszClassName
,那么不就可以得到pwc这个窗口类结构的情况了吗?不知书上的这句话是什么意思?
我在学习Windows的窗口类时看到下面这样一段话:/**************************************************************/
GetClassInfoEx 仅能在呼叫此函式的那个行程中取得一个已注册的窗口类别的
相关信息。举个例,如果你想利用GetClassInfoEx 取得 “NOTEPAD” 类别的
相关信息,会导致失败,因为呼叫GetClassInfoEx 函式的人行程)并不是
NOTEPAD 。
/*************************************************************/从GetClassInfoEx的原型 声明可以知道:
BOOL GetClassInfoEx(HINSTANCE hinst, LPCSTR lpszClassName, PWNDCLASSEX pwc);
只要给定程序的运行实例主可以知道指定类的情况了。
如果在“记事本”程序运行时,通过获取这个“记事本”程序的窗口句柄,得到其实例句柄,赋给hinst,再将“NOTEPAD”给lpszClassName
,那么不就可以得到pwc这个窗口类结构的情况了吗?不知书上的这句话是什么意思?
解决方案 »
- 使用CList管理套接字问题?
- 初学VC的几个问题
- 高手请进: 如何是vc发送邮件给手机时 带上回车? \r\n手机不支持
- 接口传出BSTR出错的问题
- Oracle支持这个函数吗?substring
- 怎么在VC用“填写显示缓冲区“的方法输出汉字?
- C++Primer的述及的C++标准库在VC60中老是有些问题?有哪些差别和知识点啊
- opengl坐标范围[-1,1]设置gluPerspective(75, 1, 1, 500);//near 1 far 500之后与-1,1是什么转换关系?
- 这是一段关于图片倒置的代码,请问如何使用??
- 非常紧急
- vc6.0和.net中的vc7.0学哪个?
- 请问要将一个程序作成服务有何要求?
每个进程有自己的2G空间"notepad"类只在自己的进程空间中存在,不象"button"(是一个Global class),所以在你自己的进程空间中没有notepad类。
可以用插入Dll方法得到,(具体见Advanced windows)
可是SPY++却可以做到这一点,为什么?
继续讨论。
可是SPY++却可以做到这一点,为什么?
继续讨论。
GetWindowInstance得到窗口的实例,那么只要指定你想要看到的类lpszClassName就可以得到窗口类的属性了吗?
与跨进程根本没有关系。
可是看上面的话的意思,却是不能实现。
那么,是否进程之间全部独立,只有靠插入DLL才能实现。
疑惑多多??????
可是我知道的是,系统中有三个atom table.
一个是process local atom table
一个是system local atom table
还有一个就是system global atom table。
我们的窗口类其原子值究竟在哪个atom表中???
请赐教!
我看MSDN上也讲得很明白,hInst只要是注册类的实例句柄就行,
我在调用GetClassInfoEx时使用的非本实例hinstance,而是通过
FindWindows 和 GetWindowInstance得到的hinstance。
难道有问题吗?
中吧)但还要满足lpszclass的条件啊
HWND hwndFind;
HINSTANCE hinstFind;
WNDCLASSEX wcex;
hwndFind = WindowFromPoint(pt);
hinstFind = GetWindowInstance(hwndFind);
GetClassInfoEx(hinstFind,TEXT("NOTEPAD"),&wcex);
请问wcex结构中是否能得到记事本窗口类的详细资讯。
你用GetClassWord/GetClassLong吧
一点想法,不明白????