|
Павел-Kikoz
Вот, что нашол за выходные.
FindExecutable
(Модуль ShellAPI)
HINSTANCE FindExecutable(
LPCTSTR lpFile,//строка с именем файла документа
LPCTSTR lpDirectory,//строка каталога по умолчанию
LPTSTR lpResult//строка с именем выполняемого файла
)
При успешном завершении возвращает значение > 32. Если меньше, то свидетельствует об ошибке.
Пример
char APchar[254];
FindExecutable("Doc.doc",NULL,APchar);
Label1->Caption=APchar;
Приведёт к тому, что в метку Label1 будет занесено имя приложения, связанного с файлом типа .doc.
Например:
C:\MSOFFICE\WINWORD\WINWORD.EXE
HWND GetNextWindow(hWnd,unsigned int wCmd);
Функция определяет дискриптор следующего или предыдущего окна. Параметр hWnd - дискриптор окна, от которого начинается отсчёт.
Параметр wCmd - определяет направление поиска. Если wCmd = GW_HWNDNEXT, то ищется следующее окно, находящееся ниже. Если wCmd = GW_HWNDPREV,
то ищется предыдущее окно, находящееся выше. Если результат выполнения функции = NULL, то в данном направлении больше окон нет.
Как мы узнаем, что процесс наш - по дискриптору (у тебя будет дискриптор твоего процесса (кстати запускать всёравно через CreatProcess) и дискрипторы запущенных приложений. Дискрипторы хранятся в ОПЕРАТИВКЕ - перебор мгновенный.
|