Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2015, 14:53   #1
AngelNine
Пользователь
 
Регистрация: 27.03.2015
Сообщений: 10
По умолчанию Список приложений

Доброго времени суток. Пишу программу которая получает список запущенных программ. По мере продвижения по коду столкнулся такой проблемой что необходимо получить не только заголовок окна, но и путь к исполняемому файлу, ну или хотя бы его имя. В сети нашел код:
Код:
With Form do Begin
    Wnd := GetWindow(Handle, gw_HWndFirst);
    while Wnd <> 0 do begin {Не показываем:}
      if (Wnd <> Application.Handle) and {Собственное окно}
        IsWindowVisible(Wnd) and  {Невидимые окна}
        (GetWindow(Wnd, gw_Owner) = 0) and  {Дочерние окна}
        (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {Окна без заголовков}
        then Begin
        GetWindowText(Wnd, buff, sizeof(buff));

        GetWindowThreadProcessId(wnd, @pid);
        pr := CreateToolHelp32Snapshot(TH32CS_SNAPMODULE, pid);
        me32.dwSize := SizeOf(me32);
        Module32First(pr, me32);
        CloseHandle(pr);

        MainForm.Memo1.Lines.Add(Format('Программа %s, путь к программе: %s',[buff, me32.szExePath]));
Wnd := GetWindow(Wnd, gw_hWndNext);
   end;
  End;
Но возникла следующая проблема не ко всем приложениям он указывает путь. Программа пишется на Win 8.1 x64. Тестировалось на такой же системе, а так же на Win 7 x32 и Win 8.1 x32. И того тест проводился на 4 машинах. Предположительно проблема связанна с разрядностью системы, т.к. на 32-х разрядной системе программа отработала нормально, а вот на 64-х разрядной не хочет. Товарищи помогите пожалуйста обойти это.

Ребята помогите не уже ли данная конструкция не работает на 64 разрядной системе?

Последний раз редактировалось AngelNine; 07.04.2015 в 13:38.
AngelNine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Android: Список запущеных приложений mc13 Общие вопросы C/C++ 11 16.01.2015 22:18
создать список л3 из элементов входящих и в список л1 и в список л2 goosha_gio C++ Builder 1 27.06.2013 22:22
Создать односвязный список и вывести его на экран. Из этого списка создать новый список по указанному ниже правилу и новый список San111 Паскаль, Turbo Pascal, PascalABC.NET 1 15.05.2012 22:08
Список запущенных приложений nVz Общие вопросы Delphi 2 13.08.2011 20:51
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание Zigfried Помощь студентам 2 04.10.2010 20:29