视频网站设计建立网站费用

张小明 2026/1/2 5:30:31
视频网站设计,建立网站费用,一起合伙做项目的网站,重庆建站网站建设平台上一章我们学习了位图的使用.在这一章我们要用上帝赋予我们的创造力来融会贯通上一章我们学到的知识.那就是研究如何用位图来创建启动画面. 你可以在这里下载示范: the example. 理论首先,我们先要搞清楚什么是启动画面.举个简单的例子:我们启动某些作的专业一点的程序时(比如N…上一章我们学习了位图的使用.在这一章我们要用上帝赋予我们的创造力来融会贯通上一章我们学到的知识.那就是研究如何用位图来创建启动画面. 你可以在这里下载示范: the example.理论首先,我们先要搞清楚什么是启动画面.举个简单的例子:我们启动某些作的专业一点的程序时(比如Netscape,Adobe Acrobat等)会先跳出一个启动画面.上面通常有一些版权信息,版本号等.与此同时,程序后台正做着一些程序的加载或初始化工作.这个启动画面有别于一般的窗口.它没有标题栏,没有系统菜单,也没有边框.只有一张位图在屏幕上显示一会儿,然后消失 .在这一章我们来试试自己做一个.第一步你可能会想到把要显示的位图包含到资源文件中去.但是这样做有一个缺点.你的程序只在启动的时候显示这张位图,可是它却至始至终存在于你的内存中,直到你把程序关掉.这不能不说是对内存的极大浪费.好办法是:创建一个资源DLL(动态连接库)来包含位图和它独特的显示代码.这样,你就可以在想显示启动画面的时候加载他,用完了就卸载它.所以,我们的程序需要2个模块:主程序和启动画面DLL.我们要把位图放到这个DLL的资源中去.基本步骤如下:把位图作为一个位图资源放到DLL中去.主程序调用 LoadLibrary 把 dll 加载到内存中去.DLL 被调用后,它会建立一个定时器用于管理启动画面显示的时间.然后,注册并创建一个没有 标题和边框的窗口.同时在窗口的客户区显示位图.等启动画面的显示时间长度到达你预先的设定值,启动画面消失,控制权回到主程序手中.主程序调用 FreeLibrary 从内存中卸载 DLL .然后,做它该做的事去.下面我们来研究细节部分加载/卸载 DLL你可以用 LoadLibrary 灵活的加载一个 DLL ,它的格式如下:LoadLibrary proto lpDLLName:DWORD它只有一个参数: 你想要加载的 DLL 的名称所在的地址.调用成功返回指向该DLL模块的句柄,反之返回NULL.要卸载 DLL, 则调用 FreeLibrary:FreeLibrary proto hLib:DWORD它也只有一个参数: 你想要卸载的 DLL 模块的句柄(通常就是上面那个函数返回的啦).怎样使用定时器首先, 你要用 SetTimer 创建一个定时器:SetTimer proto hWnd:DWORD, TimerID:DWORD, uElapse:DWORD, lpTimerFunc:DWORDhWnd接受这个定时器消息的窗口的句柄.如果,你的定时器不需要窗口接受它的消息,你也可以 用NULL作为参数TimerID定时器的 ID 值. 由你自己定义.uElapse 定时器定的时间.以ms(千分之一秒)为单位.lpTimerFunc 处理该定时器消息的函数所在的地址.如果你用NULL作为该参数,那么定时器的消息会被送给 hWnd 参数所指定的窗口.SetTimer 如果成功则返回定时器的 ID 否则返回 NULL. 所以最好不要把定时器的ID设为0(Pheadnius:NULL代表0, 记得吗?).你可以用2种方法创建定时器:如果你有一个窗口并且定时器把消息传给这个窗口.那么你需要把所有的4个参数都传送给 Settimer 函数 (lpTimerFunc参数必须为NULL).如果你没有窗口或者你不想让窗口处理定时器的消息,那么你必须在窗口句柄中传送一个NULL.同时你要指定用于处理定时器消息的函数的地址.在这个例子中我们要使用第一种方法.当你设定的时间到了, 与定时器相连的窗口会收到 WM_TIMER 消息.例如,你指定 uElapse 的值为 1000, 你的窗口每过一秒都会收到 WM_TIMER 消息.等到你再也不需要这个定时器了,就用 KillTimer 来去除定时器.KillTimer proto hWnd:DWORD, TimerID:DWORD例子:;-----------------------------------------------------------------------; 主程序;-----------------------------------------------------------------------.386.model flat,stdcalloption casemap:noneinclude \masm32\include\windows.incinclude \masm32\include\user32.incinclude \masm32\include\kernel32.incincludelib \masm32\lib\user32.libincludelib \masm32\lib\kernel32.libWinMain proto :DWORD,:DWORD,:DWORD,:DWORD.dataClassName db SplashDemoWinClass,0AppName db Splash Screen Example,0Libname db splash.dll,0.data?hInstance HINSTANCE ?CommandLine LPSTR ?.codestart:invoke LoadLibrary,addr Libname.if eax!NULLinvoke FreeLibrary,eax.endifinvoke GetModuleHandle, NULLmov hInstance,eaxinvoke GetCommandLinemov CommandLine,eaxinvoke WinMain, hInstance,NULL,CommandLine, 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_VREDRAWmov wc.lpfnWndProc, OFFSET WndProcmov wc.cbClsExtra,NULLmov wc.cbWndExtra,NULLpush hInstancepop wc.hInstancemov wc.hbrBackground,COLOR_WINDOW1mov 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,NULL,ADDR ClassName,ADDR AppName,\WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\hInst,NULLmov hwnd,eaxinvoke ShowWindow, hwnd,SW_SHOWNORMALinvoke UpdateWindow, hwnd.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:LPARAM.IF uMsgWM_DESTROYinvoke PostQuitMessage,NULL.ELSEinvoke DefWindowProc,hWnd,uMsg,wParam,lParamret.ENDIFxor eax,eaxretWndProc endpend start;--------------------------------------------------------------------; 位图 DLL;--------------------------------------------------------------------.386.model flat, stdcallinclude \masm32\include\windows.incinclude \masm32\include\user32.incinclude \masm32\include\kernel32.incinclude \masm32\include\gdi32.incincludelib \masm32\lib\user32.libincludelib \masm32\lib\kernel32.libincludelib \masm32\lib\gdi32.lib.dataBitmapName db MySplashBMP,0ClassName db SplashWndClass,0hBitMap dd 0TimerID dd 0.datahInstance dd ?.codeDllEntry proc hInst:DWORD, reason:DWORD, reserved1:DWORD.if reasonDLL_PROCESS_ATTACH ; When the dll is loadedpush hInstpop hInstancecall ShowBitMap.endifmov eax,TRUEretDllEntry EndpShowBitMap procLOCAL wc:WNDCLASSEXLOCAL msg:MSGLOCAL hwnd:HWNDmov wc.cbSize,SIZEOF WNDCLASSEXmov wc.style, CS_HREDRAW or CS_VREDRAWmov wc.lpfnWndProc, OFFSET WndProcmov wc.cbClsExtra,NULLmov wc.cbWndExtra,NULLpush hInstancepop wc.hInstancemov wc.hbrBackground,COLOR_WINDOW1mov wc.lpszMenuName,NULLmov wc.lpszClassName,OFFSET ClassNameinvoke LoadIcon,NULL,IDI_APPLICATIONmov wc.hIcon,eaxmov wc.hIconSm,0invoke LoadCursor,NULL,IDC_ARROWmov wc.hCursor,eaxinvoke RegisterClassEx, addr wcINVOKE CreateWindowEx,NULL,ADDR ClassName,NULL,\WS_POPUP,CW_USEDEFAULT,\CW_USEDEFAULT,250,250,NULL,NULL,\hInstance,NULLmov hwnd,eaxINVOKE ShowWindow, hwnd,SW_SHOWNORMAL.WHILE TRUEINVOKE GetMessage, ADDR msg,NULL,0,0.BREAK .IF (!eax)INVOKE TranslateMessage, ADDR msgINVOKE DispatchMessage, ADDR msg.ENDWmov eax,msg.wParamretShowBitMap endpWndProc proc hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORDLOCAL ps:PAINTSTRUCTLOCAL hdc:HDCLOCAL hMemoryDC:HDCLOCAL hOldBmp:DWORDLOCAL bitmap:BITMAPLOCAL DlgHeight:DWORDLOCAL DlgWidth:DWORDLOCAL DlgRect:RECTLOCAL DesktopRect:RECT.if uMsgWM_DESTROY.if hBitMap!0invoke DeleteObject,hBitMap.endifinvoke PostQuitMessage,NULL.elseif uMsgWM_CREATEinvoke GetWindowRect,hWnd,addr DlgRectinvoke GetDesktopWindowmov ecx,eaxinvoke GetWindowRect,ecx,addr DesktopRectpush 0mov eax,DlgRect.bottomsub eax,DlgRect.topmov DlgHeight,eaxpush eaxmov eax,DlgRect.rightsub eax,DlgRect.left
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

帮人家做网站广州番禺区有什么好玩的地方

链接:https://pan.quark.cn/s/e8d0bb77da1bT4DDiG File Repair是一款由人工智能驱动的软件,专门用于修复受损或质量下降的视频、照片、文件和音频。它不仅能够改善媒体文件的质量,还能为黑白媒体内容增添色彩。4DDiG的照片编辑功能可以解决所…

张小明 2026/1/1 21:35:17 网站建设

衡阳网站建设公司地址企业黄页网站源码

Vosk Android中文语音识别模型部署完整指南:终极解决方案 【免费下载链接】vosk-android-demo alphacep/vosk-android-demo: Vosk Android Demo 是一个演示项目,展示了如何在Android平台上使用Vosk语音识别引擎进行实时语音转文本功能。Vosk是开源的离线…

张小明 2026/1/1 23:34:00 网站建设

个人可以做招聘网站吗做电工的有接单的网站吗

#SQL性能优化 #数据库索引 #执行计划 #后端架构 #技术深度 引言 在软件工程的漫长旅途中,我们总会积累一套行之有效的“方法论”或“设计模式”。在数据库性能调优领域,这些法则尤为明确,例如“谓词下推(Predicate Pushdown&#…

张小明 2026/1/1 23:35:54 网站建设

丽水网站建设公司物联网有前途吗

Dify社区问答精选:高频问题官方解答 在AI应用从实验室走向生产线的今天,越来越多企业面临一个现实困境:大模型能力强大,但真正落地却步履维艰。提示词反复调试无效、知识库更新后回答不变、客服机器人答非所问……这些问题背后&a…

张小明 2026/1/2 2:13:10 网站建设

做枪网站备案需要网站空间

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 目录被Node.js支配的恐惧:一个前端开发者的自白书(2025年版) 一、Node.js是什么玩意儿&#…

张小明 2026/1/2 2:48:50 网站建设

建设网站需要什么软件做网站要需要多少钱

从“背锅侠”到“团队灯塔”的蜕变 在软件开发的江湖中,测试人员常自嘲为“人肉BUG探测仪”,但当你递出一份让产品经理沉默、开发同学流泪、老板竖起大拇指的测试报告时,你会发现自己不再是流程中的“最后一环”,而是驱动项目精进…

张小明 2026/1/2 4:17:58 网站建设