三生团队网站找谁做的动漫制作专业升本能报的专业

张小明 2026/3/13 3:25:41
三生团队网站找谁做的,动漫制作专业升本能报的专业,中国有色金属价格网,网站建设赛车本课中#xff0c;我们将学习如何把小图标放到系统托盘中去以及如何创建和使用弹出式菜单。 理论#xff1a;系统托盘是指任务条中的一个方形区域#xff0c;在该区域中可以放入一些小图标#xff0c;通常您可以在此处看到系统提供的最新时间。您自己当然也可以把快捷小图标…本课中我们将学习如何把小图标放到系统托盘中去以及如何创建和使用弹出式菜单。理论系统托盘是指任务条中的一个方形区域在该区域中可以放入一些小图标通常您可以在此处看到系统提供的最新时间。您自己当然也可以把快捷小图标放到此处。下面是这么做的步骤设置NOTIFYICONDATA型的结构体变量的成员变量的值cbSize 该结构体的大小。hwnd 窗口的句柄。当鼠标滑过该小图标时该窗口将接收到相关的消息。uID 小图标的ID号。您可以取任意值只是当您的应用程序有不止一个小图标时您要能够区分出到底是那一个小图标接收到了鼠标的消息也即ID号必须唯一。uFlags 指定该结构体变量的那些成员变量有效。NIF_ICON 有效。NIF_MESSAGE 有效。NIF_TIP 有效。uCallbackMessage 自定义的消息。当鼠标对小图标动作时WINDOWS外壳将把该消息发送到您的应用程序。该消息的值您可以自己定义。hIcon 放入系统托盘中的图标的句柄。szTip 64字节的缓冲区它用来放入提示字符串当鼠标停留在小图标上时就会显示该字符串。调用Shell_NotifyIcon函数。该函数在shell32.inc中定义其原型如下Shell_NotifyIcon PROTO dwMessage:DWORD ,pnid:DWORDdwMessage 是发送到WINDOWS外壳的消息NIM_ADD 把小图标加到系统托盘区。NIM_DELETE 从系统托盘中删除小图标。NIM_MODIFY 修改小图标。pnid 是指向NOTIFYICONDATA型结构体变量的指针。如果您想要加入一个小图标就用NIM_ADD删除时使用NIM_DELETE消息。基本上的消息就是这些。但是大多数的情况下您不会仅仅满足把一个小图标放到那里。您还必须要对鼠标事件作出适当的反应。您可以在NOTIFYICONDATA型的结构体变量的成员变量uCallbackMessage 中设置您要处理的消息然后WINDOWS外壳将在发生这些事件时通知您的应用程序。随着消息传送的参数wParam和lParam的值如下wParam 小图标的ID号。它和您在NOTIFYICONDATA型结构体变量中的成员变量uID中设置的值一样。lParam 低字包含鼠标消息。譬如用户在小图标上按下了右键时lParam中将包含WM_RBUTTONDOWN消息。大多数的系统托盘中的小图标在用户用鼠标右击时都会弹出一个菜单以方便用户选择。我们可先创建菜单然后调用TrackPopupMenu函数来显示它。步骤如下调用CreatePopupMenu函数来创建菜单。该函数创建一个空的菜单。如果成功将在eax中返回该菜单的句柄。调用AppendMenu, InsertMenu 或 InsertMenuItem来向菜单中加入菜单项。当您想在当前鼠标位置显示该菜单时调用GetCursorPosition函数来得到鼠标当前的屏幕位置然后调用TrackPopupMenu来显示菜单。当用户从弹出式菜单中选择了一个菜单项时WINDOWS将发送WM_COMMAND消息给您应用程序的消息处理过程这和通常的菜单选择是一样的。.注意当您使用系统托盘中的小图标时有两件比较讨厌的事该菜单可能不会像通常那样马上消失掉。这是因为从弹出式接收消息的窗口必须是前景窗口。调用SetForegroundWindow函数就可以纠正该错误;在调用了SetForegroundWindow函数后您会发现第一次该弹出式菜单会正常弹出而且工作的很好。但是随后该菜单只是一弹出就立即消失。根据MSDN这么做是故意的。为了使得弹出菜单保持住必须要求下一个切换到的是程序的主窗口。您可以通过邮寄任何消息给该程序的窗口来强行进行任务切换。注意要使用PostMessage而不是SendMessage。例子.386.model flat,stdcalloption casemap:noneinclude \masm32\include\windows.incinclude \masm32\include\user32.incinclude \masm32\include\kernel32.incinclude \masm32\include\shell32.incincludelib \masm32\lib\user32.libincludelib \masm32\lib\kernel32.libincludelib \masm32\lib\shell32.libWM_SHELLNOTIFY equ WM_USER5IDI_TRAY equ 0IDM_RESTORE equ 1000IDM_EXIT equ 1010WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD.dataClassName db TrayIconWinClass,0AppName db TrayIcon Demo,0RestoreString db Restore,0ExitString db Exit Program,0.data?hInstance dd ?note NOTIFYICONDATA hPopupMenu dd ?.codestart:invoke GetModuleHandle, NULLmov hInstance,eaxinvoke WinMain, hInstance,NULL,NULL, SW_SHOWDEFAULTinvoke ExitProcess,eaxWinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORDLOCAL wc:WNDCLASSEXLOCAL msg:MSGLOCAL hwnd:HWNDmov wc.cbSize,SIZEOF WNDCLASSEXmov wc.style, CS_HREDRAW or CS_VREDRAW or CS_DBLCLKSmov wc.lpfnWndProc, OFFSET WndProcmov wc.cbClsExtra,NULLmov wc.cbWndExtra,NULLpush hInstpop wc.hInstancemov wc.hbrBackground,COLOR_APPWORKSPACEmov wc.lpszMenuName,NULLmov wc.lpszClassName,OFFSET ClassNameinvoke LoadIcon,NULL,IDI_APPLICATIONmov wc.hIcon,eaxmov wc.hIconSm,eaxinvoke LoadCursor,NULL,IDC_ARROWmov wc.hCursor,eaxinvoke RegisterClassEx, addr wcinvoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR ClassName,ADDR AppName,\WS_OVERLAPPEDWS_CAPTIONWS_SYSMENUWS_MINIMIZEBOXWS_MAXIMIZEBOXWS_VISIBLE,CW_USEDEFAULT,\CW_USEDEFAULT,350,200,NULL,NULL,\hInst,NULLmov hwnd,eax.while TRUEinvoke GetMessage, ADDR msg,NULL,0,0.BREAK .IF (!eax)invoke TranslateMessage, ADDR msginvoke DispatchMessage, ADDR msg.endwmov eax,msg.wParamretWinMain endpWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAMLOCAL pt:POINT.if uMsgWM_CREATEinvoke CreatePopupMenumov hPopupMenu,eaxinvoke AppendMenu,hPopupMenu,MF_STRING,IDM_RESTORE,addr RestoreStringinvoke AppendMenu,hPopupMenu,MF_STRING,IDM_EXIT,addr ExitString.elseif uMsgWM_DESTROYinvoke DestroyMenu,hPopupMenuinvoke PostQuitMessage,NULL.elseif uMsgWM_SIZE.if wParamSIZE_MINIMIZEDmov note.cbSize,sizeof NOTIFYICONDATApush hWndpop note.hwndmov note.uID,IDI_TRAYmov note.uFlags,NIF_ICONNIF_MESSAGENIF_TIPmov note.uCallbackMessage,WM_SHELLNOTIFYinvoke LoadIcon,NULL,IDI_WINLOGOmov note.hIcon,eaxinvoke lstrcpy,addr note.szTip,addr AppNameinvoke ShowWindow,hWnd,SW_HIDEinvoke Shell_NotifyIcon,NIM_ADD,addr note.endif.elseif uMsgWM_COMMAND.if lParam0invoke Shell_NotifyIcon,NIM_DELETE,addr notemov eax,wParam.if axIDM_RESTOREinvoke ShowWindow,hWnd,SW_RESTORE.elseinvoke DestroyWindow,hWnd.endif.endif.elseif uMsgWM_SHELLNOTIFY.if wParamIDI_TRAY.if lParamWM_RBUTTONDOWNinvoke GetCursorPos,addr ptinvoke SetForegroundWindow,hWndinvoke TrackPopupMenu,hPopupMenu,TPM_RIGHTALIGN,pt.x,pt.y,NULL,hWnd,NULLinvoke PostMessage,hWnd,WM_NULL,0,0.elseif lParamWM_LBUTTONDBLCLKinvoke SendMessage,hWnd,WM_COMMAND,IDM_RESTORE,0.endif.endif.elseinvoke DefWindowProc,hWnd,uMsg,wParam,lParamret.endifxor eax,eaxretWndProc endpend start分析该程序将显示一个简单的窗口。当您按下最小化按钮时该窗口将隐藏然后放一个小图标到系统托盘中。当您双击小图标时应用程序将恢复自己并把小图标从系统托盘中删除。当您右击小图标时会显示一个弹出式菜单。您可以在菜单中选择是恢复窗口还是退出应用程序。.if uMsgWM_CREATEinvoke CreatePopupMenumov hPopupMenu,eaxinvoke AppendMenu,hPopupMenu,MF_STRING,IDM_RESTORE,addr RestoreStringinvoke AppendMenu,hPopupMenu,MF_STRING,IDM_EXIT,addr ExitString当主窗口创建时将会创建一个弹出式菜单并且加入两个菜单项。 AppendMenu的语法如下AppendMenu PROTO hMenu:DWORD, uFlags:DWORD, uIDNewItem:DWORD, lpNewItem:DWORDhMenu 是将要加入菜单项的菜单的句柄。uFlags 告诉WINDOWS要加入的菜单项是位图、字符串或自画的项目以及是可用、不可用或灰色显示等。您可以从WIN32 API 指南中得到全部的标志位的信息。在我们的例子中使用标志位MF_STRING它表示我们加入的菜单项是字符串。uIDNewItem 是菜单项的ID号。这是一个用户自定义的值它用来唯一地代表菜单项。.lpNewItem 用来指定菜单项的内容具体代表什么取决于uFlags中指定的标志。我们前面指定了MF_STRING标志所以此处代表一个字符串主窗口创建完成后用户就可以开始测试了。这时按下最小化键。当一个窗口被最小化时将接收到WM_SIZE消息其中wParam参数中的值为SIZE_MINIMIZED。.elseif uMsgWM_SIZE.if wParamSIZE_MINIMIZEDmov note.cbSize,sizeof NOTIFYICONDATApush hWndpop note.hwndmov note.uID,IDI_TRAYmov note.uFlags,NIF_ICONNIF_MESSAGENIF_TIPmov note.uCallbackMessage,WM_SHELLNOTIFYinvoke LoadIcon,NULL,IDI_WINLOGOmov note.hIcon,eaxinvoke lstrcpy,addr note.szTip,addr AppNam
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

