Premnath Mali Ответов: 1

Как загрузить программы запуска в clistctrl в mfc?


У меня есть контроль списка и я хотел бы управлять программами запуска с его помощью
для этого сначала мне нужно загрузить пусковые программы Извините я понятия не имею как это сделать
чтобы сделать это? Это то, что я ищу...
Пожалуйста, Помогите!!!

Что я уже пробовал:

// This is a list control...
	m_lstStartupProgram.InsertColumn(0,_T("File Name"),LVCF_TEXT,180);
	m_lstStartupProgram.InsertColumn(1,_T("File Location"),LVCF_TEXT,230);
	m_lstStartupProgram.InsertColumn(2,_T("Key"),LVCF_TEXT,280);


void CStartupBoosterPage::LoadStartupsToList()
{
	//Here I want to write code...
}

1 Ответов

Рейтинг:
12

Jochen Arndt

Нет простого решения для получения списка программ запуска, потому что существует несколько мест, где определяются программы запуска.

Но вы можете получить список с помощью WMI или PowerShell. Таким образом, самым простым решением было бы выполнить их как процессы командной строки, перенаправить выходные данные в текстовый файл и прочитать и проанализировать этот файл. Видеть Создание списка программ запуска с помощью командной строки или PowerShell[^] для использования WMI и PowerShell.

Для выполнения процессов система, _wsystem[^] или Функция CreateProcess (Windows)[^]. Выходные данные должны быть записаны во временный файл (см. Функция GetTempFileName (Windows)[^]), который следует удалить после прочтения. Чтение текстового файла не должно быть проблемой. При использовании WMI вы должны обрабатывать текстовый файл построчно и разбивать строки на столбцы (используйте strtok, CString::Tokenize, или AfxExtractSubString). При выводе PowerShell элементы разделяются пустыми строками, а столбцы имеют префикс идентификатора (при использовании команды из приведенной выше ссылки).


Premnath Mali

Сэр,
В командной строке cmd он дает только три программы не все я проверил с помощью msconfig,
и команда powershell выдает ошибку... Что же мне делать?

ошибка:
Термин "Get-CimInstance" не распознается как имя командлета, функции, файла сценария или действующей программы. Проверять
проверьте правильность написания имени или, если путь был включен, проверьте правильность пути и повторите попытку.

Jochen Arndt

Выполните его от имени администратора.

Вы используете Windows 7?
Чем вы должны установить или обновить PowerShell.

Premnath Mali

Я использую windows 7
и попытался выполнить от имени администратора, но все равно получил ту же ошибку???

Jochen Arndt

Вы получили эту ошибку, когда PowerShell не установлен или слишком стар.
- Откройте командную строку
- Тип PowerShell
- Вы получите подсказку ps
- Введите $PSVersionTable.PSVersion
- ввести Exit

Premnath Mali

ПС C:\Users\lapitop> $PSVersionTable.PSVersion

Значительное Незначительное Версию Сборки
----- ----- ----- --------
2 0 -1 -1

Premnath Mali

Сэр, есть ли другой способ получить программы запуска в списке
и включать или отключать программы
есть ли какой-нибудь способ использовать реестр?

Jochen Arndt

У вас есть PowerShell версии 2.0. Тока 5.1.

Вы можете использовать реестр (упомянутые инструменты делают это), но, как уже упоминалось, существуют различные места, где могут быть указаны программы запуска.