You have to find out the window class name of the window you want to find. You currently know only that the process from which the window is created is SoftKeyboard.exe. First you have to determine Process ID of this process. In Task Manager Process ID is usually in the second column, right next to executable name. Use Spy++, or the following temporary piece of code to discover all the window class names that belong to this process:
BOOL CALLBACK WriteWindowClass(HWND hWnd, LPARAM lParam)
{
DWORD nThreadID, nProcessID;
nThreadID = GetWindowThreadProcessId(hWnd, &nProcessID);
if (nProcessID == XXX) // Write SoftKeyboard's Process ID instead of XXX
{
WCHAR szClassName[256];
GetClassName(hWnd, szClassName, 256);
std::wcout << szClassName << std::endl;
}
return TRUE;
}
int wmain(int argc, wchar_t* argv[])
{
EnumWindows(WriteWindowClass, 0);
return 0;
}
You will probably see only one line in console. Text in this line is the class name, and this text should be given to FindWindowEx
as third parameter, instead of existing "SoftKeyboard.exe*32".
For the "unused CXX0030" issue just google it: unused CXX0030. You will see that this is normal.