|
// Mac Address.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#include <string>
#include<iostream>
#include <fstream>
#include <lm.h>
#include <assert.h>
#include <winsock.h>
#define _WIN32_DCOM
#include <iostream>
#include <comdef.h>
#include <wbemidl.h>
#include <comutil.h>
#pragma comment(lib, "Netapi32.lib")
#pragma comment(lib, "wsock32.lib")
# pragma comment(lib, "wbemuuid.lib")
using namespace std;
void filewrite(string a,int e)
{
ofstream fout;
if(e==1)
fout.open("System Configuration.txt");
else
{
fout.open("System Configuration.txt", ios::app);
fout<<a;
fout<<endl;
="" }
=""
="" fout.close();
=""
}=""
void="" getmac()
{
="" unsigned="" char="" macdata[8];
="" wksta_transport_info_0="" *pwkti;
="" dword="" dwentriesread;
="" dwtotalentries;
="" byte="" *pbbuffer;
="" net_api_status="" dwstatus="NetWkstaTransportEnum(
" null,="" [in]="" server="" name
="" 0,="" data="" structure="" to="" return
="" &pbbuffer,="" [out]="" pointer="" buffer
="" max_preferred_length,="" maximum="" length
="" &dwentriesread,="" counter="" of="" elements="" actually="" enumerated
="" &dwtotalentries,="" total="" number="" that="" could="" be="" null);="" [in="" out]="" resume="" handle
="" assert(dwstatus="=" nerr_success);
="" pwkti="(WKSTA_TRANSPORT_INFO_0" *)pbbuffer;="" type="" cast="" the="" buffer
="" for(dword="" i="1;" i<="" dwentriesread;="" i++)="" first="" address="" is="" 00000000,="" skip="" it
="" {="" dd[33];="" enumerate="" macs="" and="" print
="" swscanf((wchar_t="" *)pwkti[i].wkti0_transport_address,="" l"%2hx%2hx%2hx%2hx%2hx%2hx",="" &macdata[0],="" &macdata[1],="" &macdata[2],="" &macdata[3],="" &macdata[4],="" &macdata[5]);
="" printmacaddress(macdata);
="" sprintf(dd,"="" %02x-%02x-%02x-%02x-%02x-%02x\n",macdata[0],="" macdata[1],="" macdata[2],="" macdata[3],="" macdata[4],="" macdata[5]);
="" string="" u="MAC Address :" ;
="" u+="dd;
" filewrite(u,0);
="" release="" pbbuffer="" allocated="" by="" above="" function
="" nerr_success);
}
void="" getip()
{
="" word="" wversionrequested;
="" wsadata="" wsadata;
="" name[255];
="" phostent="" hostinfo;
="" wversionrequested="MAKEWORD(" 1,="" 1="" );
="" *ip;
="" if="" (="" wsastartup(="" wversionrequested,="" &wsadata="" )="=" 0="" )
="" if(="" gethostname="" name,="" sizeof(name))="=" 0)
="" {
="" printf("host="" name:="" %s\n",="" name);
="" name1="Computer Name: " name1+="name;
" filewrite(name1,0);
="" if((hostinfo="gethostbyname(name))" !="NULL)
" int="" ncount="0;
" while(hostinfo-="">h_addr_list[nCount])
{
ip = inet_ntoa (*(struct in_addr *)hostinfo->h_addr_list[nCount]);
++nCount;
//printf("IP #%d: %s\n", ++nCount, ip);
string s="IP Adress : ";
s+=ip;
filewrite(s,0);
}
}
}
}
void getsn_no()
{
CoInitializeEx(0, COINIT_MULTITHREADED);
CoInitializeSecurity(
NULL,
-1, // COM authentication
NULL, // Authentication services
NULL, // Reserved
RPC_C_AUTHN_LEVEL_DEFAULT, // Default authentication
RPC_C_IMP_LEVEL_IMPERSONATE, // Default Impersonation
NULL, // Authentication info
EOAC_NONE, // Additional capabilities
NULL // Reserved
);
IWbemLocator *pLoc = NULL;
CoCreateInstance(
CLSID_WbemLocator,
0,
CLSCTX_INPROC_SERVER,
IID_IWbemLocator, (LPVOID *) &pLoc);
IWbemServices *pSvc = NULL;
pLoc->ConnectServer(
_bstr_t(L"ROOT\\CIMV2"), // Object path of WMI namespace
NULL, // User name. NULL = current user
NULL, // User password. NULL = current
0, // Locale. NULL indicates current
NULL, // Security flags.
0, // Authority (e.g. Kerberos)
0, // Context object
&pSvc // pointer to IWbemServices proxy
);
IEnumWbemClassObject* pEnumerator = NULL;
ULONG uReturn;
int i=1,x=0;
LPCWSTR lp3;
_bstr_t win32;
string data;
while(i<=7)
{
switch(i)
{
case 1:
filewrite("MOTHER BOARD",0);
win32="SELECT * FROM Win32_BaseBoard";
lp3=L"SerialNumber";
data="SerialNumber :";
break;
case 2:
win32="SELECT * FROM Win32_BaseBoard";
lp3=L"Product";
data="Product ID :";
break;
case 3:
win32="SELECT * FROM Win32_Processor";
lp3=L"ProcessorId";
data="Processor Id :";
x=1;
cout<<"Configuring Software....."<<endl<<endl;
break;
="" case="" 4:
="" filewrite("",0);
="" filewrite("hard-disk="" &="" flas="" drive",0);
="" win32="SELECT * FROM Win32_DiskDrive" ;
="" lp3="L"Model";
" data="Model NO : " 5:
="" 6:
="" filewrite("local="" disk's="" serial="" no.",0);
="" x="3;
" 7:
="" filewrite("os="" name="" |path|="" |partition|",0);
="" }
="" i++;
="" psvc-="">ExecQuery(
bstr_t("WQL"),
bstr_t(win32),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator);
IWbemClassObject *pclsObj;
uReturn = 0;
//filewrite("HD&FLASH DRIVE's ",0);
while (pEnumerator)
{
HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,&pclsObj, &uReturn);
if(0 == uReturn)
{
break;
}
VARIANT vtProp;
// Get the value of the Name property
pclsObj->Get(lp3, 0, &vtProp, 0, 0);
data+=(const char*)_bstr_t(vtProp.bstrVal);
if(x==3)
{
lp3=L"VolumeSerialNumber";
string n;
n=data;
n+=" ";
pclsObj->Get(lp3, 0, &vtProp, 0, 0);
n+=(const char*)_bstr_t(vtProp.bstrVal);
data=n;
lp3=L"Name";
}
filewrite(data,0);
VariantClear(&vtProp);
pclsObj->Release();
data.clear();
if(x==1)
{
x=0;
break;
}
}
}
pSvc->Release();
pLoc->Release();
pEnumerator->Release();
CoUninitialize();
}
int _tmain(int argc, _TCHAR* argv[])
{
filewrite("",1);
cout<<"Configuring Hardware....."<
|
|
|
|