I found Santosh Rao article on Code Project It self ,From That I was able to find servers on local machine.Here is Code
LPCTSTR pszInputParam = _T("Driver={SQL Server}");
LPCTSTR pszLookUpKey = _T("SERVER:Server=");
SQLHENV hSQLEnv;
SQLHDBC hSQLHdbc;
short sConnStrOut;
BOOL bReturn = FALSE;
SQLRETURN m_iRetcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hSQLEnv);
if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO)
{
m_iRetcode = SQLSetEnvAttr(hSQLEnv, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO)
{
m_iRetcode = SQLAllocHandle(SQL_HANDLE_DBC, hSQLEnv, &hSQLHdbc);
if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO)
{
CString szConnStrOut;
SQLSetConnectAttr(hSQLHdbc,SQL_COPT_SS_BROWSE_SERVER,_T("(local)"), SQL_NTS);
m_iRetcode = SQLBrowseConnect(hSQLHdbc, (SQLWCHAR *)pszInputParam, SQL_NTS,
(SQLWCHAR *)(szConnStrOut.GetBuffer(MAX_RET_LENGTH)), MAX_RET_LENGTH, &sConnStrOut);
szConnStrOut.ReleaseBuffer();
int iFind = szConnStrOut.Find(pszLookUpKey);
if(iFind != -1)
{
CString szLookUpKey = pszLookUpKey;
szConnStrOut = szConnStrOut.Mid(iFind+szLookUpKey.GetLength());
iFind = szConnStrOut.Find('{');
if(iFind != -1)
{
szConnStrOut = szConnStrOut.Mid(iFind+1);
iFind = szConnStrOut.Find('}');
if(iFind != -1)
{
szConnStrOut = szConnStrOut.Left(iFind);
FillupStringArray(szConnStrOut,szArray);
bReturn = TRUE;
}
}
}
SQLDisconnect(hSQLHdbc);
}
SQLFreeHandle(SQL_HANDLE_DBC, hSQLHdbc);
}
SQLFreeHandle(SQL_HANDLE_ENV, hSQLEnv);
}
CString serverName;
if(szArray.GetSize() > 0)
{
serverName = szArray.GetAt(0);
if(serverName.GetLength() < 2 && szArray.GetSize() > 1)
{
serverName = szArray.GetAt(1);
}
else
{
if(serverName.GetLength() < 2)
{
ObjCommon.ShowError(_T("SQL Server Not Installed"));
return 0;
}
}
if(serverName == _T("SQLEXPRESS"))
{
DWORD dwComputerSize = MAX_COMPUTERNAME_LENGTH + 1;
TCHAR charComputer[MAX_COMPUTERNAME_LENGTH + 1];
GetComputerName(charComputer, &dwComputerSize);
CString csComputer(charComputer);
serverName = csComputer + _T("\\\SQLEXPRESS");
}
}
else
{
ObjCommon.ShowError(_T("SQL Server Not Installed"));
return 0;
}
ObjCommon.ShowMessage(serverName + _T(" Final Server Name"));
return serverName;