2010-09-23 121 views

回答

7

使用Win32 API GetWindowText傳遞文本框的窗口句柄。

如果要從其他進程獲取文本,請使用WM_GETTEXT而不是SendMessage

+0

如果字符串中我有 「1 + 1」,你知道我怎麼可能使它做1 + 1? – ITg 2010-09-23 17:59:13

+0

@ITg:您可能需要將字符串解析爲部分,然後進行計算。 – 2010-09-23 18:02:27

+0

好的,感謝您的幫助 – ITg 2010-09-23 18:05:45

1

GetWindowText函數()

0
//unicode std::string or std::wstring 
typedef std::basic_string<TCHAR> unicode_string; 

unicode_string GetWinString(HWND h) 
{ 
int len = ::GetWindowTextLength(h); 
if (len) 
    { 
    std::vector<TCHAR> tmp(len + 1,_T('\0')); 
    ::GetWindowText(h,&tmp[0],len + 1); 
    return &tmp[0]; 
    } 
return _T(""); 
} 
1

修正最後發表的帖子:

//unicode std::string or std::wstring 
typedef std::basic_string<TCHAR> unicode_string; 

unicode_string GetWinString(HWND h) 
{ 
int len = ::GetWindowTextLength(h); 
if (len) 
    { 
    std::vector<TCHAR> tmp(len + 1,_T('\0')); 
    ::GetWindowText(h,&tmp[0],len + 1); 
    return &tmp[0]; 
    } 
return _T(""); 
} 
+0

您的帖子下方有一個「修改」選項;請不要發佈其他答案。 – MSalters 2010-10-04 08:53:34