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

国外科技感强的网站seo提升排名技巧

国外科技感强的网站,seo提升排名技巧,绿化公司和苗圃做网站,哪些网站是做外贸生意的;运行效果 ;双击后 ;上源码,仔细研究里面的几条备注就理解原理了 ;提取窗口程序内生成的listview列表控件的内容示例程序 ;抄下面源码,可以在radasm里面直接编译运行。主要的部分加了备注。 ;>>>>>>>>>>>>>>…

 ;运行效果

;双击后

;上源码,仔细研究里面的几条备注就理解原理了

;提取窗口程序内生成的listview列表控件的内容示例程序
;抄下面源码,可以在radasm里面直接编译运行。主要的部分加了备注。
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .386
        .model flat,stdcall
        option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include        windows.inc
include        gdi32.inc
includelib    gdi32.lib
include        user32.inc
includelib    user32.lib
include        kernel32.inc
includelib    kernel32.lib

include        gdi32.inc         ;加入这个
includelib    gdi32.lib         ;加入这个
include         comctl32.inc      ;加入这个
includelib      comctl32.lib      ;加入这个
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .data?

hInstance    dd        ?
hWinMain    dd        ?

h_List          dd  ?

        .const
szClassName    db    'MyClass',0
szCaptionMain    db    'win32汇编环境窗口程序listview列表控件点击排序示例',0

sz_Colon_Signal    db        ':',0   ;冒号
sz_Enter_Signal    db        0dh,0ah,0      ;回车换行符
szDblickName_List  db        "当前双击的是",0 

szlistViewClassName                   db        "SysListView32",0 ;加这个

Heading1          db        "序号",0   ;第1列名称
Heading2          db        "姓名",0   ;第1列名称
Heading3          db        "性别",0 

Heading2_1        db        "刘备",0   ;第2列第1行字符串
Heading2_2        db        "绍婵",0   ;第2列第2行字符串 
Heading2_3        db        "关羽",0
Heading2_4        db        "西施",0

Heading3_1        db        "男",0 
Heading3_2        db        "女",0
Heading3_3        db        "男",0 
Heading3_4        db        "女",0 

                 .data
                 
sztemplate        db        "%d",0   ;格式化序号用

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
        .code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
RGB macro red,green,blue ;颜色宏,让listview列表控件好看点
  xor eax,eax 
  mov ah,blue 
  shl eax,8 
  mov ah,green 
  mov al,red 
endm 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ShowCurrentFocus proc    ;提取被双击到的某项内容
        LOCAL lvi:LV_ITEM 
        LOCAL szbuffer[256]:BYTE 
        LOCAL szAllShowbuffer[256]:BYTE
        
        invoke  RtlZeroMemory,addr szbuffer,sizeof szbuffer
        invoke  RtlZeroMemory,addr szAllShowbuffer,sizeof szAllShowbuffer                      ;缓冲区清空,防止此片内存有残留内容。
        
        invoke SendMessage,h_List,LVM_GETNEXTITEM,-1, LVNI_FOCUSED    ;LVM_GETNEXTITEM消息搜索有指定属性的行,比如指定LVNI_FOCUSED属性,而LVNI_FOCUSED就是具有焦点,即被选中的行
        mov lvi.iItem,eax 
        
        mov lvi.iSubItem,0 
        mov lvi.imask,LVIF_TEXT 
        lea eax,szbuffer 
        mov lvi.pszText,eax 
        mov lvi.cchTextMax,256 
        invoke SendMessage,h_List,LVM_GETITEM,0,addr lvi 
        invoke lstrcat,addr szAllShowbuffer,addr Heading1
        invoke lstrcat,addr szAllShowbuffer,addr sz_Colon_Signal   ;加冒号
        invoke lstrcat,addr szAllShowbuffer,addr szbuffer          ;加提取到的数据
        invoke lstrcat,addr szAllShowbuffer,addr sz_Enter_Signal   ;加回车换行
   
        mov lvi.iSubItem,1 
        mov lvi.imask,LVIF_TEXT 
        lea eax,szbuffer 
        mov lvi.pszText,eax 
        mov lvi.cchTextMax,256 
        invoke SendMessage,h_List,LVM_GETITEM,0,addr lvi 
        invoke lstrcat,addr szAllShowbuffer,addr Heading2
        invoke lstrcat,addr szAllShowbuffer,addr sz_Colon_Signal
        invoke lstrcat,addr szAllShowbuffer,addr szbuffer
        invoke lstrcat,addr szAllShowbuffer,addr sz_Enter_Signal   ;加回车换行
   
        mov lvi.iSubItem,2 
        mov lvi.imask,LVIF_TEXT 
        lea eax,szbuffer 
        mov lvi.pszText,eax 
        mov lvi.cchTextMax,256 
        invoke SendMessage,h_List,LVM_GETITEM,0,addr lvi 
        invoke lstrcat,addr szAllShowbuffer,addr Heading3
        invoke lstrcat,addr szAllShowbuffer,addr sz_Colon_Signal
        invoke lstrcat,addr szAllShowbuffer,addr szbuffer
      
        invoke MessageBox,0, addr szAllShowbuffer,addr szDblickName_List,MB_OK or MB_ICONINFORMATION 
        ret 
