请问HWND窗口句柄到底是什么?thanks

aspvbjava 2006-05-03 09:58:30
这是面试官问我的,我不知道,麻烦高手解答!
说的具体一点儿哈,不要告诉我是一个地址,我想知道是谁的地址,跟SetWindowsLong有什么关系?
我只知道dll的HANDLE是进程加载dll时候dll映射到进程空间的地址,那HWND呢?
...全文
3949 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
artcpp 2006-12-20
  • 打赏
  • 举报
回复
好玩,支持一下。
SeRapHiw 2006-06-04
  • 打赏
  • 举报
回复
楼上的论述应该加精
fireseed 2006-06-03
  • 打赏
  • 举报
回复
专家分有什么难赚的?


1. 挑选人气旺、好赚分的版,比如.net技术呀,VC/MFC呀,软件使用之类的,并尽在人气够旺的基础上选择难度较高的。人气一旺,贴子就多,再加上难度高,肉多狼少,所以贴子的分数自然就会上去,这就是传说中的优胜劣汰自然选择法择!记住,虽然C/C++是个初学者学习的好地方,但只有傻子才会去那抢分!另外,地球人都知道,扩充话题的分不计在专家分内,所以别跟个火星人一样,在水园乱up抢分。

2. 时间是生命。只有尽量长时间的泡在坛子里并不断刷新,你才能有足够的机率在人气巨旺的版里抢到1楼。一般楼主结贴时先把最正确的回答给上分,还有剩下的分怎么办?一般情况下只有失恋超过49次的或着智商的绝对值直逼爱因斯坦的楼主,才会用剩余可用分除以回答人数,再一一给分!绝大多数情况,一楼拿的分是最多的,但不排除一楼和二楼、三楼、四楼……n楼并列第一的情况。

3. 能回答两次的就回答两次,尤其是自己比较有把握的问题,两次可能描述的答案都一样,但措词千万不能一样,并且两次回答之间要有一定的矩离,反正想方设法让智商明显低于你的楼主认为是两个人回答的,然后得双份的分。

4. 逢贴必回,会的简单做答,不要担误在其它贴子里抢一的时间;稍微含糊的问题就瞎蒙几句,不行就“建议楼主参阅相关书籍”;不会的就复制一下别人的回答,不行就加点油加点醋;实在连题意都看不懂的,就up、顶、楼主高人、拍一下马屁,楼主要是吃拍的,一高兴没准给你个一二十分的。

5. 楼主就是上帝,所以要抱着做学问的态度回贴,他要钻牛角尖你就陪他钻,千万不能和楼主吵翻。要是有别的抢分人和你争论,先不要管到底谁对谁错,记住,你永远是对的,只有分是真理!错的也要说成是对的,不行就上两个马甲支持你。楼主正是因为不懂才会问的,你还怕他识破?一般楼主判断回答的错对就是看人数,所以有上6、7个马甲是必要的。

6. 另外自己在机子上建一个FAQ表,据考证,论坛上每天有30%以上的技术贴是以前问过或类似的,而且这个比率还在增加。所以建一个FAQ表是很有必要的,不行就用Access写个简单的数据库程序,用关键词查找。一看见眼熟的贴子,先搜数据库,一量搜到,Ctrl+C和Ctrl+V伺候。

7. 这一招是最狠的,非到万不得已千万不要使用,以免造成“狼来了”效应。如果你看到了一个300分的贴,上面也没几条回复,而且这个问题你可以做答,OK,这个分咱们要定了!在你回答完之后,不要忘了留一个网址,其实一个是远远不够的,你在下面再用不同的马甲留下不同的n个网址,目的无非就是一个:转移视线。让想回答的人在看回贴时忍不住进入你留的网址,然后一去不复返……但有几条要注意的,不能在回贴里透露半点网址的相关内容,这样可以增加他人好奇心;所留网址必须有足够的链接,并且是以新窗口打开的那种,这样可以使他人在慌乱中关掉原窗口而彻底迷失;内容和链接必须有足够的吸引力。

8. 在回答别人问题时候要措辞干净利落,说话条理性很重要,最好先让你那不懂电脑的女友或着老妈看看能不能看懂,因为怕就怕给楼主留下二次题问的机会。一但有二次提问,你就面临着楼主把本来该给你的分送给别人的危险。所以要经常刷新“你所参与的问题”。如果你的小学语文欠佳,建议先复习小学语文中提取句子主干部分知识,以打下坚实的基础。

9. 和真正的高手保持良好的关系,最好能把QQ或着MSN要到,在遇到不会的问题时,先装做是自己遇到了天大的麻烦,明天不交差将会造成被老板炒犹鱼、被老婆抛弃、被兄弟姐妹断绝关系,被父母遗弃,天打雷劈,出门被车撞等严重后果,然后取得高手的同情心,让他详实的帮你做答。之后,你就只剩下Ctrl+C和Ctrl+V了

