Имя пользователя:
Пароль:
 

Показать сообщение отдельно
RemoteAdmin


Сообщения: n/a

Профиль | Цитировать


Всем привет! Помогите новичку.
Вообщем возникла такая проблема. Мне нужно заменить один текст внутри exe файла, на свой.

Ну например, текст: This program cannot be run in DOS mode
Заменить на текст: <----------------AutoIT RuleZ---------------->

Я пытался использовать вот эту функцию:
Код: Выделить весь код
Func ReplaceText($FileNameT, $OldText, $NewText)
	$hFile = FileOpen($FileNameT, 0)
	$aArray = StringSplit(FileRead($hFile, FileGetSize($FileNameT)), @LF)
	If Not @error Then
		FileClose($hFile)
		$hFilew = FileOpen($FileNameT, 2)
		For $iaar = 1 To $aArray[0] - 1
			$ReplStrT = StringReplace($aArray[$iaar], $OldText, $NewText)
			FileWrite($hFilew, $ReplStrT & @LF)
		Next
		FileClose($hFilew)
	EndIf
EndFunc
Текст заменяется, но из конца файла отрезается маленький кусок, т.е. как я понимаю, он после разбиения файла на подстроки, не может его обратно собрать.

Я также пытался, передавать ему не простые строки текста, но и в HEX, Binary формате (BinaryString), всё равно не может ничё сделать.
На офф, форумах AutoIT нашёл функции BinaryWrite/BinaryRead, но так и не смог в них разобратся.

Не могли бы вы помочь мне, в реализации моей затеи, желательно с примерами. Спасибо.

Последний раз редактировалось Sanja Alone, 09-01-2007 в 22:01. Причина: Добавление тэга code


Отправлено: 13:16, 06-01-2007 | #106