SetItemText

SetItemText有两种方式,一种是在插入行时候调用,一种是在插完行后调用

BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );

一:插入行时候调用

void CDYWorkingFilesManageDlg::ShowMachineFiles(const z_net_client_handle_t hNetClient)
{


	int lengthOfWcs =0; 
	int i=0;
	TCHAR szfilename[MAX_PATH];
	TCHAR szFilesize[512];
	TCHAR szFileTime[512];

	z_dir_handle_t dir;
	if( zNAOpenDir( hNetClient, "nd:\\*", &dir ) >= 0 )
	{
		z_file_entry_t ent;
		bool_t valid;
	
		ListView_DeleteAllItems(m_pListCtrlRemote->m_hWnd);
		while( true )
		{

			if( zNAReadDir( hNetClient, dir, &ent, &valid ) < 0 )
			{
				break;
			}
			if( valid )
			{
				if ((0==strcmp(".",ent.fileName))||(0==strcmp("..",ent.fileName)))
				{
					continue;
				}
				lengthOfWcs=MultiByteToWideChar( CP_ACP, 0, ent.fileName, -1, NULL, 0 );
				MultiByteToWideChar( CP_ACP, 0,  ent.fileName, -1, szfilename, lengthOfWcs );

				swprintf_s(szFilesize,_T("%d"),ent.fileSize);
				m_pListCtrlRemote->InsertItem(i,szfilename);
				m_pListCtrlRemote->SetItemText(0,1,szFilesize);
				i++;


			}
			else
			{
				break;
			}

		}
		zNACloseDir( hNetClient, dir );
		
	}

}


         

这种是插入时候调用,nItem必须为0,否则会出现这种情况,



