我分了四个columns,但是选择只能选择最左边的一个,请问怎么来选择整个这一个item,是sdk编的,顺便问一下,怎么取得一个进程的内存大小,已知道他的句柄?

解决方案 »

  1.   

    ::SendMessage(m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM) dwNewStyle);
      

  2.   

    ::SendMessage(hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)LVS_EX_FULLROWSELECT);
      

  3.   

    BOOL GetProcessMemoryInfo(
      HANDLE Process,                          // handle to process
      PPROCESS_MEMORY_COUNTERS ppsmemCounters, // buffer
      DWORD cb                                 // size of buffer
    );
      

  4.   

    ListView_SetExtendedListViewStyleEx( 
             m_lsd.GetSafeHwnd(), 
             LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES,
     LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);其中m_lsd为控件对象
    LVS_EX_FULLROWSELECT是表示整行选中,LVS_EX_GRIDLINES是表示带格子
      

  5.   

    LVS_EX_FULLROWSELECT属于扩展风格。其他的高级控件也有类似的一些设置,用来控制控件的外观和行为。
      

  6.   

    PPROCESS_MEMORY_COUNTERS我取到了,但是不知道是哪个?
    typedef struct _PROCESS_MEMORY_COUNTERS {
        DWORD cb;
        DWORD PageFaultCount;
        SIZE_T PeakWorkingSetSize;
        SIZE_T WorkingSetSize;
        SIZE_T QuotaPeakPagedPoolUsage;
        SIZE_T QuotaPagedPoolUsage;
        SIZE_T QuotaPeakNonPagedPoolUsage;
        SIZE_T QuotaNonPagedPoolUsage;
        SIZE_T PagefileUsage;
        SIZE_T PeakPagefileUsage;
    } PROCESS_MEMORY_COUNTERS;
    typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
    到底是哪个值呢?
      

  7.   

    我使用WorkingSetSize,基本上正确了,但是就是system process的内存老是不对。这是什么原因?
      

  8.   

    ListView_SetExtendedListViewStyle(GetListCtrl(), LVS_EX_FULLROWSELECT);
      

  9.   

    设置属性CListCtrl& lc = GetListCtrl(); ::SendMessage(lc.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);