FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9112
Вход
Получение спиcка всех запущенных приложений

Функция создает список всех запущенных приложений в Windows, которое имеют открытые окна (есть окно на taskbar). Или создает список приложений в названии окон которых содержится определенный текст.


 
Прислал: MS KB   Категория: Foxpro и другие приложения


Получение спсика всех запущенных приложений

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

Приведенная функция работает в двух режимах: выводит все активные приложения или только те, в окнах которых содержится определенный текст.

? IsWindEx('Microsoft Word') && выводит список всех запущенных Word'ов
? IsWindEx('') && выводит список всех запущенный приложений

FUNCTION IsWindEx
PARAMETERS WindowName
IsWindEx = .F.
SET LIBRARY TO foxtools.fll
* Register the Windows API functions that will be called
mGetWinTxt = RegFn("GetWindowText", "I@CI", "I")
mGetWindow = RegFn("GetWindow", "II", "I")
mIsWinVis = RegFn("IsWindowVisible", "I", "I")
* Get the HWND (handle) to the main FoxPro window
foxhwnd = MAINHWND()
* Produce a list of all windows
hwndNext = CallFn(mGetWindow,foxhwnd,0)
DO WHILE hwndNext <> 0
IF (hwndnext <> foxhwnd) .AND. ;
CallFn(mGetWindow,hwndnext,4) = 0 .AND. ;
CallFn(mIsWinVis,hwndnext) <> 0
Stuffer = SPACE(64)
x = CallFn(mGetWinTxt,hwndnext,@Stuffer,64)
* If a window name was specified, check to
* see if this is the specified window. If a
* window name was not specified, display the
* name of the window.
IF LEN(TRIM(WindowName)) = 0
? Stuffer
ELSE
IF WindowName $ Stuffer
IsWindEx = .T.
EXIT
ENDIF
ENDIF
ENDIF
hwndNext = CallFn(mGetWindow,hwndnext,2)
ENDDO
SET LIBRARY TO
IF LEN(TRIM(WindowName)) = 0
IsWindEx = .T.
ENDIF
RETURN IsWindEx
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.965)
Дополнения пользователей
Получение спиcка всех запущенных приложений
[+][?]
Александр
17.10.01 19:39:28

Данный пример выдает список наименований окон запущенных приложений а не список приложений.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика