Как я могу программно управлять местоположениями значка на рабочем столе Windows?

В этом вопросе отсутствуют некоторые особенности, но вот некоторые ответы.

1 - Программа чтения с экрана автоматически сфокусируется и прочитает первый вид на экране (справа налево, сверху вниз). Это поведение по умолчанию и не должно быть изменено.

2 - В некоторых случаях программа чтения с экрана может выполнять другое действие, когда отображается ваш контент. Например, когда отображается Dialog, поведение по умолчанию для TalkBack состоит в том, чтобы объявить заголовок и сосредоточиться на втором виде. Если вы вручную просите читателя сосредоточиться на заголовке, его можно прочитать дважды.

3 - Вы можете определить текст для чтения в вашем XML с помощью android: contentDescription или в вашем коде с помощью view.setContentDescription(textToRead)

24
задан ZeroBugBounce 25 September 2008 в 06:11
поделиться

4 ответа

Если я не ошибаюсь, рабочим столом является просто ListView, и необходимо будет отправить сообщение LVM_SETITEMPOSITION к дескриптору рабочего стола.

я погуглил немного для некоторого кода c# и не мог найти пример, но я сделал нашел следующую статью. Torry:... получите/установите положения значков на рабочем столе? . Это - код Дельфи, но я нахожу его очень читаемым, и с некоторым P/Invokes Вы будете в состоянии перевести его в c#.

12
ответ дан 29 November 2019 в 00:25
поделиться

Рабочий стол является просто управлением ListView, и можно получить его дескриптор и отправить сообщения в него для перемещения значков вокруг использования LVM_SETITEMPOSITION.

Получение позиций значка с помощью LVMGETITEMPOS немного более сложно, все же. Необходимо передать указатель на структуру ТОЧКИ как LPARAM. При попытке сделать это, Вы, вероятно, разрушите Проводник. Проблема - Вы, передал его указатель в Вашем адресном пространстве, которое управление интерпретировало как указатель в адресном пространстве Проводника. Ай!

решение, которое я использовал, состоит в том, чтобы ввести DLL в Проводник, обрабатывают и отправляют сообщение оттуда. Тогда у Вас просто должен быть способ вернуть информацию о положении к Вашему процессу.

2
ответ дан 29 November 2019 в 00:25
поделиться

Я все еще изучаю это и отправлю результат, как только я наконец получаю что-то работа. Я отправляю это, потому что, спасибо косвенно к сообщению Davy, я также нашел классическую реализацию VB:

Значки на рабочем столе Перестановки Используя Межпроцессную Коммуникацию Памяти

и это, вероятно, будет основанием для моего кода.

1
ответ дан 29 November 2019 в 00:25
поделиться

Я понятия не имею о API, но я знаю, что Ultramon ( http://www.realtimesoft.com/ultramon/ ) включали функцию для сохранения размещения значка (хотя я никогда не использовал его для сохранения местоположения значка, это необходимо для нескольких, контролируют использование). Последняя бета-версия работы безупречно с Vista (за исключением иногда наличия незначительного незначительного сбоя или два, первоначально входя в мою машину через RDP), и конечно, не имела никаких проблем с XP. Я использовал его больше четырех лет теперь.

И я упоминал, что это - лучшая утилита для нескольких, контролируют использование?

0
ответ дан 29 November 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: