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

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

Аватара для AZJIO

Старожил


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

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


Vadikan, версию с выбором утилит оставляю, теперь вариант для компиляции.
1. Вернул параметр реестра не бинарный, лишняя конвертация никчему (нужно подчистить бинарный параметр в реестре).
2. Убрал выбор утилит, теперь только RegScanner.exe
3. Для компиляции нужны файлы RegScanner.exe и RegScanner_lng.ini
4. Добавил примагничивание regedit к нижнему краю утилиты. Удалил, не понравилось.
В Win7 проверил...
Цитата Vadikan:
О программе - выдает ошибку »
у меня тоже выдавала, потом два раза обновил уже с поправкой...

читать дальше »
Код: Выделить весь код
#AutoIt3Wrapper_Outfile=JumpReg.exe
#AutoIt3Wrapper_Icon=JumpReg.ico
#AutoIt3Wrapper_Compression=4
; #AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=
#AutoIt3Wrapper_Res_Description=JumpReg.exe
#AutoIt3Wrapper_Res_Fileversion=0.7.0.0
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=n
#AutoIt3Wrapper_Res_LegalCopyright=AZJIO
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Run_Au3check=n

;  @AZJIO 23.01.2011 (AutoIt3_v3.3.6.1)
#RequireAdmin
#NoTrayIcon
; FileInstall('RegScanner.exe', '*')
; FileInstall('RegScanner_lng.ini', '*') ;???
; FileInstall('RegScanner.chm', '*')

; En
$LngTitle='JumpReg'
$LngAbout='About'
$LngVer='Version'
$LngSite='Site'
$LngFIT='Define Favorites starting from the next line. After a separator | you can specify a name that has meaning only when importing favorites to Regedit; otherwise, the name is the last subkey.'
$LngFIT1='Folders user'
$LngFIT2='Environment Variables'
$LngFIT3='Environment variables, current'
$LngFav='&Favorites'
$LngEdF='Edit Favorites'
$LngHis='History'
$LngExp='Export	Ctrl+Down'
$LngImp='Import'
$LngSzH='Size'
$LngAdF='Import Favorites to Regedit	Ctrl+Up'
$LngClF='Clear Favorites	Ctrl+Del'
$LngTpE="Jump to the registry key in Regedit." & @CRLF & "Enter"
$LngSWR='Search with RegScanner	Alt+\'
$LngTop='Always on top'
$LngHsIB1='History'
$LngHsIB2='The number of records in the history:'
$LngMs1='Message'
$LngMs2='Clear Favorites in Regedit?'
$LngMs3='Add JumpRegFav.ini entries'&@CRLF&'to Regedit Favorites?'
$LngMs4='Exported successfully to JumpRegSet.reg'&@CRLF&'in the program folder.'
$LngMs5='Error'
$LngMs6='JumpRegSet.reg file not found.'&@CRLF&'You can create it with the Export command.'
$LngMs7='Error: invalid name for the root registry key'
$LngMs8='The key does not exist. The nearest key is:'
$LngMs9='Do you want to jump to it?'
$LngSLng='Language'
$LngNRE='Regedit in a new window	Ctrl+Enter'

$Lang_dll = DllOpen("kernel32.dll")
$UserIntLang=DllCall ( $Lang_dll, "int", "GetUserDefaultUILanguage" )
If Not @error Then $UserIntLang=Hex($UserIntLang[0],4)
DllClose($Lang_dll)