_ShowCurrentFocus endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ShowListViewInfo proc             ;显示列表视图里的每项信息
    LOCAL lvItem:LV_ITEM
    LOCAL @buffer[10]:byte
    
    ;以下填充第1行的内容
    mov lvItem.imask,LVIF_TEXT    
    mov lvItem.iItem, 0      ;0为第1列,从0开始计算
    mov lvItem.iSubItem, 0   ;0为第1行
    invoke wsprintf,addr @buffer, addr sztemplate,1      ;格式化第1列第1行要显示的字符串
    lea eax, @buffer
    mov lvItem.pszText, eax
    mov lvItem.cchTextMax, sizeof Heading1
    invoke SendMessage, h_List, LVM_INSERTITEM, 0, addr lvItem
        
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,1
    lea eax,offset Heading2_1
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
  
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,2
    lea eax,offset Heading3_1
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
  
    ;以下填充第2行的内容
    mov lvItem.iItem, 1
    mov lvItem.iSubItem, 0  
    invoke wsprintf,addr @buffer, addr sztemplate,2      ;第1列第2行字符串
    lea eax, @buffer
    mov lvItem.pszText, eax
    invoke SendMessage, h_List, LVM_INSERTITEM, 0, addr lvItem
    
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,1
    lea eax,offset Heading2_2
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
  
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,2
    lea eax,offset Heading3_2
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
    
    ;以下填充第3行的内容
    mov lvItem.iItem, 2
    mov lvItem.iSubItem, 0
    invoke wsprintf,addr @buffer, addr sztemplate,3      ;第1列第3行字符串
    lea eax, @buffer
    mov lvItem.pszText, eax
    invoke SendMessage, h_List, LVM_INSERTITEM, 0, addr lvItem
    
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,1
    lea eax,offset Heading2_3
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
  
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,2
    lea eax,offset Heading3_3
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
    
    ;以下填充第4行的内容
    mov lvItem.iItem, 3
    mov lvItem.iSubItem, 0
    invoke wsprintf,addr @buffer, addr sztemplate,4      ;第1列第4行字符串
    lea eax, @buffer
    mov lvItem.pszText, eax
    invoke SendMessage, h_List, LVM_INSERTITEM, 0, addr lvItem
    
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,1
    lea eax,offset Heading2_4
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
  
    mov lvItem.imask,LVIF_TEXT  
    mov lvItem.iSubItem,2
    lea eax,offset Heading3_4
    mov lvItem.pszText,eax 
    invoke SendMessage,h_List, LVM_SETITEM,0, addr lvItem
   
  ret 
