Я хочу, чтобы узнать, как вы называете Windows API в Delphi. Недавно у меня возник вопрос о GetProcessorAffinity, и объявление Delphi было опубликовано как часть ответа. Я хотел бы знать, как найти такую информацию.Где можно найти объявления Delphi для вызовов Windows API?
ответ
Нет функции с именем GetProcessorAffinity
. Возможно, вы имеете в виду GetProcessAffinityMask
. Эта функция объявлена в блоке RTL Winapi.Windows
. Исходный файл для этого поставляется с Delphi. Вы можете использовать CTRL + нажмите, чтобы перейти к объявлению любой функции.
Если вы делаете это с GetProcessorAffinity
, то вы будете приняты к его реализации в Winapi.Windows
. Теперь, что реализация выглядит следующим образом:
function GetProcessAffinityMask; external kernel32 name 'GetProcessAffinityMask';
Это не очень полезно, но информация, которую вы ищете, рядом. Теперь, когда вы находитесь в файле, который содержит реализацию, вы можете найти объявление. Переместитесь в начало файла и найдите GetProcessAffinityMask
. Это приведет вас сюда:
function GetProcessAffinityMask(hProcess: THandle;
var lpProcessAffinityMask, lpSystemAffinityMask: DWORD_PTR): BOOL; stdcall;
Это то, что вам нужно.
Многие из функций API Windows, но не все, объявляются в Winapi.Windows
. Но описанный выше процесс приведет вас в нужный файл в любом случае.
Другая полезная методика - поиск в файлах. Из IDE Поиск menu select Найти в файлах. Настройка диалогового окна, как это:
Обратите внимание, что вам необходимо использовать путь, подходящий для вашей версии Delphi. Например, мой пример из XE7, который является версией 15, но у вас есть XE5, который является версией 12.
Да, вы правы; GetProcessAffinityMask - это то, что я искал. Спасибо, что ответили на этот мирский вопрос; это будет очень полезно для меня. –
В более поздних версиях Delphi (я считаю, что он поддерживается во всех версиях XE) вы можете использовать CTRL + LeftClick для любого объявления типа метода, чтобы быстро перейти к его реализации. – SilverWarior
Delphi поставляется по умолчанию с некоторыми Windows API в разных единицах (многие из них в Windows (WinApi.) Windows блок.
более полный перевод заголовков Windows API, можно найти в проекте Delphi Jedi Apilib.
Пожалуйста, обратите внимание, что три из ваших четырех вопросов были неправильно помечены, потому что они опустили общий DELPHI тег. Ваши вопросы будут иметь больше видимость, если они помечены таким образом. В каждом из трех случаев другие повторно помечены, но лучше, если вы можете пометить. –
Спасибо, я запомню это. –