; Ru
; если русская локализация, то русский язык
If $UserIntLang = 0419 Then
	$LngTitle='Прыжок в указанный раздел реестра'
	$LngAbout='О программе'
	$LngVer='Версия'
	$LngSite='Сайт'
	$LngFIT='Указывайте Избранное, начиная с третьей строки. После разделителя | можно указать имя (имеет значение только при импорте избранного в Regedit), иначе именем становится последний подраздел.'
	$LngFIT1='Папки пользователя'
	$LngFIT2='Переменные среды'
	$LngFIT3='Переменные среды текущего'
	$LngFav='&Избранное'
	$LngEdF='Редактировать избранное'
	$LngHis='И&стория'
	$LngExp='Экспорт	Ctrl+Down'
	$LngImp='Импорт'
	$LngSzH='Размер'
	$LngAdF='Добавить в Избранное	Ctrl+Up'
	$LngClF='Очистить Избранное	Ctrl+Del'
	$LngTpE="Перейти в regedit" & @CRLF & "в указанный раздел реестра." & @CRLF & "Enter"
	$LngSWR='Поиск в RegScanner	Alt+\'
	$LngTop='Поверх всех окон'
	$LngHsIB1='История'
	$LngHsIB2='Количество записей в истории:'
	$LngMs1='Сообщение'
	$LngMs2='Очистить Избранное в Regedit?'
	$LngMs3='Добавить разделы из JumpRegFav.ini' & @CRLF & 'в Избранное Regedit?'
	$LngMs4='Экспорт выполнен в файл JumpRegSet.reg'&@CRLF&'в папку программы.'
	$LngMs5='Ошибка'
	$LngMs6='Файл JumpRegSet.reg не найден.'&@CRLF&'Его можно создать командой Экспорт.'
	$LngMs7='Ошибка имени корневого раздела'
	$LngMs8='Раздела не существует.'&@CRLF&'Ближайший доступный раздел:'
	$LngMs9='Перейти в него?'
	$LngSLng='Язык интерфейса'
	$LngNRE='Regedit в новом окне	Ctrl+Enter'
EndIf

Switch @OSArch
    Case 'X64'
        $HKCU='HKCU64'
        $HKCR='HKCR64'
    Case Else;'X86'
        $HKCU='HKCU'
        $HKCR='HKCR'
EndSwitch

