Что нового

Blockinput с русским Windows

Сообщения
36
Репутация
-2
Я поиском даже вроде нашел подобие решения на свой вопрос, но все равно запутался.
Итак, пожалуйста, как сделать чтобы blockinput работал с русским Windows?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
действие данной функции не зависит от локализации Windows. читаем справку за деталями.
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
Отключить мышь и клавиатуру. 

  BlockInput ( flag ) 

  flag:
  1 = отключить ввод пользователя
  0 = включить ввод пользователя

  BlockInput не работает на всех платформах, что показано в следующей таблице.  
  Кроме этого,  пользователь всегда может  инициировать ввод  нажатием комбинации 
  CTRL-ALT-DEL - опция Windows API.

Windows 95 Не работает. 
Windows 98 Ввод блокируется, причем AutoIt не может симулировать ввод данных. 
Windows NT 4 (Without ServicePack 6) Не работает. 
Windows NT 4 (With ServicePack 6) Ввод блокируется, причем AutoIt может симулировать ввод данных. 
Windows 2000/XP Ввод блокируется, причем AutoIt может симулировать ввод данных.
 
Автор
H
Сообщения
36
Репутация
-2
CreatoR
Wow, ты - прикольный. Ну, может, еще кто поможет?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
hohmuch
уже помогли. вопрос решен. тема закрыта
 
Автор
H
Сообщения
36
Репутация
-2
Не работает blockinput с этим кодом. Кто-нибудь может с этим разобраться? Тема создана после совещания с глобальным модератором.

Код:
#include <String.au3>
BlockInput(1)
Opt('WinTitleMatchMode', 2) 
$sTitle = 'Google Chrome' 
If WinExists($sTitle) Then 
If Not WinActive($sTitle) Then WinActivate($sTitle) 
EndIf
Sleep (100)

$Text = FileRead("mustaste.txt")
$Text = _StringBetween($Text, "NEXTPOST", "NEXTPOST")
For $i = 0 To UBound($Text) -1

MouseClick("left", 15, 0, 1, 0)
Sleep(500)

MouseMove(71, 41, 0)
Do
Sleep (100)
$var = PixelGetColor( 71 , 41 )
Until $var = 0xF4F4F4

Sleep(100) 
Send ("{HOME}")
Sleep(50) 
MouseClick("left", 800, 465, 1, 0)
Sleep(50) 

ClipPut($Text[$i])
Send("+{INSERT}")

MouseClick("left", 315, 675, 1, 0) 
Sleep(500)
MouseClick("left", 315, 640, 1, 0)  


Sleep(100)
Send("^+{TAB}") ;вместо MouseClick("left", 234, 0, 1, 0)
BlockInput(0)
Sleep(2 * 59.27 * 1000)
Next



Добавлено:
Сообщение автоматически объединено:

Лол, у меня уже 2 минусика в карму.


Добавлено:
Сообщение автоматически объединено:

"за тупость", окей, интеллектуалы в треде, все в машину.
 

SyDr

Сидра
Сообщения
651
Репутация
158
Код:
#include <String.au3>
BlockInput(1)
MsgBox(4096, Default, @error) ; что выводит?


Windows 7? Права администратора у скрипта есть?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
hohmuch [?]
Тема создана после совещания с глобальным модератором.
На форуме есть ещё Администратор, который сейчас даст тебе единственное и последнее предупреждение.

1.
Лол, у меня уже 2 минусика в карму.
...
"за тупость", окей, интеллектуалы в треде, все в машину.
{LangWarn.Admin}

2.
Предупреждение за воссоздание темы с заголовком закрытой темы (можно было бы и что-то поумнее придумать).

Темы склеены.
 
Автор
H
Сообщения
36
Репутация
-2
SyDr
Message box 0 и блокинпут


madmasles
блокинпут на две секунды
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
я не понял, почему эта тема все еще мусолится. в справке написано, что необходим
Код:
#requireAdmin
 

SyDr

Сидра
Сообщения
651
Репутация
158
hohmuch
А вообще, похоже твоя ошибка в том, что ты блок снимаешь блок в конце первой итерации цикла. Перенеси BlockInput(0) на две строки ниже.
 
Автор
H
Сообщения
36
Репутация
-2
SyDr
Спасибо большое, но ведь так блокинпут будет распространяться на две минуты перерыва в действии кода, чего бы не хотелось.

Причем ПЕРВЫЙ РАЗ блокинпут кажется работает, а впоследствии - нет.
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Ну так внесите BlockInput в цикл.
Код:
#include <String.au3>

Opt('WinTitleMatchMode', 2) 

$sTitle = 'Google Chrome' 

BlockInput(1)
If WinExists($sTitle) Then 
	If Not WinActive($sTitle) Then WinActivate($sTitle) 
EndIf

Sleep (100)

$Text = FileRead("mustaste.txt")
$Text = _StringBetween($Text, "NEXTPOST", "NEXTPOST")

BlockInput(0)
For $i = 0 To UBound($Text) -1
	BlockInput(1)
	
	MouseClick("left", 15, 0, 1, 0)
	Sleep(500)

	MouseMove(71, 41, 0)
	Do
		Sleep (100)
		$var = PixelGetColor( 71 , 41 )
	Until $var = 0xF4F4F4

	Sleep(100) 
	Send ("{HOME}")
	Sleep(50) 
	MouseClick("left", 800, 465, 1, 0)
	Sleep(50) 

	ClipPut($Text[$i])
	Send("+{INSERT}")

	MouseClick("left", 315, 675, 1, 0) 
	Sleep(500)
	MouseClick("left", 315, 640, 1, 0)  

	Sleep(100)
	Send("^+{TAB}") ;вместо MouseClick("left", 234, 0, 1, 0)
	BlockInput(0)
	Sleep(2 * 59.27 * 1000)
Next
 
Верх