Что нового

Blockinput с русским Windows

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

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
действие данной функции не зависит от локализации 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
У меня Windows XP, как быть?
 
Автор
H
Сообщения
36
Репутация
-2
CreatoR
Wow, ты - прикольный. Ну, может, еще кто поможет?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
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 610
Репутация
2 438
hohmuch [?]
Тема создана после совещания с глобальным модератором.
На форуме есть ещё Администратор, который сейчас даст тебе единственное и последнее предупреждение.

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

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

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


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

kaster

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

SyDr

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

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

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
Ну так внесите 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
 
Автор
H
Сообщения
36
Репутация
-2
Medic84
Oo спасибо большое
 
Верх