环球网校是美国纳斯达克上市企业欢聚时代(NASDAQ:YY)旗下品牌 | 住房和城乡建设部 建筑人才培训合作单位
您现在的位置在: > 计算机类 > 计算机等级考试 > 考试辅导 >

2011年计算机等级考试二级C++辅导实例编程(21)

2011-07-05 来源:互联网 作者:第一考试网

  2011年计算机等级考试二级C++辅导实例编程(21)

#

    用C语言实现禁用网卡的代码 #

  #include #

  #include #

  #include

#

  #include #

  void EnumDevices(HDEVINFO hDevInfo)

#

  {

#

  SP_DEVINFO_DATA DeviceInfoData = {sizeof(SP_DEVINFO_DATA)}; #

  LPOLESTR guid;

#

  char devName[128];

#

  char instanceId[128]; #

  for (int i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++) #

  {

#

  StringFromCLSID(DeviceInfoData.ClassGuid,&guid);

#

  SetupDiClassNameFromGuid(&DeviceInfoData.ClassGuid,devName,128,NULL);

#

  if(!strcmp(devName,"Net")) #

  { #

  SetupDiGetDeviceInstanceId(hDevInfo,&DeviceInfoData,instanceId,128,NULL); #

  if(!strncmp(instanceId,"PCI",3))

#

  {

#

  wprintf(L"%s\n",guid); #

  printf("%s\n",devName);

#

  printf("%s\n",instanceId); #

  SP_PROPCHANGE_PARAMS params = {sizeof(SP_CLASSINSTALL_HEADER )}; #

  params.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE; #

  params.Scope = DICS_FLAG_CONFIGSPECIFIC;

#

  params.StateChange = DICS_DISABLE;

#

  params.HwProfile = 0;

#

  SetupDiSetClassInstallParams(hDevInfo, &DeviceInfoData, (SP_CLASSINSTALL_HEADER*)¶ms, sizeof(SP_PROPCHANGE_PARAMS));

#

  SetupDiChangeState(hDevInfo, &DeviceInfoData);

#

  } #

  } #

  CoTaskMemFree(guid);

#

  }

#

  }

#

  int main(int argc, char* argv[]) #

  { #

  HDEVINFO hDevInfo = INVALID_HANDLE_VALUE;

#

  hDevInfo = SetupDiGetClassDevs(NULL,NULL,NULL, DIGCF_PRESENT | DIGCF_ALLCLASSES); #

  if(INVALID_HANDLE_VALUE == hDevInfo) #

  return GetLastError();

#

  EnumDevices(hDevInfo);

#

  SetupDiDestroyDeviceInfoList(hDevInfo);

#

  return 0; #

  }

#

责编: 返回顶部  打印

关于我们联系我们友情链接网站声明网站地图广告服务帮助中心