2012-01-12 32 views
0

我想從我的屏幕上使用函數ExtTextOut獲取額外文本,但我是C++中的一名新手。我正在使用Qt,我想要一個簡單的示例,當我需要提取文本時,可以在代碼中重現該示例。例如,如果我想提取此文本並將其存儲在文檔中,我該怎麼做?是否可以使用函數ExtTextOut從屏幕提取文本?

我寫了下面的短代碼,但我不知道如何走得更遠?

#include <QApplication> 
#include <windows.h> 
#include <QCursor> 

int main(int argc, char *argv[]) 
{ 
QApplication app(argc, argv); 
QCursor::setPos(20,100); 
exttextout(20,100); 
return app.exec(); 
} 
+2

ExtTextOut *繪製*文本。 「Ext」代表「擴展」。 http://msdn.microsoft.com/en-us/library/dd162713%28v=vs.85%29.aspx – arx 2012-01-12 04:19:06

+0

正如@arx指出的那樣,ExtTextOut會繪製文本。這不是您可以用來提取文本的功能。我認爲你需要重申你的問題。更明確地告訴我們你想做什麼。 – 2012-01-12 05:05:35

+0

另外,您不能將像Qt一樣的ExtTextOut(或類似)的Windows API函數混合使用。 – 2012-01-12 06:41:17

回答

-1

ExtTextOut()函數使用當前選定的字體,背景顏色和文本顏色繪製文本。您可以選擇提供要用於剪裁,不透明或兩者的尺寸。

BOOL ExtTextOut(
    _In_ HDC hdc, 
    _In_ int X, 
    _In_ int Y, 
    _In_ UINT fuOptions, 
    _In_ const RECT *lprc, 
    _In_ LPCTSTR lpString, 
    _In_ UINT cbCount, 
    _In_ const INT *lpDx 
); 

hdc [in] 的句柄設備上下文。

X [in] 以邏輯座標表示的用於定位字符串的參考點的x座標。

Y [in] 在邏輯座標中用於定位字符串的參考點的y座標。

fuOptions [in] 指定如何使用應用程序定義的矩形。該參數可以是以下一個或多個值。

For more details visit the MSDN forum

exttextout(20,100); 

是一個錯誤,你不能從屏幕上閱讀文本就像那樣。你必須使用一些圖像處理軟件才能做到這一點。我認爲如果您可以將MATLAB與您的程序一起使用,這將是一個更好的選擇。

相關問題