Knowledge Base Nr: 00245 getphoneno.cpp - http://www.swe-kaiser.de
Downloads:
Win32: Name anhand der Telefonnummer ermitteln (mit "PowerInfo und zurück 2005")
int CMySocketServer::GetPhoneNumberInfo(const char* lpszPhoneNo, CString& strResult)
{
const char* TELINFOTITLE = "PowerInfo und zurück 2005";
const MAXWAIT = 30;
int n;
//telefoncd-programm starten
WinExec("\"C:\\Programme\\G Data\\PowerInfo und zurück 2005\\DTMApp.EXE\"", SW_SHOW);
//warten bis programm gestartet ist
for (n=0; n<MAXWAIT; n++)
{
Sleep(100);
HWND hwnd = FindWindow(NULL, TELINFOTITLE);
if (hwnd)
break;
}
if (n >= MAXWAIT)
return -1;
Sleep(500);
//nummer eintippen
for (n=0; n<strlen(lpszPhoneNo); n++)
{
CString strKey;
strKey.Format("%c#", lpszPhoneNo[n]);
g_proc.SendKeysToWindow(NULL, TELINFOTITLE, strKey
, 10, 100 //, int nDelay_ms, int nTimeout_ms
, false, false); //, bool bUseThread, bool bSwitchBack)
}
//suchen und ergebnis in clipboard kopieren - programm beenden
g_proc.SendKeysToWindow(NULL, TELINFOTITLE, "return#"
, 10, 100 //, int nDelay_ms, int nTimeout_ms
, false, false); //, bool bUseThread, bool bSwitchBack)
Sleep(300);
g_proc.SendKeysToWindow(NULL, TELINFOTITLE, "shift+tab#shift+tab#shift+tab#shift+tab#"
, 10, 100 //, int nDelay_ms, int nTimeout_ms
, false, false); //, bool bUseThread, bool bSwitchBack)
::EmptyClipboard();
Sleep(100);
g_proc.SendKeysToWindow(NULL, TELINFOTITLE, "ctrl+c#"
, 100, 100 //, int nDelay_ms, int nTimeout_ms
, false, false); //, bool bUseThread, bool bSwitchBack)
Sleep(100);
g_proc.SendKeysToWindow(NULL, TELINFOTITLE, "alt+f4#"
, 100, 100 //, int nDelay_ms, int nTimeout_ms
, false, false); //, bool bUseThread, bool bSwitchBack)
/* clipboard-sample:
Fuller, Michael-John u. Regina 06340 925792
Margaretenstr. 11
76889 Steinfeld
*/
strResult = "";
//clipboard auslesen
if (::IsClipboardFormatAvailable(CF_TEXT))
{
if (::OpenClipboard(m_pDlg->GetDlgItem(IDC_LIST1)->GetSafeHwnd()))
{
HGLOBAL hglb = ::GetClipboardData(CF_TEXT); //CF_TEXT); CF_RTF, CF_OEMTEXT
if (hglb != NULL)
{
LPTSTR lptstr = (char*)::GlobalLock(hglb);
if (lptstr != NULL)
{
strResult += lptstr;
::GlobalUnlock(hglb);
}
}
::CloseClipboard();
}
}
return 0;
}