当前位置: 首页 > news >正文

营销型网站托管中国住房和城乡建设部网站安全

营销型网站托管,中国住房和城乡建设部网站安全,网站建设阿华seo,移动端app开发;运行效果 ;win32汇编环境,窗口程序中使编辑框控件子类化的示例一 ;窗口子类化#xff0c;就是把某种控件#xff0c;自已再打造一遍#xff0c;加入自已的功能。比如弄个特殊形状的按钮#xff0c;或只能输入特殊字符的编辑框 ;当然#xff0c;一般来说#xff0c;这都是…;运行效果 ;win32汇编环境,窗口程序中使编辑框控件子类化的示例一 ;窗口子类化就是把某种控件自已再打造一遍加入自已的功能。比如弄个特殊形状的按钮或只能输入特殊字符的编辑框 ;当然一般来说这都是很麻烦的事儿。其它的语言像VC之类的有子类的概念其原理也是这些但是又进行了更复杂的封装。所以知其然更知其所以然很重要。 ;这里的例子是把默认的编辑框弄成只能输入十六进制的编辑框。 ;复制下面代码进RadAsm可直接编译。重要部分加备注。 ;下面为asm文件 .386  .model flat,stdcall  option casemap:none  include      windows.inc  include      user32.inc  includelib   user32.lib            include      kernel32.inc  includelib   kernel32.lib  ; WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD        EditWndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD                                           ; .DATA                                    ClassName   db SimpleWinClass,0         AppName     db 窗口程序的模版,0 szSTClass   db static,0                          ;静态控件类名 szSTCaption db 该编辑框只能输入十六进制数值:,0 EditClass   db EDIT,0                            ;编辑框的类名 Message     db 你按下了回车键,0  .DATA?                                   hInstance   HINSTANCE  ?                 CommandLine LPSTR      ?  hwndEdit    dd ?  OldWndProc  dd ?                  ; .CODE                       start:                       invoke GetModuleHandle, NULL                                                     mov hInstance,eax  invoke GetCommandLine                                                                                        mov CommandLine,eax  invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT         invoke ExitProcess, eax                                           ; WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD          LOCAL wc:WNDCLASSEX                                                   LOCAL msg:MSG          LOCAL hwnd:HWND  mov   wc.cbSize,SIZEOF WNDCLASSEX                                     mov   wc.style, CS_HREDRAW or CS_VREDRAW                              mov   wc.lpfnWndProc, OFFSET WndProc                                 mov   wc.cbClsExtra,NULL          mov   wc.cbWndExtra,NULL          push  hInstance          pop   wc.hInstance          mov   wc.hbrBackground,COLOR_WINDOW          mov   wc.lpszMenuName,NULL          mov   wc.lpszClassName,OFFSET ClassName          invoke LoadIcon,NULL,IDI_APPLICATION                                   mov   wc.hIcon,eax          mov   wc.hIconSm,eax          invoke LoadCursor,NULL,IDC_ARROW                                       mov   wc.hCursor,eax          invoke RegisterClassEx, addr wc                                       invoke CreateWindowEx,NULL, ADDR ClassName,ADDR AppName,WS_OVERLAPPEDWINDOW,100,100,270,150, NULL,NULL,hInst, NULL          mov   hwnd,eax          invoke ShowWindow, hwnd,CmdShow                                       invoke UpdateWindow, hwnd                                     .while TRUE                                                                    invoke GetMessage, ADDR msg,NULL,0,0                  .break .if (!eax)                  invoke TranslateMessage, ADDR msg                  invoke DispatchMessage, ADDR msg          .endw          mov     eax,msg.wParam                                                  ret  WinMain endp  ; WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM            .if uMsg WM_CREATE                 invoke CreateWindowEx,NULL,ADDR szSTClass,ADDR szSTCaption, WS_CHILD WS_VISIBLE,20, 20, 250, 20,hWnd,NULL,NULL,NULL                                                                          ;创建静态控件用来显示文本 invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR EditClass,NULL,WS_CHILDWS_VISIBLEWS_BORDER,20,50,210,25,hWnd,NULL,hInstance,NULL ;创建编辑框                 mov hwndEdit,eax     ;保存编辑框的句柄                 invoke SetFocus,eax  ;让编辑框得到焦点就是程序启动后光标在编辑框里 invoke SetWindowLong,hwndEdit,GWL_WNDPROC,addr EditWndProc     ;把原来的窗口函数地址替换为自定义窗口函数的地址                 mov OldWndProc,eax                                             ;返回值则是原来的窗口函数地址 .elseif uMsg WM_DESTROY                                                            invoke PostQuitMessage,NULL                                        .else                  invoke DefWindowProc,hWnd,uMsg,wParam,lParam                      ret      .endif      xor eax,eax      ret  WndProc endp  ; EditWndProc PROC hEdit:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD   ;这个窗口函数是插入主窗口消息循环的函数只截取了2个消息即下面的 WM_CHAR 和 WM_KEYDOWN其它的消息不管仍交回原主窗口 WndProc 函数处理     .if uMsg WM_CHAR        ;截取了WM_CHAR消息相当于在这个编辑框里按任何字符都在这里面处理。而里面除了处理这十六个字符和删除键backspace键外没有对其它字符的处理所以会导致按其它的字符没有反应         mov eax,wParam          .if (al0 al9) || (alA alF) || (ala alf) || alVK_BACK              .if ala alf                  sub al,20h                                            ;加上20h是让小写的变成大写的             .endif              invoke CallWindowProc,OldWndProc,hEdit,uMsg,eax,lParam    ;如果在CHAR消息发生时不是在这些范围内的字符则返回这个地址 OldWndProc 函数继续执行就是返回原来的主窗口WndProc函数执行其它消息             ret          .endif      .elseif uMsgWM_KEYDOWN   ;截取了WM_KEYDOWN消息         mov eax,wParam          .if al VK_RETURN    ;如果按了回车键则显示输入的是什么内容             invoke MessageBox,hEdit,addr Message,addr AppName,MB_OKMB_ICONINFORMATION              invoke SetFocus,hEdit          .else              invoke CallWindowProc,OldWndProc,hEdit,uMsg,wParam,lParam ;如果在按键消息发生时不是按的回车键则返回这个地址 OldWndProc 函数继续执行             ret          .endif      .else          invoke CallWindowProc,OldWndProc,hEdit,uMsg,wParam,lParam     ;如果不是上面的 WM_CHAR 和 WM_KEYDOWN 消息则返回这个地址 OldWndProc 函数继续执行         ret      .endif      xor eax,eax      ret  EditWndProc endp ; end start
http://www.hkea.cn/news/14387707/

