VC ip是否是DHCP服务器分配的函数

来源:互联网 发布:js 数组排序 sort 编辑:程序博客网 时间:2024/05/22 00:33

vc++ 6.0编译通过

 

 

#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <iostream>
using namespace std;
#pragma comment(lib, "Iphlpapi.lib")
#pragma comment(lib, "ws2_32.lib")
//#include <Iphlpapi.h>


int main()
{
FIXED_INFO FinxedInfo;
DWORD dwBuffSize=0;
if(GetNetworkParams(&FinxedInfo, &dwBuffSize)!=ERROR_BUFFER_OVERFLOW)
{
   cout<<"GetNetworkParams is failed"<<endl;
   return FALSE;
}
else
{
   GetNetworkParams(&FinxedInfo, &dwBuffSize);
   cout<<"Windows IP Configuration"<<endl;
   cout<<endl;
   cout<<"Host Name.......................:"<<FinxedInfo.HostName<<endl;
  
cout<<"Primary DNS Suffix..............:"<<FinxedInfo.DomainName<<endl;
   cout<<"Node Type.......................:";
   switch (FinxedInfo.NodeType)
   {
   case BROADCAST_NODETYPE:
    cout<<"广播解析"<<endl;
    break;
   case PEER_TO_PEER_NODETYPE:
    cout<<"点对点解析"<<endl;
    break;
   case MIXED_NODETYPE:
    cout<<"广播与点对点解析"<<endl;
    break;
   case HYBRID_NODETYPE:
    cout<<"先广播后点对点解析"<<endl;
    break;
   default:
    cout<<"Unknown"<<endl;
    break;
   }
   cout<<"IP Routing Enabled..............:";

   if (FinxedInfo.EnableRouting)
    cout<<"YES"<<endl;
   else
    cout<<"NO"<<endl;

   cout<<"WINS Proxy Enabled..............:";
   if (FinxedInfo.EnableProxy)
    cout<<"YES"<<endl;
   else
    cout<<"NO"<<endl;
}
cout<<endl;

IP_ADAPTER_INFO *IPInfo;
DWORD dwBufferSize=0;
IPInfo=(IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));
if(GetAdaptersInfo(IPInfo, &dwBufferSize)!=ERROR_BUFFER_OVERFLOW)
{
   cout<<"GetNetworkParams is failed"<<endl;
   return FALSE;
}
else
{
   free(IPInfo);
   IPInfo=(IP_ADAPTER_INFO *)malloc(dwBufferSize);
   GetAdaptersInfo(IPInfo, &dwBufferSize);

   while(IPInfo!=NULL)
   {
    cout<<"Ethernet adapter "<<IPInfo->Description<<endl;
    cout<<endl;
    cout<<"Connection-specific DNS Suffix..:"<<endl;

    cout<<"Description.....................:"<<IPInfo->Description<<endl;

    char szMacAddr[20];
    /*sprintf_s(szMacAddr, 20, "%02X-%02X-%02X-%02X-%02X-%02X", IPInfo->Address[0], IPInfo->Address[1], IPInfo->Address[2],
     IPInfo->Address[3], IPInfo->Address[4], IPInfo->Address[5]);*/
 sprintf(szMacAddr,"%02X-%02X-%02X-%02X-%02X-%02X/n", IPInfo->Address[0], IPInfo->Address[1], IPInfo->Address[2],
     IPInfo->Address[3], IPInfo->Address[4], IPInfo->Address[5]);
 printf("%02d-%02d-%02d-%02d-%02d-%02d/n", IPInfo->Address[0], IPInfo->Address[1], IPInfo->Address[2],
    IPInfo->Address[3], IPInfo->Address[4], IPInfo->Address[5]);


    cout<<"Physical Address................:"<<szMacAddr<<endl;

    //cout<<"DHCP Enabled....................:";
    //if(IPInfo->DhcpEnabled!=0)
    // cout<<"YES"<<endl;
    //else
    //cout<<"NO"<<endl;

    cout<<"IP Address................:.....:"<<IPInfo->IpAddressList.IpAddress.String<<endl;
    //cout<<"Subnet Mask.....................:"<<IPInfo->IpAddressList.IpMask.String<<endl;
   // cout<<"Default Gateway.................:"<<IPInfo->GatewayList.IpAddress.String<<endl;
   // cout<<"DNS Servers.....................:"<<FinxedInfo.DnsServerList.IpAddress.String<<endl;
    //cout<<"                                :"<<FinxedInfo.DnsServerList.Next->IpAddress.String<<endl;

     IPInfo=IPInfo->Next;
    cout<<endl;
   }
}
free(IPInfo);
getchar();
return 0;
}

 **************************************************************************

 查看数据库服务器状态:

    

Integer result
oleobject loo_sqlserver
loo_sqlserver = Create oleobject
result = loo_sqlserver.ConnectToNewObject("SQLDMO.SQLServer")
If result <> 0 Then
 //   messagebox('提示','创建OLE对象时产生错误')
 Return False
Else
 loo_sqlserver.Name = server
 If loo_sqlserver.status = 1 Then
  loo_sqlserver.DisconnectObject()
  Destroy loo_sqlserver
  Return True
 ElseIf loo_sqlserver.status = 3  Then //服务停止
  loo_sqlserver.Start(False,server,'sa','')
 ElseIf loo_sqlserver.status = 2  Then //服务暂停
   loo_sqlserver.Continue()
 End If
 //启动之后再次判断是否成功-延时等待SQLSERVER启动
 Sleep(6000)
 If loo_sqlserver.status = 2 Or loo_sqlserver.status = 3 Then
  //    messagebox('错误','启动服务失败')
  Return False
 End If
End If
loo_sqlserver.DisconnectObject()
Destroy loo_sqlserver
Return True


查看有哪些数据库可以先连接上master
然后查看表
sysdatabases 这个表里存的数据库的信息/

判断有没有安装sqlserver,可以直接查看一下注册表
  HKEY_LOCAL_MACHINE  
  SOFTWARE/Microsoft/MSSQLSERVER/setup  
  SQLPath  
看看键值存不存在

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/friendwaters/archive/2007/04/27/1587565.aspx

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击