GetWindowLong,SetWindowLong,CallWindowProc

自定义处理窗体的移动消息WM_MOVE 标准模块中:Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongPublic Declare Function CallWindowProc Lib "user32" Alias "CallWindowP 阅读详情

WNDPROC                g_deskproc;

 

LRESULT CALLBACK DeskWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

     switch(uMsg)  {

         case WM_LBUTTONDOWN:            

              break;        

         default:

              break;

     }

 

     return CallWindowProc(g_deskproc, hwnd, uMsg, wParam, lParam);

}

 

//获取父窗口消息

g_hPwnd = GetParent(hwnd);

g_deskproc = (WNDPROC)GetWindowLong(g_hPwnd, GWL_WNDPROC);

if(g_deskproc)     {

     SetWindowLong(g_hPwnd, GWL_WNDPROC, (LONG) DeskWndProc);

}

 

//卸载

SetWindowLong(g_hPwnd, GWL_WNDPROC, (LONG)g_deskproc);

g_deskproc = 0;

C++程序编程中的 SetWindowLong 函数的几个常见用途(附源码) 本文讲解C++程序编程中的 SetWindowLong 几个常见用法。 阅读详情

相关推荐

Windows API函数SetWindowLong

SetWindowLong()用于改变一个窗口的属性。 LONG SetWindowLong( HWND hWnd, //handle to window(窗口句柄) int nlndex, //offset of value to set(改变窗口上的何种属性) LONG dwNewLong // new value(指定该属性为一个新的具体样式) ); 窗口属性包括窗口的样式(GWL_STYLE)、扩展...

zxf347085420的博客 4095

SetWindowLong 用法总结

SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Long dwNewLong);详见MSDN。下面简单总结一下SetWindowLong函数几种常用的地方:1.设置窗口风格   如:SetWindowLong(hWnd, GWL_STYLE, WS_POPUP|WS_BORDER);      //有边框的弹出窗口         SetWindowLong(hWnd, GWL_EXSTYLE,  WS_EX_TOOLWINDOW); 

firehood的专栏 2万+

SetWindowLong和SetWindowPos函数详解

一个应用程序可以一个系统美为于类,但是不能以一个其他进程产生的窗口类为子类,SetwindowLong函数通过改变与一个特殊的窗口类相联系的窗口过程来创建窗口子类,从而使系统调用新的窗口过程而不是以前定义的窗口过程。Windows CE:如果这是一个可见的顶层窗口,并且未指定SWP_NOACTIVATE标志,则这个函数将激活窗口、如果这是当前的激活窗口,并且指定了SWP_NOACTIVATE或SWP_HIDEWINDOW标志,则激活另外一个可见的顶层窗口。SWP_NOACTIVATE:不激活窗口。

m0_37346206的博客 4389

Linux 常用基本命令及常用技巧

用户有时的程序有可能要花费很多时间,如果将它放在前台运行,将导致无法继续做其 他事情,最好的方法就是将它放在后台运行,甚至可能希望在用户注销系统后,程序还可以。如果不需要使用光盘或软盘,则需先执行卸载命令之后,才能将光盘或软盘退出。文件,则系统会不间断地询问,以确认您的确要删除目录或文件。可利用任务调度命令,指定系统定期在某个时间运行这些程序,轻轻松松完成想要执行的工。注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达。命令可以关闭所有程序, 依照用户的需要, 重新启动或关机。

AI论道的博客 1万+

CallWindowProcsetwindowlong 用法

<br />该函数CallWindowProc将消息信息传送给指定的窗口过程。<br /><br />    函数原型:LRESULT CallWindowProc(WNDPROC lpPrevWndFunc,HWND hWnd.UINT Msg,WPARAM wParam,LPARAMIParam);<br /><br />    参数:<br /><br />    lpPrevWndFunc:参数主要是指向你要调用的函数句柄<br /><br />    hWnd:指向接收消息的窗口过程的句柄。<br

Steven Lei的博客 1万+

CallWindowProcsetwindowlong用法

该函数CallWindowProc将消息信息传送给指定的窗口过程。 函数原型: LRESULT CallWindowProc(WNDPROC lpPrevWndFunc,HWND hWnd.UINT Msg,WPARAM wParam,LPARAMIParam); 参数: lpPrevWndFunc:参数主要是指向你要调用的函数句柄 hWnd:指向接收消息的窗口过程的句柄。 M

求知者 2678

转:介绍shell_notifyicon,SendMessage,CallWindowProc,GetWindowLong,SetWindowLong的用法

PublicDeclareFunctionShell_NotifyIconLib"shell32.dll"Alias"Shell_NotifyIconA"(ByValdwMessageAsLong,lpDataAsNOTIFYICONDATA)AsLongPublicDeclareFunctionSendMessageLib"u...

