Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// NewSystemDlg.cpp : implementation file
//
#include "stdafx.h"
#include "snapin.h"
#include "NewSystemDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CNewSystemDlg dialog
CNewSystemDlg::CNewSystemDlg(CWnd* pParent /*=NULL*/) : CDialog(CNewSystemDlg::IDD, pParent) { //{{AFX_DATA_INIT(CNewSystemDlg)
m_sName = _T(""); //}}AFX_DATA_INIT
}
void CNewSystemDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CNewSystemDlg)
DDX_Text(pDX, IDC_EDIT_MACHINE_NAME, m_sName); DDV_MaxChars(pDX, m_sName, 255); //}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNewSystemDlg, CDialog) //{{AFX_MSG_MAP(CNewSystemDlg)
ON_BN_CLICKED(IDC_BROWSE, OnBrowse) //}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNewSystemDlg message handlers
void CNewSystemDlg::OnBrowse() { LPMALLOC pMalloc; if( ::SHGetMalloc(&pMalloc) == NOERROR ) { BROWSEINFO bi; TCHAR szBuffer[MAX_PATH]; LPITEMIDLIST pidlNet; LPITEMIDLIST pidl; if( ::SHGetSpecialFolderLocation(GetSafeHwnd(),CSIDL_NETWORK,&pidlNet) != NOERROR ) return;
CString sResString; sResString.LoadString(IDS_STRING_BROWSE_SYSTEM);
bi.hwndOwner = GetSafeHwnd(); bi.pidlRoot = pidlNet; bi.pszDisplayName = szBuffer; bi.lpszTitle = LPCTSTR(sResString); bi.ulFlags = BIF_BROWSEFORCOMPUTER; bi.lpfn = NULL; bi.lParam = 0;
if( (pidl = ::SHBrowseForFolder(&bi)) != NULL ) { m_sName = szBuffer; UpdateData(FALSE); pMalloc->Free(pidl); } pMalloc->Free(pidlNet); pMalloc->Release(); } }
void CNewSystemDlg::OnOK() { UpdateData(); if( m_sName.IsEmpty() ) { MessageBeep(MB_ICONEXCLAMATION); return; }
IWbemServices* pServices = NULL; BOOL bAvail = FALSE;
if( CnxGetConnection(m_sName,pServices,bAvail) == E_FAIL ) { MessageBeep(MB_ICONEXCLAMATION); return; }
if( pServices ) { pServices->Release(); }
CDialog::OnOK(); }
|