Получите названия выполнения процессов

использовать макет ограничения app: layout_constraintDimensionRatio = "1: 1"

  1. читать документ
  2. см. пример

30
задан Community 23 May 2017 в 12:25
поделиться

2 ответа

Не уверен, что это то, что вы ищете, но не могли бы вы использовать LaunchServices API с __ LSCopyApplicationArrayInFrontToBackOrder? Я слышал об этом, но никогда не использовал это сам. После некоторого поиска, вот пример кода, который может предоставить то, что вы ищете? Я действительно не знаю и немного догадываюсь;)

http://gist.github.com/163918

Редактировать

На самом деле, Ха. Вот пост переполнения стека, который дает это в качестве ответа и ссылки на тот же пост, на который я ссылался ...

http://www.stackoverflow.com/questions/945033/getting-the-list-of-running-applications-ordered-by-last-use

0
ответ дан lewiguez 28 November 2019 в 00:30
поделиться

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

Для некоторых процессов будет работать следующее:

ProcessSerialNumber         psn;
CFStringRef             name = NULL;
status = GetProcessForPID( inPID , &psn );
if ( noErr == status ) CopyProcessName( &psn , &name );

Для некоторых процессов вы можете найти pid в результатах [[NSWorkspace sharedWorkspace] loadedApplications] по NSApplicationProcessIdentifier . Доступно с 10.2 и новее. Большинство, но, возможно, не все, элементы в этом списке будут такими же, как CopyProcessName выше.

Для некоторых процессов вы можете найти аргументы процесса и получить полный путь из первого аргумента. Аналогично получению исходного списка, но с использованием KERN_PROCARGS или KERN_PROCARGS2 в качестве второго значения mib. Это то, что делает ps .

Для некоторых процессов вы застряли с 16-символьным p_comm.

2
ответ дан 28 November 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: