Суть:
попробовал внедрить при компиляции иконки в будущий исполняемый файл. Все, что удалось добиться, - внедрить иконку windows.ico и музыку. Остальные иконки встроились, но не работают. Библиотеку вроде активировал, но не знаю, какие функции из нее использовать и как ими заставить работать все иконки.
Код:
Подскажите как их заставить работать, плиз
PS Полный архив с иконками, AutoIt3Wrapper, библиотекой, ResHacker и т.д. - в аттаче - см. ссылку:
http://ifolder.ru/19539487
Добавлено:
изменил шапку кода на:
Результат - опять ошибка...
попробовал внедрить при компиляции иконки в будущий исполняемый файл. Все, что удалось добиться, - внедрить иконку windows.ico и музыку. Остальные иконки встроились, но не работают. Библиотеку вроде активировал, но не знаю, какие функции из нее использовать и как ими заставить работать все иконки.
Код:
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Windows.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Resources Test Script
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_Icon_Add=refresh.ico
#AutoIt3Wrapper_Res_Icon_Add=ok.ico
#AutoIt3Wrapper_Res_Icon_Add=error.ico
#AutoIt3Wrapper_Run_AU3Check=n
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MySound.wav, SOUND, 200, 0
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <Constants.au3>
#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <Icons.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#Include <Resources.au3>
Global $Pic1_1, $Pic3_1, $Pic1_2, $Pic2_2, $Pic3_2, $PicError, $sLogI1_1, $sLogI1_2, $sLogI2_2, $sLogI3_1, $sLogI3_2, $hIcon, $Width = 14, $Height = 14
Global $Save_Event, $Save_MU, $Save_BITS, $sLog1_2, $sLog2_2, $sLog3_2, $sLog1_1, $sLog3_1
Global $aIcons[2] = [_ResourceSetImageToCtrl('error.ico'), _ResourceSetImageToCtrl('ok.ico')]
For $i = 0 To 1
$hIcon = _Icons_Icon_Extract($aIcons[$i], 0, $Width, $Height)
$aIcons[$i] = _Icons_Bitmap_CreateFromIcon($hIcon)
_WinAPI_DestroyIcon($hIcon)
Next
Global $hImageListRefresh = _GUIImageList_Create(16, 16, 5)
_ResourceSetImageToCtrl(-1, "refresh.ico")
Opt("GUIOnEventMode", 1)
$hMain_GUI = GUICreate("Диагностика и Настройка", 619, 442, 189, 122)
GUISetFont(8.5, 400, 0, 'MS Shell Dlg')
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$Tab1 = GUICtrlCreateTab(8, 16, 601, 377)
;;;; Hotfixes ;;;;
$HotfixErrors = GUICtrlCreateTabItem("HotfixErrors")
$Button_HotFixesUpdate = _GUICtrlCreateButtonEx4("Обновить", 510, 400, 85, 33, 'refresh.ico', -5)
GUICtrlSetTip(-1, "Обновить текущее состояние вкладки")
GUICtrlSetOnEvent($Button_HotFixesUpdate, "_HotFixes_Update")
; Работа со службами
GUICtrlCreateGroup("Службы, отвечающие за Автообновление", 16, 330, 370, 55)
GUICtrlCreateLabel("Автоматич. обновление", 24, 348, 75, 30, $BS_MULTILINE)
GUICtrlSetTip(-1, "тс - текущее состояние службы, тз - тип запуска службы")
GUICtrlCreateLabel("тс", 95, 348, 15, 15)
GUICtrlCreateLabel("тз", 95, 361, 15, 15)
GUICtrlCreateLabel("Фоновая Интел. Служба", 143, 348, 75, 30, $BS_MULTILINE)
GUICtrlCreateLabel("тз", 229, 361, 15, 15)
GUICtrlCreateLabel("Журнал Событий", 282, 348, 75, 30, $BS_MULTILINE)
GUICtrlCreateLabel("тс", 335, 348, 15, 15)
GUICtrlCreateLabel("тз", 335, 361, 15, 15)
$Pic1_1 = GUICtrlCreatePic('', 115, 348, $Width, $Height)
$Pic3_1 = GUICtrlCreatePic('', 355, 348, $Width, $Height)
$Pic1_2 = GUICtrlCreatePic('', 115, 361, $Width, $Height)
$Pic2_2 = GUICtrlCreatePic('', 249, 361, $Width, $Height)
$Pic3_2 = GUICtrlCreatePic('', 355, 361, $Width, $Height)
; запуск и сбор информации о текущем состоянии служб
_ServicesStat()
$Button_StartOptim = GUICtrlCreateButton("Старт", 478, 342, 55, 35, $BS_MULTILINE)
GUICtrlSetOnEvent($Button_StartOptim, "_StartOptim")
$Button_Save = GUICtrlCreateButton("Сохранить", 400, 342, 65, 35, $BS_MULTILINE)
GUICtrlSetOnEvent($Button_Save, "_SaveOld")
GUICtrlSetState(-1, $GUI_FOCUS)
$Button_Restore = GUICtrlCreateButton("Откат", 545, 342, 55, 35, $BS_MULTILINE)
GUICtrlSetOnEvent($Button_Restore, "_RestoreOld")
GUICtrlCreateTabItem("")
GUISetState()
_ResPlaySound('#200')
While 1
Sleep(100)
WEnd
Func CLOSEClicked()
Exit
EndFunc
Func _GUICtrlCreateButtonEx4($sText, $iLeft, $iTop, $iWidth = -1, $iHeight = -1, $sIconFile = "", $iIconIndex = 0)
Local $nButton = GUICtrlCreateButton($sText, $iLeft, $iTop, $iWidth, $iHeight)
_GUIImageList_AddIcon($hImageListRefresh, $sIconFile, $iIconIndex)
_GUICtrlButton_SetImageList($nButton, $hImageListRefresh)
Return $nButton
EndFunc
;; Hotfixes Section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; функция сохранения текущих настроек служб
Func _SaveOld()
GUICtrlSetState($Button_Save, $GUI_DISABLE)
Dim $aSvcState[5]=['boot','system','auto','demand','disabled']
$Save_MU = $aSvcState[$sLog1_2]
$Save_BITS = $aSvcState[$sLog2_2]
$Save_Event= $aSvcState[$sLog3_2]
sleep(1000)
GUICtrlSetState($Button_Save, $GUI_ENABLE)
EndFunc
; функция оптимизации настроек служб для запуска и работы MU
Func _StartOptim()
GUICtrlSetState($Button_StartOptim, $GUI_DISABLE)
RunWait('sc config BITS start= demand', '', @SW_HIDE)
RunWait('sc config wuauserv start= auto', '', @SW_HIDE)
RunWait('sc start wuauserv', '', @SW_HIDE)
RunWait('sc config EventLog start= auto', '', @SW_HIDE)
RunWait('sc start EventLog', '', @SW_HIDE)
sleep(1000)
_ServicesStat()
sleep(1000)
GUICtrlSetState($Button_StartOptim, $GUI_ENABLE)
EndFunc
; функция откат состояния служб к старым конфигурациям
Func _RestoreOld()
GUICtrlSetState($Button_Restore, $GUI_DISABLE)
RunWait('sc config eventlog start= ' & $Save_Event &'', '', @SW_HIDE)
RunWait('sc config wuauserv start= ' & $Save_MU &'', '', @SW_HIDE)
RunWait('sc config BITS start= ' & $Save_BITS &'', '', @SW_HIDE)
sleep(1000)
_ServicesStat()
sleep(1000)
GUICtrlSetState($Button_Restore, $GUI_ENABLE)
EndFunc
; функция кнопки "Обновить" обновление информации о текущем состоянии служб
Func _HotFixes_Update()
GUICtrlSetState($Button_HotFixesUpdate, $GUI_DISABLE)
_ServicesStat()
sleep(1000)
GUICtrlSetState($Button_HotFixesUpdate, $GUI_ENABLE)
EndFunc
; функция сбора информации о текущем состоянии служб (используется SC и обработка полученного вывода через StringRegExpReplace)и вывод через иконки данной информации на форму)
Func _ServicesStat()
$sLog1_1 = ''
$sLog1_2 = ''
$sLog2_2 = ''
$sLog3_1 = ''
$sLog3_2 = ''
; запрос информации о состоянии служб (текущее состояние: работает или нет)
$hIPconfig1_1 = Run('sc query wuauserv', '', @SW_HIDE, $STDOUT_CHILD)
$hIPconfig3_1 = Run('sc query eventlog', '', @SW_HIDE, $STDOUT_CHILD)
; запрос информации о типе запуска служб (авто, вручную, отключено)
$hIPconfig1_2 = Run('sc qc wuauserv', '', @SW_HIDE, $STDOUT_CHILD)
$hIPconfig2_2 = Run('sc qc BITS', '', @SW_HIDE, $STDOUT_CHILD)
$hIPconfig3_2 = Run('sc qc eventlog', '', @SW_HIDE, $STDOUT_CHILD)
While 1
$sLogI1_1 &= StdoutRead($hIPconfig1_1)
$sLogI3_1 &= StdoutRead($hIPconfig3_1)
$sLogI1_2 &= StdoutRead($hIPconfig1_2)
$sLogI2_2 &= StdoutRead($hIPconfig2_2)
$sLogI3_2 &= StdoutRead($hIPconfig3_2)
If @error Then ExitLoop
Sleep(10)
WEnd
; фильтрация информации о службах
$sLog1_1 = StringRegExpReplace($sLogI1_1, "(?si).*STATE\D*(\d+).*", '\1')
$sLog3_1 = StringRegExpReplace($sLogI3_1, "(?si).*STATE\D*(\d+).*", '\1')
$sLog1_2 = StringRegExpReplace($sLogI1_2, "(?si).*START_TYPE\D*(\d+).*", '\1')
$sLog2_2 = StringRegExpReplace($sLogI2_2, "(?si).*START_TYPE\D*(\d+).*", '\1')
$sLog3_2 = StringRegExpReplace($sLogI3_2, "(?si).*START_TYPE\D*(\d+).*", '\1')
; программиорование отображение информации о службах через иконки
_SetHImage($Pic1_1, $aIcons[$sLog1_1 = 4])
_SetHImage($Pic3_1, $aIcons[$sLog3_1=4])
_SetHImage($Pic1_2, $aIcons[$sLog1_2=2])
_SetHImage($Pic2_2, $aIcons[(($sLog2_2 = 3) Or ($sLog2_2 = 2))])
_SetHImage($Pic3_2, $aIcons[$sLog3_2=2])
_SetHImage($PicError, $aIcons[$sLog3_1=4])
EndFunc
Подскажите как их заставить работать, плиз
PS Полный архив с иконками, AutoIt3Wrapper, библиотекой, ResHacker и т.д. - в аттаче - см. ссылку:
http://ifolder.ru/19539487
Добавлено:
Сообщение автоматически объединено:
изменил шапку кода на:
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Windows.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Description=Resources Test Script
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_Icon_Add==ResHacker.exe -add %out%, %out%, ok.ico, Icon, 0, 0
#AutoIt3Wrapper_Res_Icon_Add=ResHacker.exe -add %out%, %out%, error.ico, Icon, 0, 0
#AutoIt3Wrapper_Run_AU3Check=n
#AutoIt3Wrapper_Run_After=ResHacker.exe -add %out%, %out%, MySound.wav, SOUND, 200, 0
#AutoIt3Wrapper_Res_Icon_Add=ResHacker.exe -add %out%, %out%, refresh.ico, Icon, 0, 0
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <Constants.au3>
#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <Icons.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
#Include <Resources.au3>
Результат - опять ошибка...