二:插完行后调用

               //after insertitem
		for (int k=0;k<3;k++)
		{
			m_pListCtrlRemote->SetItemText(k,1,szFilesize);
		}

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP,UDP服务端口,HMODULE hIpDLL = LoadLibrary( "iphlpapi.dll"); if ( !hIpDLL) return; PMIB_TCPTABLE_OWNER_PID pTcpTable(NULL); DWORD dwSize(0); PGet_Extended_TcpTable pGetExtendedTcpTable = NULL; pGetExtendedTcpTable = (PGet_Extended_TcpTable) GetProcAddress(hIpDLL, "GetExtendedTcpTable"); if(pGetExtendedTcpTable==NULL) { FreeLibrary(hIpDLL); return; } if(pGetExtendedTcpTable(pTcpTable, &dwSize, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0) == ERROR_INSUFFICIENT_BUFFER) pTcpTable = (MIB_TCPTABLE_OWNER_PID *)new char[dwSize];//重新分配缓冲区 if (pGetExtendedTcpTable(pTcpTable, &dwSize, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0) != NO_ERROR) { delete pTcpTable; return; } CString sTemp; m_PortList.DeleteAllItems(); int nNum = (int)pTcpTable->dwNumEntries; //TCP连接的数目 // nNum = 0; for (int i = 0; itable[i].dwLocalAddr))); sTemp.Format("%u",htons((WORD)pTcpTable->table[i].dwLocalPort)); m_PortList.SetItemText(i,4,sTemp); m_PortList.SetItemBgColor(i,4,RGB(210,0,0)); m_PortList.SetItemText(i,5,FormatNumToIpv4(htonl(pTcpTable->table[i].dwRemoteAddr))); sTemp.Format("%u",htons((WORD) pTcpTable->table[i].dwRemotePort)); m_PortList.SetItemText(i,6,sTemp); sTemp.Format("%u",pTcpTable->table[i].dwOwningPid); m_PortList.SetItemText(i,8,sTemp); //ProcessPidToName(pTcpTable->table[i].dwOwningPid,i); ProcessPidToNameX(pTcpTable->table[i].dwOwningPid,i); switch (pTcpTable->table[i].dwState) { case MIB_TCP_STATE_CLOSED: m_PortList.SetItemText(i,2,"CLOSED"); break; case MIB_TCP_STATE_LISTEN: m_PortList.SetItemText(i,2,"LISTEN"); break; case MIB_TCP_STATE_SYN_SENT: m_PortList.SetItemText(i,2,"SYN
用于完成指定目录变化监控 /*----------------------线程函数------------------------------------*/ DWORD WINAPI CDDlg::ThreadProc( LPVOID lParam ) //线程函数 { CDDlg* obj = (CDDlg*)lParam; //参数转化 obj->hDir = CreateFile( //打开目录,得到目录的句柄 obj->m_strWatchedDir, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL ); if(obj->hDir ==INVALID_HANDLE_VALUE ) return false; char buf[(sizeof(FILE_NOTIFY_INFORMATION)+MAX_PATH)*2]; FILE_NOTIFY_INFORMATION* pNotify=(FILE_NOTIFY_INFORMATION*)buf; DWORD dwBytesReturned; while(true) { if( ::ReadDirectoryChangesW( obj->hDir, pNotify, sizeof(buf), true, FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_DIR_NAME| FILE_NOTIFY_CHANGE_ATTRIBUTES| FILE_NOTIFY_CHANGE_SIZE| FILE_NOTIFY_CHANGE_LAST_WRITE| FILE_NOTIFY_CHANGE_LAST_ACCESS| FILE_NOTIFY_CHANGE_CREATION| FILE_NOTIFY_CHANGE_SECURITY, &dwBytesReturned, NULL, NULL ) ) { char tmp[MAX_PATH], str1[MAX_PATH], str2[MAX_PATH]; memset( tmp, 0, sizeof(tmp) ); //ZeroMemory() WideCharToMultiByte( CP_ACP,0,pNotify->FileName,pNotify->FileNameLength/2,tmp,99,NULL,NULL ); strcpy( str1, tmp ); if(pNotify->NextEntryOffset !=0 ) { PFILE_NOTIFY_INFORMATION p = (PFILE_NOTIFY_INFORMATION)((char*)pNotify+pNotify->NextEntryOffset); memset( tmp, 0, sizeof(tmp) ); WideCharToMultiByte( CP_ACP,0,p->FileName,p->FileNameLength/2,tmp,99,NULL,NULL ); strcpy( str2, tmp ); } switch(pNotify->Action) { case FILE_ACTION_ADDED: if(obj->m_bAddNew0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"添加了新文件"); obj->m_list.SetItemText(0,3,str1); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; case FILE_ACTION_REMOVED: if(obj->m_bDel0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"删除了文件"); obj->m_list.SetItemText(0,3,str1); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; case FILE_ACTION_RENAMED_NEW_NAME: if(obj->m_bRename0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"重命名了文件"); strcat(str1,"->"); obj->m_list.SetItemText(0,3,strcat(str1,str2)); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; case FILE_ACTION_RENAMED_OLD_NAME: if(obj->m_bRename0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"重命名了文件"); strcat(str1," 改名为 "); obj->m_list.SetItemText(0,3,strcat(str1,str2)); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; case FILE_ACTION_MODIFIED: if(obj->m_bModify0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"修改了文件"); obj->m_list.SetItemText(0,3,str1); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; default: if(obj->m_bOther0) { CTime tt=CTime::GetCurrentTime(); CString strTT; strTT.Format("%d:%d:%d",tt.GetHour(),tt.GetMinute(),tt.GetSecond()); obj->m_list.InsertItem(0,obj->m_szi); obj->m_list.SetItemText(0,2,"未知变化"); obj->m_list.SetItemText(0,3,""); obj->m_list.SetItemText(0,1,strTT); // PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(),SND_RESOURCE|SND_PURGE|SND_NODEFAULT); } break; } obj->m_i++; itoa(obj->m_i,obj->m_szi,10); //AfxBeginThread(SoundThread,0); } else break; } return 0; }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值