浅析网站域名在搜索引擎排名中的作用wordpress 的前端框架

文章目录 1. 网安方向介绍 01、密码学与应用安全02、量子信息安全03、数据安全04、系统安全05、网络安全 2.就业前景分析 01、大厂安全部门02、安全公司03、高校 零基础入门黑客技术/网络安全 【----帮助网安学习,以下所有学习资料文末免费领取!----】 …

张小明 2026/3/5 2:27:18 网站建设

电子商务网站建设基础江西seo网站排名优化

在数字化办公与混合协作成为主流的今天,一款好用的远程控制软件不仅能打破空间限制,更能显著提升个人与团队的工作效率。然而面对市场上功能各异、定位不同的远程工具,许多用户往往陷入“选择困难”。本文将从实际体验、功能完整性、跨平台支…

张小明 2026/3/5 2:27:28 网站建设

国外企业建站wordpress静态插件

摘要汽车行业的快速数字化带来了先进的互联功能、自动驾驶特性和数据驱动的决策流程。然而,这一技术变革也给汽车嵌入式系统带来了重大网络安全漏洞,传统安全框架难以应对不断演变的威胁。针对车辆控制单元、车载网络和外部通信接口的网络攻击可能危及乘…

张小明 2026/3/5 2:27:24 网站建设

一般卖机械行业的做哪些网站如何申请网站com域名

还在为繁琐的PT下载流程而头疼吗?每次都要复制链接、切换页面、粘贴下载,重复着机械化的操作?PT助手Plus正是为你量身打造的浏览器插件解决方案,让种子下载变得前所未有的简单高效! 【免费下载链接】PT-Plugin-Plus PT…

张小明 2026/3/5 2:27:24 网站建设

兰州手机网站视频网站做app

从0开始学习大模型(LLM),直接阅读原始论文是建立深刻理解的最佳捷径。因为大模型领域发展极快,但核心思想都浓缩在几十篇经典论文中。下面的9篇,每一篇都是该阶段的里程碑。第一阶段:万物起源(架…

张小明 2026/3/5 2:27:26 网站建设

北京网站建设培训学校宣城做网站

WAN2.2-14B-Rapid-AllInOne终极指南:一站式视频生成解决方案 【免费下载链接】WAN2.2-14B-Rapid-AllInOne 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/WAN2.2-14B-Rapid-AllInOne 在当今数字内容创作蓬勃发展的时代,WAN2.2-14B-Rapid-…

张小明 2026/3/5 2:27:25 网站建设