以下這段代碼是開始截取的代碼,類似於SetWindowsHook的功能
if (m_hThread!=INVALID_HANDLE_VALUE)
{
::TerminateThread(m_hThread,0);
::CloseHandle (m_hThread);
}
if (m_pDlg)
{
m_pDlg->CloseWindow ();
delete m_pDlg;
}
m_pDlg=new CDlgshow ();
m_pDlg->Create(IDD_DIALOG1,this);
// SetTransparent(pDlg->m_hWnd,50);
//pDlg->UnTransparent ();
m_hThread=::CreateThread(NULL,1024,thread_proc,(LPVOID)m_pDlg,NULL,NULL);
然後在線程處理函數中處理鼠標消息就行了
CDlgshow *pDlg=(CDlgshow*)lpParam;
while (1)
{
GetCursorPos (&pt);
hDlg=WindowFromPoint (pt);
if (hDlg&&hDlg!=pDlg->m_hWnd&&!IsInRect(pt,pDlg))
{
::SendMessage (hDlg,WM_GETTEXT,(WPARAM)127,(LPARAM)szTemp);
pDlg->SetTitleValue(szTemp);
::GetClassName (hDlg,szTemp,127);
pDlg->SetNameValue(szTemp);
pDlg->ShowWindow(SW_SHOW);
if (pDlg->IsFixed())
pDlg->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
else
pDlg->SetWindowPos(&CWnd::wndTopMost,pt.x,pt.y,0,0,SWP_NOSIZE);
}
Sleep(1000);
}
這裏是在其內顯示所在窗口的類名和內容,好像以前有什麼"密碼查看器"之類也就是這點代碼吧