相关文章:

  • 河南平顶山网站建设与管理专业重庆网站制作权威乐云践新
  • 甘肃建设项目公示网站网站常见的域名
  • 用什么制作网站国家反诈中心app下载安装
  • 做网站收入怎样销售管理系统的功能
  • 安徽省工程建设信息网站网站建设中 请稍后访问
  • 网站建设实训报告模板英文搜索网站
  • 哪些网站可以做网站网站开发的分录怎么做
  • 东莞网站建设案例南宁机关两学一做网站
  • 网站建站加盟佛山网站建设与推广
  • 找网站做q币php 茶叶网站
  • 攸县网站开发网站制作网站建
  • 自己建设网站流程做便民工具网站
  • 做网站使用明星照片可以吗怎么做一个盈利网站
  • 网站建设内链网站设计 培训
  • 一个简单的个人网站网络创作网站
  • No商业网站建设网站制作加教程视频教程
  • 网站设计公司地址公司网站维护与更新
  • 北京招聘网站设计师网站去哪备案
  • 天水网站建设公司供水开发建设公司网站
  • 360网站认证域名广东省广州市白云区白云湖街道
  • seo优化网站技术排名百度推广pr效果做的好的网站有哪些
  • 网站中图片下移怎么做成都高端室内设计公司
  • 知名网站建设推广wordpress 小游戏主题
  • 山西太原网站制作软件开发文档用什么写
  • 企业网站建设可以分为哪些层次企业网站如何设计
  • 江苏怎么做网站排名优化赣州是哪个省
  • 网站页面设计论文做视频网站需要流量
  • 网站制作推荐新鸿儒福建建设监理网站
  • 怎么识别网站是用什么语言做的dw建网站具体步骤
  • 太原网站制作多少钱八亿免费建站