$LangPath=RegRead($HKCU&'\Software\JumpRegAzjio', 'Lang')
If Not @error Then
	If FileExists(@ScriptDir&'\Lang\'&$LangPath) Then
		$aLng = IniReadSection(@ScriptDir&'\Lang\'&$LangPath, 'lng')
		If Not @error Then
			For $i = 1 To $aLng[0][0]
				If StringInStr($aLng[$i][1], '\r\n') Then $aLng[$i][1]=StringReplace($aLng[$i][1],'\r\n',@CRLF)
				If IsDeclared('Lng'&$aLng[$i][0]) Then Assign('Lng'&$aLng[$i][0],$aLng[$i][1])
			Next
		EndIf
	Else
		RegDelete($HKCU&'\Software\JumpRegAzjio', 'Lang')
	EndIf
EndIf


Global $aRecords, $kol_item, $list='', $aPos, $TrTop=0, $TrNRE=0
Global $Ini = @ScriptDir & '\JumpRegFav.ini'
$FileTmp=''

$kol_item=RegRead($HKCU&'\Software\JumpRegAzjio', 'HistorySize')
If @error Or StringIsDigit($kol_item)=0 Or $kol_item = '' Or $kol_item>50 Then $kol_item=26 ; количество пунктов в комбобоксе
$Xsz=90
$Xsz2=84
$Jx=5
$Js=23
Switch @OSVersion
    Case 'WIN_VISTA', 'WIN_7'
        $Xsz=91
		$Xsz2=77
		$Jx=4
		$Js=24
EndSwitch
GUIRegisterMsg(0x0024, "WM_GETMINMAXINFO")

If Not FileExists($Ini) And DriveStatus(StringLeft(@ScriptDir, 1))<>'NOTREADY' Then
$file = FileOpen($Ini,2)
FileWrite($file, '[Favorites]' & @CRLF & _
'; '&$LngFIT & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders|'&$LngFIT1 & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders|'&$LngFIT1&' 2' & @CRLF & _
'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment|'&$LngFIT2 & @CRLF & _
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run|Run (all)' & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run' & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt' & @CRLF & _
'HKEY_CURRENT_USER\Environment|'&$LngFIT3 & @CRLF & _
'HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices' & @CRLF & _
'HKEY_CLASSES_ROOT\Folder' & @CRLF & _
'HKEY_CLASSES_ROOT\Directory' & @CRLF & _
'HKEY_CLASSES_ROOT\Drive' & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' & @CRLF & _
'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts')
FileClose($file)
EndIf

If Not _FileReadToArray($Ini, $aRecords) Then
	Dim $aRecords[4]=['3', '', '', 'HKEY_CURRENT_USER\Software']
Else
	$file = FileOpen($Ini, 0)
	$FileTmp = FileRead($file)
	FileClose($file)
EndIf

$Pos=RegRead($HKCU&'\Software\JumpRegAzjio', 'Pos')
If @error Or Not StringInStr($Pos, '|') Then $Pos='-1|-1'
$aPos=StringSplit($Pos, '|')
If $aPos[1] > @DesktopWidth-548 Or $aPos[2]>@DesktopHeight-$Xsz2 Then
	$aPos[1]=-1
	$aPos[2]=-1
EndIf

$GUI=GUICreate($LngTitle, 548, $Xsz2, $aPos[1], $aPos[2], 0x00040000+0x00020000+0x00010000)
If Not @compiled Then GUISetIcon('JumpReg.ico')

$FavM=GUICtrlCreateMenu($LngFav)
$runfav=GUICtrlCreateMenuitem($LngEdF, $FavM)
GUICtrlCreateMenuitem('', $FavM)

For $i = 3 To $aRecords[0]
	If StringInStr($aRecords[$i], '|') Then
		$list&=StringRegExpReplace($aRecords[$i], '(.*?\|).*', '\1')
	Else
		$list&=$aRecords[$i]&'|'
	EndIf
Next

$list=StringTrimRight($list, 1)
$tmp=StringSplit($list, '|')
Dim $aList2[$tmp[0]+1][3]
$aList2[0][0]=$tmp[0]

For $i = 1 To $aList2[0][0]
	$aList2[$i][1]=$tmp[$i]
	$aList2[$i][0]=GUICtrlCreateMenuitem($aList2[$i][1], $FavM)
Next
$tmp=''
$list=RegRead($HKCU&'\Software\JumpRegAzjio', 'History')

$HisM=GUICtrlCreateMenu($LngHis)
$Export=GUICtrlCreateMenuitem($LngExp, $HisM)
$Import=GUICtrlCreateMenuitem($LngImp, $HisM)
$HisSz=GUICtrlCreateMenuitem($LngSzH, $HisM)

$RegM=GUICtrlCreateMenu('&Regedit')
$favorites=GUICtrlCreateMenuitem($LngAdF, $RegM)
$Clean=GUICtrlCreateMenuitem($LngClF, $RegM)
GUICtrlCreateMenuitem('', $RegM)
$SearchWRS=GUICtrlCreateMenuitem($LngSWR, $RegM)
$NewREt=GUICtrlCreateMenuitem($LngNRE, $RegM)

$ActM=GUICtrlCreateMenu('?')
$About=GUICtrlCreateMenuitem($LngAbout, $ActM)
$Topmost =GUICtrlCreateMenuitem($LngTop, $ActM)
$SelLng =GUICtrlCreateMenuitem($LngSLng, $ActM)

$Jump = GUICtrlCreateButton("E", 517, $Jx, $Js, $Js, 0x0040)
GUICtrlSetTip(-1, $LngTpE)
GUICtrlSetResizing(-1, 512 + 256 +32+ 4)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)

$comboreg = GUICtrlCreateCombo("", 6, 5, 509)
GUICtrlSetResizing(-1, 2 + 4 +32)
If $list<>'' Then GUICtrlSetData(-1, '|'&$list, '')
_HisSz()

$Editor=_EXE_Path('txt')
If @error Then $Editor=@SystemDir&'\notepad.exe'

Dim $AccelKeys[6][2] = [ _
["{Enter}", $Jump], _
["^{Enter}", $NewREt], _
["^{UP}", $favorites], _
["^{DEL}", $Clean], _
["!{\}", $SearchWRS], _
["^{DOWN}", $Export]]
GUISetAccelerators($AccelKeys)

GUICtrlSetState($comboreg, 256)
GUISetState()
GUISetState(@SW_RESTORE)
Sleep(200)
WinSetOnTop($GUI, '', 1)
WinSetOnTop($GUI, '', 0)

$TrTop=RegRead('HKCU\Software\JumpRegAzjio', 'Topmost')
If Not @error And $TrTop=1 Then
	WinSetOnTop($GUI, '', 1)
	GUICtrlSetState($Topmost, 1)
EndIf

While 1
	$msg = GUIGetMsg()
	For $i = 1 To $aList2[0][0]
		If $msg = $aList2[$i][0] Then
			_Jump($aList2[$i][1])
		EndIf
	Next
	
	Select
		Case $msg = $SelLng
			$OpenFile = FileOpenDialog('Open', @ScriptDir&'\Lang' , "Language (*.ini)", 3, "", $Gui)
			If @error Then ContinueLoop
			RegWrite($HKCU&'\Software\JumpRegAzjio','Lang','REG_SZ', StringRegExpReplace($OpenFile,'(^.*)\\(.*)$','\2'))
			_restart()
			
		Case $msg = $SearchWRS
			Run('RegScanner\RegScanner.exe')
	
		Case $msg = $HisSz
			$tmp = InputBox($LngHsIB1, $LngHsIB2, $kol_item, '', 200, 135)
			If Not StringIsDigit($tmp) Then ContinueLoop
			$kol_item=Execute($tmp)
			If $kol_item>50 Then $kol_item=50
			RegWrite($HKCU&'\Software\JumpRegAzjio','HistorySize','REG_SZ', $kol_item)
			_HisSz()
	
		Case $msg = $Clean
			If MsgBox(4, $LngMs1, $LngMs2)=7 Then ContinueLoop
			RegDelete($HKCU&'\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites')
			GUICtrlSetState($comboreg, 256)

		Case $msg = $favorites
			If MsgBox(4, $LngMs1, $LngMs3)=7 Then ContinueLoop
			For $i = 3 To $aRecords[0]
				If StringInStr($aRecords[$i], '|') Then
					$aReg = StringSplit($aRecords[$i], "|")
				Else
					Dim $aReg[3]
					$aReg[2] = StringRegExpReplace('t\\'&$aRecords[$i], "(^.*)\\(.*)$", '\2')
					$aReg[1] = $aRecords[$i]
				EndIf
				If StringLeft($aReg[1], 2)<>'HK' Then ContinueLoop
				RegWrite($HKCU&'\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites', $aReg[2], "REG_SZ", $aReg[1])
			Next
			If ProcessExists("regedit.exe") Then
				ContinueLoop
			Else
				Run('regedit.exe')
			EndIf
			GUICtrlSetState($comboreg, 256)
			
		Case $msg = $NewREt
			$TrNRE=1
			ContinueCase 

		Case $msg = $Jump Or $msg = $comboreg
			$comboreg0 = GUICtrlRead($comboreg)
			$runyes=_Jump($comboreg0)
			If $runyes Then ContinueLoop

			GUICtrlSendMsg($comboreg, 0x14B, 0, 0)
			If StringInStr('|'&$list&'|', '|'&$comboreg0&'|') Then 
				$list=StringReplace('|'&$list&'|', '|'&$comboreg0&'|', '|')
				$list=StringRegExpReplace($list, '^\|?(.*?)\|?$', '\1')
			EndIf
			If $list='' Then
				$list=$comboreg0
			Else
				$list=$comboreg0&'|'&$list
			EndIf
			StringReplace($list, '|', '|')
			If @extended>$kol_item-1 Then $list=StringRegExpReplace($list, '(^.*)\|.*$', '\1')
			GUICtrlSetData($comboreg, $list, $comboreg0)
			GUICtrlSetState($comboreg, 256)
			RegWrite($HKCU&'\Software\JumpRegAzjio','History','REG_SZ',$list)

		Case $msg = $Export
			_Pos()
			If FileExists(@ScriptDir & '\JumpRegSet.reg') Then FileDelete(@ScriptDir & '\JumpRegSet.reg')
			RunWait(@SystemDir&'\reg.exe export HKCU\Software\JumpRegAzjio "'&@ScriptDir & '\JumpRegSet.reg"', '', @SW_HIDE )
			MsgBox(0, $LngMs1, $LngMs4)

		Case $msg = $Import
			If FileExists(@ScriptDir & '\JumpRegSet.reg') Then
				ShellExecuteWait(@ScriptDir&'\JumpRegSet.reg')
				GUICtrlSendMsg($comboreg, 0x14B, 0, 0)
				$list=RegRead($HKCU&'\Software\JumpRegAzjio', 'History')
				If $list<>'' Then GUICtrlSetData(-1, $list, StringRegExpReplace($list, '(.*?)\|.*', '\1'))
				_HisSz()
			Else
				MsgBox(0, $LngMs5, $LngMs6)
			EndIf
			
       Case $msg = $Topmost
			$TrTop=RegRead($HKCU&'\Software\JumpRegAzjio', 'Topmost')
			If @error Then $TrTop=0
			If $TrTop = 0 Then
				WinSetOnTop($GUI, '', 1)
				RegWrite($HKCU&'\Software\JumpRegAzjio','Topmost','REG_SZ', '1')
				GUICtrlSetState($Topmost, 1)
			Else
				WinSetOnTop($GUI, '', 0)
				RegWrite($HKCU&'\Software\JumpRegAzjio','Topmost','REG_SZ', '0')
				GUICtrlSetState($Topmost, 4)
			EndIf
			
       Case $msg = $About
           _About()
		
		Case $msg = $runfav
			Run($Editor&' '&@ScriptDir & '\JumpRegFav.ini')
			; Run(@SystemDir&'\notepad.exe '&@ScriptDir & '\JumpRegFav.ini')
		Case $msg = -3
			_Pos()
			Exit
	EndSelect
WEnd

Func _Pos()
	$GuiPos = WinGetPos($Gui)
	If $GuiPos[0] < 0 Or $GuiPos[1]< 0 Then
		$GuiPos[0]=$aPos[1]
		$GuiPos[1]=$aPos[2]
	EndIf
	RegWrite($HKCU&'\Software\JumpRegAzjio','Pos','REG_SZ',$GuiPos[0]&'|'&$GuiPos[1])
EndFunc

Func _Jump(ByRef $comboreg0)
	If StringRight($comboreg0, 1)='\' Then $comboreg0=StringTrimRight($comboreg0, 1)

	If StringInStr(';HKLM;HKU;HKCU;HKCR;HKCC;', ';' & StringRegExpReplace($comboreg0, '(.*?)\\.*', '\1') & ';') Then
		$aSmlNm = StringRegExp($comboreg0, '(^.*?)(\\.*)$', 3)
		If @error Then Dim $aSmlNm[2]=[$comboreg0, '']

		Switch $aSmlNm[0]
			Case 'HKLM'
				$aSmlNm[0] = 'HKEY_LOCAL_MACHINE'
			Case 'HKU'
				$aSmlNm[0] = 'HKEY_USERS'
			Case 'HKCU'
				$aSmlNm[0] = 'HKEY_CURRENT_USER'
			Case 'HKCR'
				$aSmlNm[0] = 'HKEY_CLASSES_ROOT'
			Case 'HKCC'
				$aSmlNm[0] = 'HKEY_CURRENT_CONFIG'
		EndSwitch
		$comboreg0 = $aSmlNm[0] & $aSmlNm[1]
	EndIf
	
	;проверяем существование раздела реестра
	If Not _Reg_Exists($comboreg0) Then
		While Not _Reg_Exists($comboreg0)
			$comboreg0=StringRegExpReplace($comboreg0, '(.*)\\.*', '\1')
			If @Extended=0 Then
				MsgBox(0, $LngMs5, $LngMs7)
				Return 1
			EndIf
		WEnd
		If MsgBox(4, $LngMs5, $LngMs8&@CRLF&$comboreg0 &@CRLF&@CRLF&$LngMs9)=7 Then Return 1
	EndIf
	
	If $TrNRE=1 Then
		$TrNRE=0
		Run('regedit -m')
		WinWaitActive('[CLASS:RegEdit_RegEdit]')
	EndIf
	Run('RegScanner\RegScanner.exe /regedit "'&$comboreg0&'"', "", @SW_HIDE)
EndFunc

Func _HisSz()
	StringReplace($list, '|', '|')
	If @extended>$kol_item-1 Then
		$tmp=StringInStr($list, '|', 0, $kol_item)
		$list=StringMid($list, 1, $tmp-1)
		GUICtrlSendMsg($comboreg, 0x14B, 0, 0)
		GUICtrlSetData($comboreg, $list, StringRegExpReplace($list, '(.*?)\|.*', '\1'))
		RegWrite($HKCU&'\Software\JumpRegAzjio','History','REG_SZ',$list)
	EndIf
	GUICtrlSetState($comboreg, 256)
EndFunc

;  MerkurAlex (mod AZJIO)
; http://www.autoitscript.com/forum/topic/70203-regexists/page__view__findpost__p__514688
Func _Reg_Exists($key)
    Local $Err=RunWait('reg query "'&$key&'"','',@SW_HIDE)
    If $Err=0 Then
        Return 1
    Else
        Return 0
    Endif
EndFunc

Func WM_GETMINMAXINFO($hWnd, $iMsg, $wParam, $lParam)
	#forceref $iMsg, $wParam
	If $hWnd = $GUI Then
		Local $tMINMAXINFO = DllStructCreate("int;int;" & _
				"int MaxSizeX; int MaxSizeY;" & _
				"int MaxPositionX;int MaxPositionY;" & _
				"int MinTrackSizeX; int MinTrackSizeY;" & _
				"int MaxTrackSizeX; int MaxTrackSizeY", _
				$lParam)
		DllStructSetData($tMINMAXINFO, "MaxTrackSizeX", 1280)
		DllStructSetData($tMINMAXINFO, "MaxTrackSizeY", $Xsz)
		DllStructSetData($tMINMAXINFO, "MinTrackSizeX", 300)
		DllStructSetData($tMINMAXINFO, "MinTrackSizeY", $Xsz)
		DllStructSetData($tMINMAXINFO, "MaxSizeX", 800)
		DllStructSetData($tMINMAXINFO, "MaxSizeY", $Xsz)
		DllStructSetData($tMINMAXINFO, "MaxPositionX", @DesktopWidth/2-400)
		DllStructSetData($tMINMAXINFO, "MaxPositionY", 0)
	EndIf
EndFunc

Func _EXE_Path($type)
	Local $typefile = RegRead($HKCR &'\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.'&$type, 'Progid')
	If @error Or  $typefile='' Then
		$typefile = RegRead('HKCR\.'&$type, '')
		If @error Then Return SetError(1)
	EndIf
	$typefile = RegRead($HKCR & '\' & $typefile & '\shell\open\command', '')
	If @error Then Return SetError(1)
	Local $aPath=StringRegExp($typefile, '(?i)(^.*)(\.exe.*)$', 3)
	If @error Then Return SetError(1)
	$aPath = StringReplace($aPath[0], '"', '') & '.exe'
	Opt('ExpandEnvStrings', 1)
	If FileExists($aPath) Then
		$aPath=$aPath
		Opt('ExpandEnvStrings', 0)
		Return $aPath
	EndIf
	Opt('ExpandEnvStrings', 0)
	If FileExists(@SystemDir&'\'&$aPath) Then Return @SystemDir&'\'&$aPath
EndFunc

;#include <File.au3>
Func _FileReadToArray($sFilePath, ByRef $aArray)
	Local $hFile = FileOpen($sFilePath, 0)
	If $hFile = -1 Then Return SetError(1, 0, 0)
	Local $aFile = FileRead($hFile, FileGetSize($sFilePath))
	If StringRight($aFile, 1) = @LF Then $aFile = StringTrimRight($aFile, 1)
	If StringRight($aFile, 1) = @CR Then $aFile = StringTrimRight($aFile, 1)
	FileClose($hFile)
	If StringInStr($aFile, @LF) Then
		$aArray = StringSplit(StringStripCR($aFile), @LF)
	ElseIf StringInStr($aFile, @CR) Then
		$aArray = StringSplit($aFile, @CR)
	Else
		If StringLen($aFile) Then
			Dim $aArray[2] = [1, $aFile]
		Else
			Return SetError(2, 0, 0)
		EndIf
	EndIf
	Return 1
EndFunc

Func _restart()
	Local $sAutoIt_File = @TempDir & "\~Au3_ScriptRestart_TempFile.au3"
	Local $sRunLine, $sScript_Content, $hFile

	$sRunLine = @ScriptFullPath
	If Not @Compiled Then $sRunLine = @AutoItExe & ' /AutoIt3ExecuteScript ""' & $sRunLine & '""'
	If $CmdLine[0] > 0 Then $sRunLine &= ' ' & $CmdLineRaw

	$sScript_Content &= '#NoTrayIcon' & @CRLF & _
			'While ProcessExists(' & @AutoItPID & ')' & @CRLF & _
			'   Sleep(10)' & @CRLF & _
			'WEnd' & @CRLF & _
			'Run("' & $sRunLine & '")' & @CRLF & _
			'FileDelete(@ScriptFullPath)' & @CRLF

	$hFile = FileOpen($sAutoIt_File, 2)
	FileWrite($hFile, $sScript_Content)
	FileClose($hFile)

	Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $sAutoIt_File & '"', @ScriptDir, @SW_HIDE)
	Sleep(1000)
	Exit
EndFunc


Func _About()
Local $GuiPos, $y, $Gui1, $font, $url1, $url2
$GuiPos = WinGetPos($Gui)
GUISetState(@SW_DISABLE, $Gui)
$y=$GuiPos[1]+$GuiPos[3]/2-90
If $y < 0 Then $y= 0
$font="Arial"
    $Gui1 = GUICreate($LngAbout, 270, 180,$GuiPos[0]+$GuiPos[2]/2-135, $y, -1, 0x00000080,$Gui)
	GUISetBkColor (0xffca48)
	GUICtrlCreateLabel('JumpReg', 0, 0, 270, 63, 0x01+0x0200)
	GUICtrlSetFont (-1,15, 600, -1, $font)
	GUICtrlSetColor(-1,0xa13d00)
	GUICtrlSetBkColor (-1, 0xfbe13f)
	GUICtrlCreateLabel ("-", 2,64,268,1,0x10)
	
	GUISetFont (9, 600, -1, $font)
	GUICtrlCreateLabel($LngVer&' 0.7  23.01.2011', 55, 100, 210, 17)
	GUICtrlCreateLabel($LngSite&':', 55, 115, 40, 17)
	$url1=GUICtrlCreateLabel('azjio.ucoz.ru', 55, 115, 150, 15, 0x1)
	GUICtrlSetCursor(-1, 0)
	GUICtrlSetColor(-1, 0x0000ff)
	$url2=GUICtrlCreateLabel('oszone.net', 55, 130, 150, 15, 0x1)
	GUICtrlSetCursor(-1, 0)
	GUICtrlSetColor(-1, 0x0000ff)
	GUICtrlCreateLabel('Copyright AZJIO © 2009-2011', 55, 145, 210, 17)
	GUISetState(@SW_SHOW, $Gui1)
$msg = $Gui1
	While 1
	  $msg = GUIGetMsg()
	  Select
		Case $msg = $url1
			ShellExecute ('http://azjio.ucoz.ru')
		Case $msg = $url2
			ShellExecute ('http://forum.oszone.net')
		Case $msg = -3
			$msg = $Gui
			GUISetState(@SW_ENABLE, $Gui)
			GUIDelete($Gui1)
			ExitLoop
		EndSelect
    WEnd
EndFunc

Последний раз редактировалось AZJIO, 23-01-2011 в 05:47. Причина: Добавлено "regedit -m"


Отправлено: 15:38, 25-12-2010 | #38