demonzsmj12315的博客 258

Windows核心编程_窗口子类化

窗口子类化:窗口子类化,即重定向消息,也就是修改某个窗口消息执行函数,重定向下面代码可以让你更好的理解窗口子类化:先介绍三个函数:1.GetWindowLong函数原型:LongGetWindowLong(HWNDhWnd,intnlndex);参数介绍:HWNDhWnd:目标窗口句柄intnlndex:要获取的窗口类型信息:宏定义常量描述GWL_EXSTYLE-20获取扩展窗口样式GW...

17岁boy的博客 2439

win32控件消息处理

long lfnProc=GetWindowLong(hWnd,GWL_WNDPROC);SetWindowLong(hWnd,GWL_WNDPROC,(long)WndProc); LRESULT WndProc(....){ WM_PAINT:第一个调用WM_NCPAINT:第二个调用WM_ERASEBKGND:第三个调用 ::CallWindowPro

sc116116111的专栏 679

vb利用类模块获得鼠标滚轮(滑轮)事件

'添加一个类模块,模块名称设置为:cSubclass '代码如下: Option Explicit Private Declare Sub CopyMemory Lib “kernel32” Alias “RtlMoveMemory” (Destination As Any, Source As Any, Optional ByVal Length As Long = 4) Private Declare Function CallWindowProc Lib “user32” Alias “CallWin

键盘上的舞指 1812

易语言微凉模块oracle,跟着微凉学易语言 【简单子类化】

本帖最后由 【微凉清风】 于 2011-1-20 18:23 编辑易语言的子类化文章太少了,本人文笔也不好哈,看看VB得吧,别说英文看不懂,看不懂你的易语言水平永远不会提高!一,初识子类当你还不碰过子类的时候,你看到这个标题,定会问:"啥叫子类?".因为你知道我定会为你解答.(阴险哪~~~),因为鄙人文才不好,不知如何以最详细最能理解的方式为你解答,所以到网上偷了一段,还请各位笑纳:子类处理,是一...

weixin_31967737的博客 720

C++ 中超类化和子类化常用API

windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把。本文仅作为笔记,简单的记录一下。 子类化:SetWindowLongGetWindowLongCallWindowProc,FindWindowEx 超类化:GetClassInfoEx,RegisterClassEx,UnRegisterClass 以上函数在代码中的...

weixin_30299539的博客 269

SetWindowLong And GetWindowLong

 SetWindowLong的使用及其简单,比如我们将m_hEdWord窗口的消息处理函数置换为CtrlProc:     SetWindowLong(m_hEdWord,GWL_WNDPROC,(DWORD)CtrlProc);    就这么简单,现在只要m_hEdWord窗口收到消息,那么就会自动调用预先定义的CtrlProc.      有设置,自然也有获取,不过这次

liuxingbin的专栏 2066

在C#中如何监视自己打开的其他程序

我们在做项目的时候,可能会碰到需要监视我们打开的其他的程序的关闭消息,比如我们打开个记事本或者帮助文件需要知道他们什么时候关闭其实做到这个很简单,主要应用如下几个APIGetWindowLong (http://msdn.microsoft.com/en-us/library/ms633584(VS.85).aspx)SetWindowLong (http://msdn.microso

lovefootball的专栏 3394

在MapX中响应滚轮放大缩小地图

’模块中Option ExplicitPublic Const GWL_WNDPROC = (-4)Public Const WM_COMMAND = &H111Public Const WM_MBUTTONDOWN = &H207Public Const WM_MBUTTONUP = &H208Public Const WM_MOUSEWHEEL = &H20APublic Oldwinproc

海 啸的专栏 1134

Qt打开外部exe,并将其嵌入到qt界面中

我现在需要用QProcess打开外部exe,并打开的外部界面嵌入到Qt的UI界面中,请问大神们怎样能实现此功能?谢谢啦....Qt打开外部exe已经实现,不过是一个独立的窗口,现在我需要将它嵌入到qt界面中大学的时候玩过VB,也刚好玩过这样的例子,但已经不记得了。下面是我找的一个帖子:https://bbs.csdn.net/topics/370127341主要涉及到 Windows API:Ge...

zerokkqq的专栏 1万+

利用子类处理技术限制窗体的大小

利用子类处理技术限制窗体的大小 * * * * * * * * * * 警告 * * * * * * * * * * * * * 对以下代码进行修改将有可能导致不可预料的后果,甚至能使您的VB崩溃! 在VB IDE环境中运行本程序之前请先保存您的修改 不要使用断点调试模式,这将导致VB崩溃! * * * * * * * * * * 注意 * * * * * * * * * * * *

668
上一篇: ASCII,Unicode和UTF-8
下一篇: Mobile设置查看MAC地址
jmunic
博客等级 码龄18年 7粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值