PostThreadMessage устанавливает значение GetLastError равным 1444 - PullRequest
1 голос
/ 12 августа 2010

В PostThreadMessage мой идентификатор потока правильный, но я получаю ошибку 1444 («Неверный идентификатор потока.»).

Кто-нибудь знает, как это исправить?

1 Ответ

3 голосов
/ 12 августа 2010

Операционная система определяет, являются ли идентификаторы потоков действительными, поэтому, если она сообщает, что ваш идентификатор недействителен, то ваш идентификатор, вероятно, недействителен.Вы должны доверять кодам ошибок до тех пор, пока не докажете, что они не правы, иначе нет никакой необходимости проверять их вообще.Прежде чем обвинять ОС, убедитесь, что вы исключили все другие возможности.Вот несколько примеров:

  • Возможно, вы использовали поток handle .
  • Возможно, поток уже завершил работу.
  • Может быть,Нить не была успешно создана в первую очередь.Убедитесь, что вы проверили возвращаемое значение из CreateThread.
  • Возможно, поток принадлежит процессу, запущенному на другом рабочем столе.
  • Возможно, поток не имеет очереди сообщений.Поток может создать очередь сообщений для себя, вызвав, например, GetMessage или PeekMessage.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...