Просмотр окон процесса, работающего как системная учетная запись или как служба

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

Предположим, например, что у вас есть служба, работающая как своего рода оболочка, которая запускает Excel.


person Community    schedule 16.01.2009    source источник
comment
Этот сайт предназначен для вопросов по программированию. Вы можете найти помощь по этой проблеме на одном из перечисленных здесь сайтов: stackoverflow.com/questions/321618/   -  person EBGreen    schedule 16.01.2009
comment
Если служба запускает Excel, она должна использоваться только с автоматизацией (и даже тогда это немного сомнительно), вам не нужно видеть или извлекать содержимое окна, поскольку вы можете использовать автоматизацию для чтения и управления содержимым.   -  person Stephen Martin    schedule 16.01.2009


Ответы (3)


Microsoft шпион++

Выберите Spy/Processes и найдите там свой процесс

Если некоторые из его потоков создали какие-либо окна, вы увидите их как поддеревья.

person Quassnoi    schedule 16.01.2009

Процесс, который создает и заполняет окна, никогда не должен запускаться как служба. При этом, если это на Win2K3 или более ранней версии, настройте службу для взаимодействия с рабочим столом, и вы сами сможете увидеть содержимое. Если это Vista или более поздняя версия, нет возможности проверить содержимое произвольного окна.

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

person Stephen Martin    schedule 16.01.2009

Службы (при нормальных обстоятельствах) будут связаны с другой оконной станцией для интерактивного рабочего стола, и они не могут взаимодействовать — вы можете прочитать подробнее о Window Stations в MSDN

person Rowland Shaw    schedule 21.01.2009