C语言辅导:用C语言实现禁用网卡的代码

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

  2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在考试大论坛 考试大在线题库
  #include <stdio.h>
  #include <windows.h>
  #include <Setupapi.h>
  #include <objbase.h>
  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*)&params, 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;
  }

  2009年上半年全国计算机等级考试参考答案请进入计算机考试论坛

  2009年全国计算机等级考试报名信息汇总

  2009年NCRE考试有新变化

  2009年全国计算机等级考试大纲

  2009年上半年全国计算机二级考试试题及答案

  2009年上半年全国计算机等级考试试题答案汇总

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答