1 (изменено: Real Root, 2013-03-14 21:37:38)

Тема: AHK: Управление устройствами (включение/выключение)

Здравствуйте уважаемые.
Нашел вот такой скрипт для управления тачпадом:

1::TouchpadToggle()
TouchpadToggle() {
    SynAPI:=ComObjCreate("SynCtrl.SynAPICtrl"), SynDev:=ComObjCreate("SynCtrl.SynDeviceCtrl")
    SynAPI.Initialize
    SynDev.Select(SynAPI.FindDevice(0,2,-1))
    SynDev.SetLongProperty(268435825, State:=(!SynDev.GetLongProperty(268435825) ? 1 : 0))
}

Как видите, тут идет прямое управление тачпадом, без промежуточных devcon и прочего.
Реально ли сделать такое же для вкл/выкл Web-камеры?
Т.е. интересует в первую очередь прямой вызов через COM, без использования сторонних утилит.
Может кто видел ссылки - я просто даже не знаю с какой стороны подступиться.

2

Re: AHK: Управление устройствами (включение/выключение)

Тоже создавал тему с подобным вопросом.

Не объясните в кратце нубу про то что вообще такое COM?
И почему при запуске вашего кода

+ у меня ошибка

---------------------------
clipboard_Launch.ahk
---------------------------
Error:  0x800401F3 - Недопустимая строка с указанием класса


Line#
001: FileDelete,D:\AutoIt\other\clipboard_Launch.ahk
003: TouchpadToggle() 
004: {
---> 005: SynAPI:=ComObjCreate("SynCtrl.SynAPICtrl"), SynDev:=ComObjCreate("SynCtrl.SynDeviceCtrl") 
006: SynAPI.Initialize 
007: SynDev.Select(SynAPI.FindDevice(0,2,-1)) 
008: SynDev.SetLongProperty(268435825, State:=(!SynDev.GetLongProperty(268435825) ? 1 : 0)) 
009: }
010: ExitApp
011: Exit
012: Exit

Continue running the script?
---------------------------
Да   Нет   
---------------------------

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Управление устройствами (включение/выключение)

Этот скрипт для AutohotkeyL - наверное поэтому ошибку дает.
Я с COM - сам мало знаком. Но вкратце - у DLL есть методы через которые можно к ней обращаться напрямую в рамках самой программы, без создания отдельного процесса и выделения дополнительного адресного пространства. Причем, преимущество в том, что вам не нужно знать исходный код библиотеки, нужно знать лишь ее интерфейсы. К примеру, можно через скрипт подключить библиотеку 7z.dll и использовать ее функции для работы с 7z-архивами.

4

Re: AHK: Управление устройствами (включение/выключение)

Хорошая статья тут: http://www.ict.edu.ru/ft/002279/components06.html

5

Re: AHK: Управление устройствами (включение/выключение)

Да, еще для работоспособности вышеприведенного кода у вас должен стоять Synaptics Driver для тачпада.
Я это нашел тут: http://www.autohotkey.com/board/topic/43009-disable-synaptics-touchpad-via-a-hotkey/

6

Re: AHK: Управление устройствами (включение/выключение)

Этот скрипт для AutohotkeyL - наверное поэтому ошибку дает.

Тот что в подписи разве не то?

Хорошая статья тут: http://www.ict.edu.ru/ft/002279/components06.html

У меня там крякозябры:
рЕУМНКНЦХХ ЙНЛОНМЕМРМНЦН ОПНЦПЮЛЛХПНБЮМХЪ

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7 (изменено: Александр_, 2013-03-15 01:02:53)

Re: AHK: Управление устройствами (включение/выключение)

Real Root пишет:

Этот скрипт для AutohotkeyL - наверное поэтому ошибку дает.
Я с COM - сам мало знаком. Но вкратце - у DLL есть методы через которые можно к ней обращаться напрямую в рамках самой программы, без создания отдельного процесса и выделения дополнительного адресного пространства. Причем, преимущество в том, что вам не нужно знать исходный код библиотеки, нужно знать лишь ее интерфейсы. К примеру, можно через скрипт подключить библиотеку 7z.dll и использовать ее функции для работы с 7z-архивами.

У вас каша в голове . COM и DLL, это два очень далёких друг от друга понятия.

serzh82saratov пишет:

У меня там крякозябры:
рЕУМНКНЦХХ ЙНЛОНМЕМРМНЦН ОПНЦПЮЛЛХПНБЮМХЪ

Вид->Кодировка->Windows-1251. В качестве бонуса для хакеров вверху видим ошибку с раскрытием путей и xss в каждом модуле - и это на профильном ресурсе . Тыц - может honeypot?

8

Re: AHK: Управление устройствами (включение/выключение)

Александр_ пишет:

У вас каша в голове

Согласен
С COM вообще не работал, знаю только что с помощью него мою задачу можно решить

9

Re: AHK: Управление устройствами (включение/выключение)

Вид->Кодировка->Windows-1251.

Точно, вспомнил. Давно такое-же видел.


Так почему-же при запуске ошибка...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: AHK: Управление устройствами (включение/выключение)

serzh82saratov пишет:

Так почему-же при запуске ошибка...

Нет нужного COM-объекта.

11

Re: AHK: Управление устройствами (включение/выключение)

Александр_
Понятно.

А что в принципе может являтся COM-объектом?
Вот есть например звуковая карта, как узнать что она COM-объект, и как далее действовать для манипулирования ею? Хотя бы просто вкл\выкл это устройство.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Управление устройствами (включение/выключение)

serzh82saratov пишет:

Александр_
Понятно.

А что в принципе может являтся COM-объектом?
Вот есть например звуковая карта, как узнать что она COM-объект, и как далее действовать для манипулирования ею? Хотя бы просто вкл\выкл это устройство.

COM - это стандарт. Любая программа соответствующая ему является COM-компонентом. Никакого отношения к аппаратуре COM не имеет, выше есть ссылка на RSDN с подробностями.

13

Re: AHK: Управление устройствами (включение/выключение)

А через WMI нет методов вкл/выкл устройства?