Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


Сообщения: 27449
Благодарности: 8087

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


Попытка сделать то же самое, но программно, на WSH:
читать дальше »
Код: Выделить весь код
Option Explicit

Const ForReading = 1
Const ForWriting = 2


Dim strSourceFile

Dim objFSO

Dim arrContent
Dim i
Dim boolFound


If WScript.Arguments.Count = 1 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strSourceFile) Then
		With objFSO.OpenTextFile(strSourceFile, ForReading)
			arrContent = Split(.ReadAll(), vbCrLf)
			.Close
		End With
		
		With WScript.CreateObject("VBScript.RegExp")
			.Pattern = "^.*\[WINDOWS\].*$"
			.IgnoreCase = True
			
			boolFound = False
			
			For i = LBound(arrContent) To UBound(arrContent)
				If .Test(arrContent(i)) Then
					boolFound = True
					
					Exit For
				End If
			Next
			
			If boolFound Then
				.Pattern = "^((?:.*?,){11})(.*?)(,.*)$"
				
				If .Test(arrContent(i + 1)) Then
					arrContent(i + 1) = .Replace(arrContent(i + 1), "$10x" & Hex(Eval(Replace(.Execute(arrContent(i + 1)).Item(0).Submatches(1), "0x", "&H")) Or 2^20) & "$3")
					
					With objFSO.OpenTextFile(strSourceFile, ForWriting)
						.Write Join(arrContent, vbCrLf)
						.Close
					End With
				Else
					WScript.Echo "Can't find button's mask in first line of [WINDOWS] section."
					WScript.Quit 4
				End If
			Else
				WScript.Echo "Can't find [WINDOWS] section in [" & strSourceFile & "]."
				WScript.Quit 3
			End If
		End With
	Else
		WScript.Echo "Can't find source file [" & strSourceFile & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Path to .hhp project>"
	WScript.Quit 1
End If

WScript.Quit 0

Можно просто перетащить файл проекта «.hhp» на скрипт.

Ограничения на использование:
  • невозможность использования в полных путях к файлу/файлам оглавления «.hhc» запятой — «,»;
  • обработка только одного определения окна, идущего непосредственно за именем раздела «[WINDOWS]»;
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:39, 14-04-2014 | #66