_ShowListViewInfo endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_List_InsertColumn proc                                       ;插入列数及名称的函数
  LOCAL lvc:LV_COLUMN 

  mov lvc.imask,LVCF_TEXT+LVCF_WIDTH
  mov lvc.pszText,offset Heading1  ;第1列的标题栏名称
  mov lvc.lx,100     ;宽度
  invoke SendMessage,h_List, LVM_INSERTCOLUMN, 0, addr lvc
  
  or lvc.imask,LVCF_FMT
  mov lvc.fmt,LVCFMT_LEFT
  mov lvc.pszText,offset Heading2  ;第2列的标题栏名称 
  mov lvc.lx,150
  invoke SendMessage,h_List, LVM_INSERTCOLUMN, 1 ,addr lvc 
  
  mov lvc.pszText,offset Heading3
  mov lvc.lx,125
  invoke SendMessage,h_List, LVM_INSERTCOLUMN, 2 ,addr lvc 
   
  ret 
_List_InsertColumn endp 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 窗口过程
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcWinMain    proc    uses ebx edi esi,hWnd,uMsg,wParam,lParam
        local    @stPs:PAINTSTRUCT
        local    @stRect:RECT
        local    @hDc
        
        LOCAL   @DEFAULT_GUI_FONT,@OLD_DEFAULT_GUI_FONT   ;加入这个,字体使用

        mov    eax,uMsg
;********************************************************************
        .if    eax ==    WM_PAINT
            invoke    BeginPaint,hWnd,addr @stPs

            invoke    EndPaint,hWnd,addr @stPs
        .elseif    eax ==    WM_CREATE
            mov    eax,hWnd
            mov    hWinMain,eax
            
                        invoke  GetStockObject,DEFAULT_GUI_FONT   
                        mov @DEFAULT_GUI_FONT,eax 
                   invoke  CreateWindowEx, NULL, addr szlistViewClassName, NULL, LVS_REPORT or WS_CHILD or WS_VISIBLE, \                           ;名单列表视图
                           0,0,0,0,hWnd, NULL, hInstance, NULL 
                        mov     h_List, eax 
                        mov     eax,LVS_EX_FULLROWSELECT or LVS_EX_GRIDLINES or LVS_EX_SUBITEMIMAGES    ;设置ListView全行选择,网格等样式.
                        invoke  SendMessage,h_List,LVM_SETEXTENDEDLISTVIEWSTYLE,0,eax
                        invoke  ImageList_Create,0,35,ILC_COLORDDB or ILC_MASK,0,0                      ;调整ImageList高,就可调整listView行高,就是把它撑大点
                        invoke  SendMessage,h_List,LVM_SETIMAGELIST,LVSIL_SMALL,eax            
                        invoke  SendMessage,h_List,WM_SETFONT,@DEFAULT_GUI_FONT,TRUE
                        
                        RGB 0,0,0 
                        invoke  SendMessage,h_List,LVM_SETTEXTCOLOR,0,eax    ;设置文本颜色
                        RGB 131,175,155
                        invoke  SendMessage,h_List,LVM_SETBKCOLOR,0,eax      ;设置背景颜色
                        RGB 131,175,155
                        invoke  SendMessage,h_List,LVM_SETTEXTBKCOLOR,0,eax  ;设置文本背景颜色
                        
                        invoke    MoveWindow,h_List,0,0,375,520,TRUE            ;调整列表视图的位置才能显示出来
                        invoke  _List_InsertColumn                            ;调用初始化ListView控件的函数 
                        invoke  _ShowListViewInfo                             ;调用初始化显示列表视图内容的函数
         .elseif eax== WM_NOTIFY                                       ;当事件发生或控件需要一些信息时,由公共控件发送到其父窗口。
                        push edi 
                        mov edi,lParam                  ;接收到了 WM_NOTIFY 消息后,lParam 包含了指向 NMHDR 型结构体变量的指针。我们通过把列表视图控件的值和 NMHDR 型                                            
                        assume edi:ptr NMHDR            ;结构体变量中的 hwndFrom 成员变量的值比较来判断,如果相等的话就可以确定消息是列表视图控件发送的 
                        mov eax,[edi].hwndFrom 
                        .if eax==h_List 
                                .if [edi].code==NM_DBLCLK            ;双击项目显示第一条信息
                                        invoke _ShowCurrentFocus     ;调用提取listview控件内容并弹出信息的函数
                                .endif 
                        .endif 
                        pop edi 
