当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 各位大哥,小弟我现在在公司做毕业设计,今年毕业,现在公司正在用c#开发一些windows窗体软件,小弟我以前没接触过c#,各位大哥能不能帮我出出主意,看看有没有什么好的书或者有关的网站,最好直接是介绍开发windows窗体软件的书,谢谢了! ......
    摘要: 在dos下运行我自己写的一段名叫me.java的程序的时侯,系统显示为: ---exception in thread "main" java.lang.noclassedeffounderror:me/java 我不能解决这个问题,请大家帮帮我。谢谢! ......


网络高手请进

如何用vc获得局域网中的ip和mac地址

NO.1   作者: lijiuhua0721

http://www.zdnet.com.cn/developer/code/story/0,2000081534,39050622,00.htm

NO.2   作者: BlueSky2008

up

NO.3   作者: crizy0621

方法一,netbios   api    
  getmac-netbios.cpp    
  //   Visual   C++   5.0:   cl   -GX   getmac-netbios.cpp   netapi32.lib    
  //   Borland   C++   5.0:   bcc32   getmac-netbios.cpp    
   
  #include   <windows.h>    
  #include   <stdlib.h>    
  #include   <stdio.h>    
  #include   <iostream>    
  #include   <strstream>    
  #include   <string>    
   
  using   namespace   std;    
   
  bool   GetAdapterInfo(int   nAdapterNum,   string   &   sMAC)    
  {    
  //   Reset   the   LAN   adapter   so   that   we   can   begin   querying   it    
  NCB   Ncb;    
  memset(&Ncb,   0,   sizeof(Ncb));    
  Ncb.ncb_command   =   NCBRESET;    
  Ncb.ncb_lana_num   =   nAdapterNum;    
  if   (Netbios(&Ncb)   !=   NRC_GOODRET)   {    
  char   acTemp[80];    
  ostrstream   outs(acTemp,   sizeof(acTemp));    
  outs   <<   "error   "   <<   Ncb.ncb_retcode   <<   "   on   reset"   <<   ends;    
  sMAC   =   acTemp;    
  return   false;    
  }    
   
  //   Prepare   to   get   the   adapter   status   block    
  memset(&Ncb,   0,   sizeof(Ncb));    
  Ncb.ncb_command   =   NCBASTAT;    
  Ncb.ncb_lana_num   =   nAdapterNum;    
  strcpy((char   *)   Ncb.ncb_callname,   "*");    
  struct   ASTAT   {    
  ADAPTER_STATUS   adapt;    
  NAME_BUFFER   NameBuff[30];    
  }   Adapter;    
  memset(&Adapter,   0,   sizeof(Adapter));    
  Ncb.ncb_buffer   =   (unsigned   char   *)&Adapter;    
  Ncb.ncb_length   =   sizeof(Adapter);    
   
  //   Get   the   adapters   info   and,   if   this   works,   return   it   in   standard,    
  //   colon-delimited   form.    
  if   (Netbios(&Ncb)   ==   0)   {    
  char   acMAC[18];    
  sprintf(acMAC,   "%02X:%02X:%02X:%02X:%02X:%02X",    
  int   (Adapter.adapt.adapter_address[0]),    
  int   (Adapter.adapt.adapter_address[1]),    
  int   (Adapter.adapt.adapter_address[2]),    
  int   (Adapter.adapt.adapter_address[3]),    
  int   (Adapter.adapt.adapter_address[4]),    
  int   (Adapter.adapt.adapter_address[5]));    
  sMAC   =   acMAC;    
  return   true;    
  }    
  else   {    
  char   acTemp[80];    
  ostrstream   outs(acTemp,   sizeof(acTemp));    
  outs   <<   "error   "   <<   Ncb.ncb_retcode   <<   "   on   ASTAT"   <<   ends;    
  sMAC   =   acTemp;    
  return   false;    
  }    
  }    
   
  int   main()    
  {    
  //   Get   adapter   list    
  LANA_ENUM   AdapterList;    
  NCB   Ncb;    
  memset(&Ncb,   0,   sizeof(NCB));    
  Ncb.ncb_command   =   NCBENUM;    
  Ncb.ncb_buffer   =   (unsigned   char   *)&AdapterList;    
  Ncb.ncb_length   =   sizeof(AdapterList);    
  Netbios(&Ncb);    
   
  //   Get   all   of   the   local   ethernet   addresses    
  string   sMAC;    
  for   (int   i   =   0;   i   <   AdapterList.length;   ++i)   {    
  if   (GetAdapterInfo(AdapterList.lana[i],   sMAC))   {    
  cout   <<   "Adapter   "   <<   int   (AdapterList.lana[i])   <<    
  "s   MAC   is   "   <<   sMAC   <<   endl;    
  }    
  else   {    
  cerr   <<   "Failed   to   get   MAC   address!   Do   you"   <<   endl;    
  cerr   <<   "have   the   NetBIOS   protocol   installed?"   <<   endl;    
  break;    
  }    
  }    
   
  return   0;    
  }    
   
 


    摘要: 本人毕业设计,负责进销存中的进货问题,但是进货又不能单凭主观的根据一些查询来判断该商品的进货多少吧!是不是有个公式或者什么的解决方案呢!怎么才能实现进货管理的智能化呢!小弟不知如何解决,请各位大侠多多帮忙,提醒小弟一把度过难关! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE