2

Есть ли способ получить местоположение (координаты x, y или аналогичное) значка корзины для мусора на рабочем столе?

Спасибо

1 ответ1

2

Код обновлен.

Вы можете использовать AutoHotkey для этого. Вам нужна команда Imagesearch, чтобы сделать это. Вот полный код, который делает то, что вам нужно:

CoordMode, Pixel, Screen
ImageSearch, varX, varY, 0, 0, 1360, 768, rb.bmp
MsgBox, Recycle Bin coordinates are x=%varX%, y=%varY% .

В этом коде замените 1360, 768 на разрешение экрана вашего монитора.

Поместите весь код в блокнот и сохраните его как anyfilename.ahk.

rb.bmp - изображение значка корзины. Чтобы сделать это, сделайте изображение как красная линия на этой картинке ниже. Таким образом, ваше изображение должно быть частью значка корзины, который находится на моей картинке в виде красной линии. Не делайте rb.bmp моим изображением, оно должно включать только красную квадратную часть моего изображения! Поместите rb.bmp в папку, где находится anyfilename.ahk.

Итак, rb.bmp должен выглядеть так:

Загрузите новую версию AutoHotkey с http://ahkscript.org/ (текущая версия), а не с autohotkey.com (устаревшая версия!) и установите его.

После установки AutoHotkey дважды кликните на anyfilename.ahk. Вы получите координаты левого верхнего угла rb.bmp (зеленый кружок на моем первом рисунке) в окне сообщения.

AutoHotkey также имеет конвертер, который позволяет конвертировать файл .ahk в файл .exe, если это необходимо.

Вторая версия

Работает с полной и пустой корзиной:

CoordMode, Pixel, Screen
Loop
{
    ImageSearch, varX, varY, 0, 0, 1360, 768, rb1.bmp
    if(varX!="")
    {
        MsgBox, Full Recycle Bin coordinates are x=%varX%, y=%varY%
    }
    varX:=""
    varY:=""

    ImageSearch, varX, varY, 0, 0, 1360, 768, rb2.bmp
    if(varX!="")
    {
        MsgBox, Empty Recycle Bin coordinates are x=%varX%, y=%varY% 
    }
    varX:=""
    varY:=""

    Sleep, 1000
    break
}

rb1.bmp для полной иконки корзины.

rb1.bmp - пустой значок корзины.

Я также положил команду сна. Здесь 1000 - это значение в миллисекундах (1 секунда = 1000 миллисекунд). С этой командой он будет ждать 1000 миллисекунд, чтобы снова проверить корзину. Вы можете дать ему любое значение. Также вы можете удалить эту команду на всех.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .