Показать полную графическую версию : Управление процессами в С++Builder6
Можно ли в С++Builder6 программно включать и завершать процессы? И если да, то как.
Если нужен пример поконкретнее:
я пытаюсь написать что-то вроде оболочки для Win2000. При её запуске необходимо завершить процесс Explorer(стандартную оболочку), а при выходе включать его обратно.
И ещё, мож кто знает. Как создать менюшку наподобие меню ПУСК, т.е. чтоб она включала в себя ссылки на файлы из конкретной папки, автоматом её проверяя.
1. Создание процесса http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asp
2. Завершать лучше всего так http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/exitprocess.asp
3. Менюшка:
создается сначала пустое меню с помощью CreatePopupMenu (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menufunctions/createpopupmenu.asp), затем выполняешь поиск нужных файлов с помощью FindFirstFile, FindNextFile и FindClose. Каждое найденное совпадение добавляешь с помощью InsertMenuItem (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menufunctions/insertmenuitem.asp) c соответствующими параметрами. Иконку и некоторые другие полезные данные файла можно получить, выполнив функцию SHGetFileInfo (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetfileinfo.asp). Показ меню осуществляется с помощью TrackPopupMenuEx (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus/menureference/menufunctions/trackpopupmenuex.asp).
Это - общие действия, основываясь на WinAPI. Применительно к BCB можно использовать и VCL (NewPopupMenu, NewItem и т.п.).
Вот за это действительно огромное спасибо. Прям как по полочкам разложено. Да и некоторые свои другие вопросы я на том сайте нашёл..Теперь будем плодотворно работать=)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.