Что нового

Скомпилированный скрипт не работает на других машинах

Suppir

Продвинутый
Сообщения
967
Репутация
62
Сам скрипт:

Код:
HotKeySet("!ё", "_Replace")
HotKeySet("^ё", "_Exit")


TrayTip ("AutoIt", "Скрипт запущен", 1)
sleep(2000)
TrayTip("clears any tray tip","",0)



While 1
    Sleep(10)
WEnd

Func _Replace()
	
	$Text = ClipGet()
	$Text = StringRegExpReplace($Text, "[««»»]", """")
	$Text = StringRegExpReplace($Text, "№", "N ")
	$Text = StringRegExpReplace($Text, "ё", "е")
	$Text = StringRegExpReplace($Text, "п р и к а з ы в а ю", "приказываю")
	$Text = StringRegExpReplace($Text, "П Р И К А З Ы В А Ю", "приказываю")
	$Text = StringRegExpReplace($Text, "ПРИКАЗЫВАЮ", "приказываю")
	$Text = StringRegExpReplace($Text, "ПОСТАНОВЛЯЮ", "постановляю")
	$Text = StringRegExpReplace($Text, "п о с т а н о в л я ю", "постановляю")
	$Text = StringRegExpReplace($Text, "	+", " ")
	$Text = StringRegExpReplace($Text, "^\s+", "")
	$Text = StringRegExpReplace($Text, "\s+$", "")
	$Text = StringRegExpReplace($Text, "(\d)г ", "$1 г. ")
	$Text = StringRegExpReplace($Text, "(\d)г\.", "$1 г. ")
	$Text = StringRegExpReplace($Text, " (п|ч|ст|ул|г|пос|пер)\.(\d)", " $1. $2")
	$Text = StringRegExpReplace($Text, "°", " ")
	$Text = StringRegExpReplace($Text, "(\d)м ", "$1 м ")
	$Text = StringRegExpReplace($Text, "(\d)м\. ", "$1 м. ")
	$Text = StringRegExpReplace($Text, "^\s+$", "")
	$Text = StringRegExpReplace($Text,  """""", """")
	$Text = StringRegExpReplace($Text, "—", "-")
	$Text = StringRegExpReplace($Text, "^\s+(\d)", "$1")
	$Text = StringRegExpReplace($Text, "(\d+)\.(\D)", "$1. $2")
	$Text = StringRegExpReplace($Text, " +", " ")
	
	ClipPut($Text)
	TrayTip ("AutoIt", "Замена произведена", 1)
	sleep(1000)
	TrayTip("clears any tray tip","",0)
	
EndFunc


Func _Exit()
	TrayTip ("AutoIt", "Завершение работы скрипта", 1)
	Sleep(1000)
	Exit
EndFunc

на мой машине все прекрасно работает. Делаю exe-шник (CTRL+F7 в Scite). Exe-шник у меня тоже работает. Однако на других машинах (где не установлен AutoIt) скрипт не работает. Он запускается в трее, но функции _Replace() и _Exit() не работают :(


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

Версия 3.3.0.0

Сначала я подумал, что это из-за того, что exe-шник называется по-русски. Однако компиляция с английским названием также ничего не дала :(
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
Попробуй вместо русских букв "ё" использовать английские - мне помогло.
А TrayTip на моем компе не отображаются - отключены в реестре, возможно на других компьютерах тоже самое:
Код:
User Key: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
Name: EnableBalloonTips
Type: REG_DWORD (DWORD Value)
Value: (0 = disabled, 1 = enabled)
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Выходит так, что если на компьютере раскладка по-умолчанию английская, то русские хоткеи не будут работать ДАЖЕ если сменить раскладку.

А если на компьютере раскладка по-умолчанию русская, то английские хоткеи не будут работать.

Проблема решилась заменой раскладки по-умолчанию на "английскую" на всех компах и замена хоткеев на английские.

Наверное, нужно эти хоткеи как-то отлавливать и конвертировать в единый формат.

*насчет трейтипов - спасибо, полезная инфа*
 

hikki

Продвинутый
Сообщения
233
Репутация
99
Код:
HotKeySet("!ё", "_Replace")
HotKeySet("!`", "_Replace")
HotKeySet("^ё", "_Exit")
HotKeySet("^`", "_Exit")


вот так не пойдет? и раскладка по умолчанию уже побоку идет
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
hikki, вы - гений! :smile:
 
Верх