句柄获取 我自己重载窗口类:class CCtrMode : public CFormView{ ...}我在另外一类中想取得上面我自定义的类句柄!请问怎么做啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CCtrMode myMode;myMode.Create(...);....myMode.GetSafeHwnd(); extern CCtrMode *pCtr;pCtr->GetSafeHwnd(); ouyh12345 GetSafeHwnd()是返回一个窗口的句柄吧~~~~findwindow也是窗口吧 对啊,所有的从CWnd类继承的类,都是窗口啊 CCtrMode myMode; myMode.Create(...); .... myMode.GetSafeHwnd();///-------------我想问问:bobob ----------你这句:myMode.Create(...); 起什么作用啊?创建类么?可是我自定义的这个类里并没有Create()这个函数啊?那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用!难道说得手动把它们改成公有的?能改吗?望高手们明示! 高手都被下跑了。class CCtrMode : public CFormView { ... } 这就相当于把CFormView类复制一份,把名字改成CCtrMode,其它地方可以做了些改动,改动记在{}里面。 CCtrMode myMode; myMode.Create(...); .... myMode.GetSafeHwnd(); ///-------------我想问问:bobob ---------- 你这句:myMode.Create(...); 起什么作用啊? 创建类么?可是我自定义的这个类里并没有Create()这个函数啊? 那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用! 难道说得手动把它们改成公有的?能改吗? 望高手们明示!myMode.Create(...); 其实是把一个类和一个对象联系起来否则myMode.GetSafeHwnd()得到的是NULL 只定义一个类的实例,不create的话,那就是一个空壳子,里面不会有句柄create就是为这个类关联一个句柄。指针和句柄的区别,句柄就是一个指针,而且是全局的,指针不一定是句柄。你自己定义了从cformview继承的一个窗口类,比如CCtrMode myMode;那你要先create,指定窗口的风格,父窗口等等信息,然后可以调用GetSafeHwnd得到句柄,这个句柄是操作系统范围内唯一的,其他进程也可以使用。Handle hWnd=myMode.GetSafeHwnd();这个hWnd就是你要的句柄 怎么获取ListCtrl中选中时的背景色 [求助]游戏反外挂(作弊) 怎样得到另一个程序LISTCTRL的内容,并且发送一个双击其中一行的消息 关于读取注册表的问题,非常奇怪 一个关于vc的简单问题 要监视整个局域网内的UDP数据特别是QQ的消息。该要怎么办啊? 如何尽可能减小release版本的exe文件的大小? 怎样将一个win32动态库工程改成一个win32静态库工程? m_strFilter.Format mfc编译出问题 VC 中有没有类似unix里fork的函数 多线程问题,高手帮忙!!!
myMode.Create(...);
....
myMode.GetSafeHwnd();
pCtr->GetSafeHwnd();
findwindow也是窗口吧
myMode.Create(...);
....
myMode.GetSafeHwnd();///-------------我想问问:bobob ----------
你这句:myMode.Create(...); 起什么作用啊?
创建类么?可是我自定义的这个类里并没有Create()这个函数啊?
那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用!
难道说得手动把它们改成公有的?能改吗?
望高手们明示!
class CCtrMode : public CFormView
{
...
}
这就相当于把CFormView类复制一份,把名字改成CCtrMode,其它地方可以做了些改动,改动记在{}里面。
myMode.Create(...);
....
myMode.GetSafeHwnd(); ///-------------我想问问:bobob ----------
你这句:myMode.Create(...); 起什么作用啊?
创建类么?可是我自定义的这个类里并没有Create()这个函数啊?
那是不是要用构造函数来创建该类对象呢?可是问题是像这样的类,默认情况下构造函数,释构函数都是被保护的啊!不可以调用!
难道说得手动把它们改成公有的?能改吗?
望高手们明示!myMode.Create(...); 其实是把一个类和一个对象联系起来否则myMode.GetSafeHwnd()得到的是NULL
create就是为这个类关联一个句柄。指针和句柄的区别,句柄就是一个指针,而且是全局的,指针不一定是句柄。你自己定义了从cformview继承的一个窗口类,比如
CCtrMode myMode;那你要先create,指定窗口的风格,父窗口等等信息,然后可以调用GetSafeHwnd得到句柄,这个句柄是操作系统范围内唯一的,其他进程也可以使用。Handle hWnd=myMode.GetSafeHwnd();
这个hWnd就是你要的句柄