但别人的程序不会,而且些程序在XP下也不会有响声.
解决方案 »
- gsoap生成的WSDL文件怎样发布呀?
- 高分求解,请问mif文件格式以及、读写方法?
- libnet编程中,libnet_autobuild_arp与libnet_build_arp的区别是什么?
- 数据库里的记录为什么删不掉啊?说键行信息不足或不正确,更新影响到多行。
- 关於CString的问题
- 求和.dll文件连接操作的程序谢谢。。
- 谁可以给我写段代码吗?基于对话框的的程序上有3个按钮(运行,暂停,结束),点第1个按钮,运行一线程完成一系列操作,点第2个按钮暂
- 在多文档程序中如何使两个实图显示相同的文档?
- 大家来讨论一下如何用CryptoAPI对网络通信数据进行加密如何?
- Win7 VC6.0下用GetAdaptersAddresses获取MAC地址失败
- keyboard vkcode
- MFC
void CMyDlg::OnItemchangedDevicelist(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here int nItem;
if(m_devList.GetItemCount()>0){
nItem=RetriveTargetMAC(MacAdrs);
if(nItem>=0)
{
//////////////////
CString szCnt;
CString sz;
sz.LoadString(IDS_SELECTDEVICE);
szCnt.Format(sz,m_Dev_count);
m_selcnt.SetWindowText(szCnt);
////////////
int nSel = pNMListView->iItem;
if(m_devList.GetItemCount()>0&&nSel>=0){
LPTSTR* arrpsz =m_devList.GetTextArray(nSel);
LPTSTR pszText = arrpsz[0];
memcpy(m_strLastSerial,pszText,10);
}
if(g_bSearch)
{
int nSelcount = m_devList.GetSelectedCount();
if(nSelcount>0)
{
CString csCnt;
if(nSelcount>1)
{
sz.LoadString(IDS_SELECTMORE);
csCnt.Format(sz,nSelcount);
}
else{
sz.LoadString(IDS_SELECTONE);
csCnt.Format(sz,nSelcount);
}
m_selcnt.SetWindowText(csCnt);
OnInval();
}
return;
}else
{
int nSelcount = m_devList.GetSelectedCount();
CString csCnt;
CString cs;
cs.LoadString(IDS_SELECTDEVICE2);
csCnt.Format(cs,nSelcount,m_Dev_count);
m_selcnt.SetWindowText(csCnt);
OnInval();
}
CString szDevinfo="";
char strMac[128]={0};
if(m_devList.GetSelectedCount()==1/*&&m_devList.GetItemState(nSel,LVIS_SELECTED)*/){
sprintf(strMac,"%02X-%02X-%02X-%02X-%02X-%02X",(int)dev_info[nItem].hw_info.mac_adrs[0]
,(int)dev_info[nItem].hw_info.mac_adrs[1]
,(int)dev_info[nItem].hw_info.mac_adrs[2]
,(int)dev_info[nItem].hw_info.mac_adrs[3]
,(int)dev_info[nItem].hw_info.mac_adrs[4]
,(int)dev_info[nItem].hw_info.mac_adrs[5]);
sz.LoadString(IDS_DEVICEINFO);
szDevinfo.Format(sz,dev_info[nItem].hw_info.hw_ver,dev_info[nItem].sw_ver,strMac);
//szDevinfo="Hardware Version:"+dev_info[nItem].hw_info.hw_ver+"\n"+"Firmware Version:"+dev_info[nItem].sw_ver+"\n"+"Mac Address:"+strMac;
m_ed.SetWindowText(szDevinfo);
}else
{
m_ed.SetWindowText("");
}
OnInval();
}else
{
CString szCnt;
CString sz;
if(!g_bSearch){
sz.LoadString(IDS_SELECTNULL);
szCnt.Format(sz,m_Dev_count);
m_ed.SetWindowText("");
m_selcnt.SetWindowText(szCnt);
}else
{
sz.LoadString(IDS_SELECTONE);
szCnt.Format(sz,0);
m_selcnt.SetWindowText(szCnt);
}
OnInval();
}
}
*pResult = 0;
}
void CMyDlg::OnClickDevicelist(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//AfxMessageBox("0000000");
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(m_devList.GetItemCount()<1)
{
return;
}
if(m_devList.GetSelectedCount()<1)
{//禁止取消选定最后一项
m_devList.SetItemState(pNMListView->iItem, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
} int nSel = pNMListView->iItem;
if(m_devList.GetItemCount()>nSel&&nSel>=0){
LPTSTR* arrpsz =m_devList.GetTextArray(nSel);
LPTSTR pszText = arrpsz[0];
memcpy(m_strLastSerial,pszText,10);
} int nItem;
nItem=RetriveTargetMAC(MacAdrs);
if(nItem<0)
{
return;
}
////////////////
if(g_bSearch)
{
return;
}
////////////////////
int nSelcount = m_devList.GetSelectedCount();
CString csCnt;
CString cs;
cs.LoadString(IDS_SELECTDEVICE2);
csCnt.Format(cs,nSelcount,m_Dev_count);
m_selcnt.SetWindowText(csCnt);
OnInval();
//////////获得最后选定项目的序列号以便下次定位到这一项////////// if(m_devList.GetSelectedCount()==1)//是否选定了多项。
{
CString szDevinfo="";
char strMac[128]={0};
CString sz;
sprintf(strMac,"%02X-%02X-%02X-%02X-%02X-%02X",(int)dev_info[nItem].hw_info.mac_adrs[0]
,(int)dev_info[nItem].hw_info.mac_adrs[1]
,(int)dev_info[nItem].hw_info.mac_adrs[2]
,(int)dev_info[nItem].hw_info.mac_adrs[3]
,(int)dev_info[nItem].hw_info.mac_adrs[4]
,(int)dev_info[nItem].hw_info.mac_adrs[5]);
sz.LoadString(IDS_DEVICEINFO);
szDevinfo.Format(sz,dev_info[nItem].hw_info.hw_ver,dev_info[nItem].sw_ver,strMac);
//szDevinfo="Hardware Version:"+dev_info[nItem].hw_info.hw_ver+"\n"+"Firmware Version:"+dev_info[nItem].sw_ver+"\n"+"Mac Address:"+strMac;
m_ed.SetWindowText(szDevinfo);
}else
{m_ed.SetWindowText("");}
OnInval(); *pResult = 0;
}int CSet_CenterDlg::FindLastSel(unsigned char* szSerial)
{
int i=0;
for(;i<m_Dev_count;i++){
LPTSTR* arrpsz =m_devList.GetTextArray(i);
LPTSTR pszText = arrpsz[0];
if(memcmp(szSerial,pszText,10)==0) break ;
}
if(i==m_Dev_count)
i=0;
return i;
}