;********************************************************************
        .elseif    eax ==    WM_CLOSE
            invoke    DestroyWindow,hWinMain
            invoke    PostQuitMessage,NULL
;********************************************************************
        .else
            invoke    DefWindowProc,hWnd,uMsg,wParam,lParam
            ret
        .endif
;********************************************************************
        xor    eax,eax
        ret

_ProcWinMain    endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_WinMain    proc
        local    @stWndClass:WNDCLASSEX
        local    @stMsg:MSG
        
                invoke    InitCommonControls     ;加上这句
        invoke    GetModuleHandle,NULL
        mov    hInstance,eax
        invoke    RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
;********************************************************************
; 注册窗口类
;********************************************************************
        invoke    LoadCursor,0,IDC_ARROW
        mov    @stWndClass.hCursor,eax
        push    hInstance
        pop    @stWndClass.hInstance
        mov    @stWndClass.cbSize,sizeof WNDCLASSEX
        mov    @stWndClass.style,CS_HREDRAW or CS_VREDRAW
        mov    @stWndClass.lpfnWndProc,offset _ProcWinMain
        mov    @stWndClass.hbrBackground,COLOR_WINDOW + 1
        mov    @stWndClass.lpszClassName,offset szClassName
        invoke    RegisterClassEx,addr @stWndClass
;********************************************************************
; 建立并显示窗口
;********************************************************************
        invoke    CreateWindowEx,WS_EX_CLIENTEDGE,offset szClassName,offset szCaptionMain,\
            WS_OVERLAPPEDWINDOW,\
            100,100,395,420,\
            NULL,NULL,hInstance,NULL
        mov    hWinMain,eax
        invoke    ShowWindow,hWinMain,SW_SHOWNORMAL
        invoke    UpdateWindow,hWinMain
;********************************************************************
; 消息循环
;********************************************************************
        .while    TRUE
            invoke    GetMessage,addr @stMsg,NULL,0,0
            .break    .if eax    == 0
            invoke    TranslateMessage,addr @stMsg
            invoke    DispatchMessage,addr @stMsg
        .endw
        ret_WinMain    endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
        call    _WinMain
        invoke    ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        end    start

http://www.ds6.com.cn/news/83266.html

相关文章:

  • 做行程的网站化妆品软文推广范文
  • 南昌网站建设业务南京关键词优化软件
  • 举例说明商业网站的建设流程百度品牌专区怎么收费
  • 药品加工厂做网站福州百度推广优化排名
  • 南通做网站公司推广网络营销外包公司
  • 霞浦县建设局网站cps推广平台有哪些
  • 雨默合肥做网站推广如何刷关键词指数
  • dw网页武汉seo人才
  • 学做蛋糕哪个网站好站长之家seo工具
  • 湖北建设厅网站首页推广一般去哪发帖
  • 大流量网站 优化杭州seo教程
  • 阿里云做网站开发吗灰色词排名接单
  • wordpress下载插件美化seo推广的特点
  • 国家基础设施建设网站网站数据统计
  • 襄汾县住房和建设局网站浙江企业seo推广
  • magento做预订类网站页面关键词优化
  • 企业网站手机端模板下载手机如何制作网页
  • 公司建设网站制作百度客服24小时电话人工服务
  • unix做网站常用的数据库网站优化要多少钱
  • 网站制作窍门安年软文网
  • 手机移动端网站营销网站建设流程
  • 哪个网站买东西是正品又便宜网站竞价推广怎么做
  • 网站设计与建设实训互联网营销师资格证
  • dw做网站首页长宽设置多少企业网站推广优化
  • 软件技术跟网站开发有关系吗国外引流推广平台
  • 网站维护需要的知识想在百度上推广怎么做
  • 哈 做网站陕西网站建设网络公司
  • 墨刀做网站上下滑动的交互个人怎么接外贸订单
  • wp网站做404线上销售平台都有哪些
  • 百度bch主机怎么做多个网站百度流量