当前位置: 代码迷 >> 汇编语言 >> WIN32 视图列表控件的有关问题
  详细解决方案

WIN32 视图列表控件的有关问题

热度:146   发布时间:2016-05-02 04:32:09.0
WIN32 视图列表控件的问题
ShowProcessInfo    proc    uses edi _dwRow,_lpProcess
            LOCAL    @stLVI:LV_ITEM
            LOCAL    @szBuffer[10]:byte
            
    mov    edi,_lpProcess
    assume    edi:ptr PROCESSENTRY32
    mov    @stLVI.imask,LVIF_TEXT or LVIF_PARAM
    push    _dwRow
    pop    @stLVI.iItem
    mov    @stLVI.iSubItem,0
    push    _dwRow
    pop    @stLVI.lParam
    invoke    wsprintf,addr @szBuffer,offset szTemplate,[edi].th32ProcessID
    lea    eax,@szBuffer
    mov    @stLVI.pszText,eax
    invoke    SendMessage,hList,LVM_INSERTITEM,0,addr @stLVI
    
    
    inc    @stLVI.iSubItem
    mov    @stLVI.pszText,eax
    lea    eax,[edi].szExeFile
    mov    @stLVI.pszText,eax
    invoke    SendMessage,hList,LVM_SETITEM,0,addr @stLVI
    assume    edi:nothing
    

    
    ret

_ShowProcessInfo endp
为什么子项目显示不了进程名··如果我把PROCESSENTRY32改成查找文件的WIN32_FIND_DATA 又能正常加入子项目了··或者我把进程名加到首项目也能正常显示···
------解决方案--------------------
两个地方有问题吧,一个是 LVM_SETITEM 时也要设置 imask 的,即 mov @stLVI.imask,LVIF_TEXT;另外,就是计数用的 edi,但你在调用子程时误写成了 edx:invoke _ShowProcessInfo,edi,addr @stProcess
  相关解决方案