Я действительно не понимаю эти примеры из Интернета. Все они фрагментарны. Нигде нет простого краткого примера, как сделать классический диалог поиска текста.не удается создать общий диалог поиска Windows
Я положил, что я знаю, что в этом, но не показывает любое окно и возвращает: 2147500037 0x80004005
#include <windows.h>
#include <iostream>
#include <iomanip>
int main() {
using namespace std;
UINT uFindReplaceMsg; // message identifier for FINDMSGSTRING
uFindReplaceMsg = RegisterWindowMessage(FINDMSGSTRING);
wstring search_str = L"text to search";
HWND findDialog = NULL;
wchar_t szFindWhat[MAX_PATH];
FINDREPLACEW fr;
ZeroMemory(& fr, sizeof(FINDREPLACEW));
fr.lStructSize = sizeof(FINDREPLACEW);
fr.hwndOwner = NULL;
fr.lpstrFindWhat = szFindWhat;
fr.wFindWhatLen = MAX_PATH;
findDialog = FindTextW(&fr);
cout << GetLastError() << endl;
cout << hex << GetLastError() << endl;
}
могли бы вы предоставить мне код, который работает, так что я могу построить из этого.
Согласно образцу по адресу http://msdn.microsoft.com/en-us/library/windows/desktop/ms646829(v=vs.85).aspx#finding_text, ваше приложение должно обрабатывать сообщения FINDMSGSTRING. Вы устанавливаете это, вызывая 'RegisterWindowMessage'. См. Образец. –
Существует множество требований для использования общего диалога ** modeless **, управляемого с помощью ['FindText()'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646918 (v = vs.85) .aspx), многие из которых вы не встречаете. Предлагаю вам ознакомиться с особенностями этого API. – WhozCraig
Обновлен код, все еще не работает. То, что я пытаюсь достичь, - это сделать, пока окно появится. – rsk82