Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Ответить
 • Просмотры: 1
Аватара пользователя
mort32ram

Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение mort32ram »

Изображение

Здравствуйте. Столкнулся с ошибкой запуска программы в Win XP. Если варианты решения?
Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

Аватара пользователя
Iska

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение Iska »

mort32ram, что за программа? Какая именно версия?
Аватара пользователя
mort32ram

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение mort32ram »

mort32ram, функция GetThreadId отсутствует в Windows XP.


Цитата:



Если варианты решения?



Используйте старую версию программы, которая поддерживала Windows XP.
Аватара пользователя
mort32ram

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение mort32ram »

Iska, Какая то битриксовская служебная программа, столкнулся с ней при подключении фейс трекера от битрикса 24 к 1с:КА 1.0. Эта утилита получает фото с вебки, отправляет куда то там на портал и возвращает идентификатор лица в 1С. На тестовом компьютере с WIN 7 все настроил, а на кассах как оказалось вин ХР и конкретн она ней она не запускается. Скрин и саму программу прилагаю.

https://dropmefiles.com/h8JGz
Вложения
Вложение битрикс.JPG больше недоступно
Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

Аватара пользователя
Petya V4sechkin

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение Petya V4sechkin »

mort32ram, как уже написал выше Petya V4sechkin, данная функция (
GetThreadId function | Microsoft Docs
) отсутствует в указанной библиотеке в Windows XP. И, поскольку доступа к исходному коду у Вас, понятное дело, нет — выхода ровно два:


Цитата Petya V4sechkin:



Используйте старую версию программы, которая поддерживала Windows XP.
Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll




или обновлять машины до Vista или выше.
Аватара пользователя
Iska

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение Iska »

Это все я знал еще вчера, пока гуглил столкнулся с тем что подобную проблему решали заменой в hex редакторе вызов функции на вызов другой, аналогичной функции которая присутствует в системе. Но сам я аналога этой функции не нашел, поэтому сюда написал. Переустанавливать систему на большом количестве касс с настройкой сопутствующего ТО никто не будет. Если кроме банального "установить подходящую систему" вариантов нет, тему можно закрывать. Всем спасибо.
Аватара пользователя
mort32ram

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение mort32ram »

Цитата mort32ram:



пока гуглил столкнулся с тем что подобную проблему решали заменой в hex редакторе вызов функции на вызов другой, аналогичной функции которая присутствует в системе.
Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll




«Аналогичной» — это какой же?
Аватара пользователя
Iska

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение Iska »

Цитата:



В редких случаях получается пропатчить саму прогу, пример с ffmpeg.

Запускаем последнюю версию и видим следующее сообщение:

Точка входа в процедуру _wfopen_s не найдена в библиотеке DLL msvcrt.dll

Открываем ffmpeg.exe hex редактором, заменяем _wfopen_s на _wfopen и всё начинает прекрасно работать, однако большинство программ вобще не выдают никаких сообщений, поэтому что именно патчить неизвестно(



http://www.nforum.ru/topic/8774/
Аватара пользователя
mort32ram

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение mort32ram »

Цитата:

В редких случаях получается пропатчить саму прогу, пример с ffmpeg.

Запускаем последнюю версию и видим следующее сообщение:

Точка входа в процедуру _wfopen_s не найдена в библиотеке DLL msvcrt.dll

Открываем ffmpeg.exe hex редактором, заменяем _wfopen_s на _wfopen и всё начинает прекрасно работать, однако большинство программ вобще не выдают никаких сообщений, поэтому что именно патчить неизвестно(

http://www.nforum.ru/topic/8774/
Аватара пользователя
Iska

Re: Ошибка - [решено] Ошибка отсутствия GetThreadId в Kernel32.dll

Сообщение Iska »

Какую-то ересь товарищ пишет. Это тупо разные функции, с разным числом параметров, разным типом возвращаемых значений:



Код:

Код: Выделить всё

errno_t _wfopen_s(  
   FILE** pFile,  
   const wchar_t *filename,  
   const wchar_t *mode   
);
FILE *_wfopen(   
   const wchar_t *filename,  
   const wchar_t *mode   
);

Как дойдёт дело до вызова этой функции — в лучшем случае приложение просто рухнет, в худшем — предварительно попортит данные.



В нашем же случае справедливо, видимо, вот это —
GetThreadId() on Win-XP? – Группы Google
:


Цитата:



GetThreadId() if just a helper function. It simply calls NtQueryInformationThread to get ThreadBasicInformation-class structure, then retrieve its ClientId.UniqueThread field.



но Вам, как я уже писал выше, сие никак не поможет.
Ответить

Вернуться в «Microsoft Windows 2000/XP»