10. 不要只在一个论坛里转,因为即是人气再高,也经不住你12刷新次/每分钟的速度,而且论坛程序缓冲也有一段时间,为也更好的利用这些时间,就去别的论坛上回新贴抢一楼吧。平时要注意收集最新的论坛动向,关注发生重大改版事件后的版块,这些版块在改版之后的两三天到一周的时间内将会有一个人气高峰期,而且发贴的人多,回贴的人少。另外不能光看人气,还要看结贴率,人气和结贴率所占的比重为7:3。这些数据当然只有在你不断时践中都能总结出来。


以上就是各项基本原则,如果你的方法得当,一个月10000专家分是小菜一碟。这当然对于你的目标来说还要相差的很远的,你只有在不断的探索中才能够找到一条真正适合自己的成星之路。

zjz800800 2006-06-03
  • 打赏
  • 举报
回复
一个个的都象是个伪君子,这种烂问题以后不许扎堆
飞在天空的鱼 2006-06-03
  • 打赏
  • 举报
回复
呵呵,楼上精辟.
fireseed 2006-06-02
  • 打赏
  • 举报
回复
这种烂问题总有那么多人扎堆,一个个还都正经八百,道貌岸然,哈哈
xinai0521 2006-06-02
  • 打赏
  • 举报
回复
就是一个指针,指向指针的指针。。。。。。。。
我是这么理解的。。:)
fxRen 2006-06-02
  • 打赏
  • 举报
回复
我想,就是窗口的ID号吧,就像你我的身份证号码一样
whwjn 2006-06-02
  • 打赏
  • 举报
回复
句柄vs指针

句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这
个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址 访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一 个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化 了。如果地址总是如此变化,我们该到哪里去找该对象呢?为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门 登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。句柄地址(稳定)→记载着对象在内存中的地址→对象在内存中的地址(不稳定)→实际对象。但是,必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成 是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电 影院售给我们的门票总是不同的一个座位是一样的道理。
buggycode 2006-05-11
  • 打赏
  • 举报
回复
SoLike
句柄不是指针。很基本的概念啊

看看定义!!!
typedef void * HANDLE;

看来是个读死书的。

wo_shi_yi_zhi_yu 2006-05-11
  • 打赏
  • 举报
回复
句柄不是指针
好似指针
它表示一个资源
就是标志一块数据
但是数据在内存中分配是有固定的地址
如果没有虚存的技术,这个指针恒有效
也就没有必要用句柄了
但是虚存情况下,内存中的数据会移动到磁盘中
这样呢,我们需要在内存中保存这个数据的标志,
等到需要的时候,再加载进来,但是存放的地址就不和原来一样;
所以,指针是容易弄丢,而句柄不会丢的;
toxyboy 2006-05-11
  • 打赏
  • 举报
回复
就是个在该进程空间的一个唯一标识符。。通过它可以访问该标志符标志的资源。
zjz800800 2006-05-11
  • 打赏
  • 举报
回复
真热闹,怎么还在说句柄呀,
面试官要问你:"请问HWND窗口句柄到底是什么?"
你就说:"请问门牌号到底是什么"
面试官要是答:"标示房子第"
你就说:"欧了,HWND是标示房子里的窗口第"
会思考的草 2006-05-11
  • 打赏
  • 举报
回复
句柄的定义不是一成不变的,在不同的场合定义不一样。大多数时候不是简单的定义成指针。具体定义成什么,依赖于此种情况下句柄的本质。有的时候就是指针,有的时候是一个句柄表的索引。
思危 2006-05-08
  • 打赏
  • 举报
回复
句柄不是指针。很基本的概念啊
loki2k 2006-05-08
  • 打赏
  • 举报
回复
我一直以为H开头的就是句柄了,我想HWND只是typedef了而已,不知道对不对啊
会思考的草 2006-05-07
  • 打赏
  • 举报
回复
实例化一个Cwnd时,就将一个对象,一个窗口对象与这种资源相关联
~~~~~~这里错了,实例化CWnd的时候不代表和一个窗口对象关联,你错在这里。
lvkeqiang 2006-05-06
  • 打赏
  • 举报
回复
句柄就是资源标示符号,类似于数据库的关键字 每个资源都有一个,区别于其他的,应该是kernerl创建的,详细的仔细查阅MSDN
cici2006 2006-05-06
  • 打赏
  • 举报
回复
类与名柄是不同的概念呀。窗口句柄是操作系统内核分配的一个可以唯一标志识你所创建的窗口的对象。
类就不同了,可以生成是没有这个窗口呀。并不一定要用CWND,你可以自己生成createWnd窗口,就可以了呀。
soaroc 2006-05-06
  • 打赏
  • 举报
回复
很高兴楼上的终于同意了我的关于将CWnd和窗口(资源)相关联的说法。另外,从始至终我没有提过窗口和Cwnd会同时销毁的说法。我只是说两者可以关联起来,我们可以使用CBitmap来关联一个位图资源,当然我们可以使用deleteOject也可以切断这种关联。我们可以通过Cwnd 的m_hWnd来判断Cwnd是否已经与一个窗口相关联了。总之,上面的意思就是----两者没有同生同灭关系
加载更多回复(23)

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