2016-10-05 24 views
0

現在,我從QKeySequence對象中抓取一個條目的字符串並將其轉換爲鍵碼。VkKeyScanEx無法在「F」鍵和其他鍵上工作

問題是它不能工作超過1個字符的任何東西(f1-12/delete/end/etc。)。

QString keys = uiPtr->keySequenceEdit1->keySequence().toString(); 
    const wchar_t keyPtr = *qUtf16Printable(keys); 
    short keyVal = VkKeyScanEx(keyPtr, GetKeyboardLayout(0)); 
    VK = LOBYTE(keyVal); 

我該如何得到它在其中有多於一個字符的鍵上工作?

回答

0

qUtf16Printable回報:「返回str作爲一個const USHORT *,但轉換爲常量爲wchar_t *避免警告」

但在你的代碼中沒有指定的返回值的指針,返回值是分配給一個字符(const wchar_t)。

可能嘗試

const wchar_t* keyPtr = ......... 

這可能是問題