CString CFindWindowExDlg::CreateNewTitle()
{
// 拿这个当唯一标示,在全球都找不到重样的,哈哈
OLECHAR olechar[255];
CString str;
GUID guid;
CoCreateGuid(&guid);
StringFromGUID2(guid, olechar, 255);
str = olechar;
return str;
}
void CFindWindowExDlg::OnBnClickedButton1()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}
void CFindWindowExDlg::OnBnClickedButton2()
{
static bool bFirst = FALSE;
static CString strDlgTitle;
if (!bFirst)
{
bFirst = TRUE;
strDlgTitle = CreateNewTitle();
Cat *dlg = new Cat;
dlg->Create(IDD_DIALOG1, CWnd::GetDesktopWindow());
dlg->SetWindowText(strDlgTitle);
dlg->ShowWindow(SW_SHOW);
}
else
{
HWND hWnd = ::FindWindowEx(NULL, NULL, NULL, strDlgTitle);
if(hWnd != NULL)
{
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
return ;
}
else
{
return ;
}
}
}