Antivirus - Desactivar ciertos items

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Antivirus - Desactivar ciertos items

Mensaje por yasmany »

Hola, tengo un pequeño inconveniente en tratar de desactivar 2 items.
Mi objetivo es no permitir chequear el primer y ultimo item del ListView($lista)
He intentado hacerlo desactivandolos pero no se aplica ningun estado o estilo, he utilizado GuiCtrlSetEstate y GuiCtrlSetStyle pero no me ha funcionado hasta ahora.
Aqui el codigo de la interfaz
Espero sepan disculpar mi falta de conocimiento en Autoit, gracias desde ya.

Código: Seleccionar todo

#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icono.ico
#AutoIt3Wrapper_Outfile=Avy.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Software gratuito [email protected]
#AutoIt3Wrapper_Res_Description=Avy
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Yasmany Curimilma
#AutoIt3Wrapper_Res_Language=1034
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <UpdownConstants.au3>
#include <GuiTab.au3>
#include <GuiListView.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <Misc.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <ListviewConstants.au3>


_Singleton("AVY1991") ; NO REPETIR INSTANCIA DE EJECUCION junto con  #include <Misc.au3>
Global $btnDesinfectar, $unidad, $ed
Dim $aArray[21], $Array[4]



; GUI
$interfaz = GUICreate("Avy", 620, 405, -1, -1, -1, $ws_ex_acceptfiles)
;~ $interfaz = GUICreate("Avy", 620, 405, -1, -1,$WS_OVERLAPPEDWINDOW, BitOR($WS_EX_CONTROLPARENT,-1) , $ws_ex_acceptfiles)
GUICtrlCreatePic(@AppDataDir & "\banner.jpg", 0, 0, 620, 50)

$iconointerfaz = GUISetIcon("icono.ico", 0)
$ch_desplazar = GUICtrlCreateCheckbox("Desplazar lista", 15, 355, 100, 25)
GUICtrlSetState(-1, $GUI_CHECKED)
$ch_aplicaciones = GUICtrlCreateCheckbox("Eliminar Aplicaciones", 120, 355, 120, 25)
GUICtrlSetState($ch_aplicaciones, $GUI_HIDE)

;MENUS
$menuArchivo = GUICtrlCreateMenu("&Archivo")
$menuAbrirUnidad = GUICtrlCreateMenuItem("Abrir unidad", $menuArchivo)

;GUICtrlSetState(-1, $GUI_DEFBUTTON);PARA PONERLO EN NEGRITA
$menuCerrar = GUICtrlCreateMenuItem("Cerrar programa", $menuArchivo)

$menuInformacion = GUICtrlCreateMenu("&Informacion")
$menuOpcionesSistema = GUICtrlCreateMenu("&Windows", $menuInformacion)
$menuHerramientasTipoSistema = GUICtrlCreateMenuItem("Version", $menuOpcionesSistema)
$menuHerramientasDetalles = GUICtrlCreateMenuItem("Detalles", $menuOpcionesSistema)
$menuInformacionAcercaAvy = GUICtrlCreateMenuItem("Acerca de Avy", $menuInformacion)

;BOTONES
$btnAnalizar = GUICtrlCreateButton("&Analizar", 369, 355, 60, 25)
GUICtrlSetTip($btnAnalizar, "Analizar unidad seleccionada")

$btnDesinfectar = GUICtrlCreateButton("&Desinfectar", 429, 355, 120, 25)
GUICtrlSetTip(-1, "Analize y desinfecte la unidad")

$btnSalir = GUICtrlCreateButton("&Salir", 550, 355, 60, 25)
GUICtrlSetTip(-1, "Cerrar programa")

;ETIQUETAS DE INFORMACION
$lblNombre = GUICtrlCreateLabel("", 278, 75, 80, 15)
$lblSerial = GUICtrlCreateLabel("", 278, 90, 75, 15)
$lblSize = GUICtrlCreateLabel("", 410, 75, 185, 15)
$lblTipo = GUICtrlCreateLabel("", 410, 90, 185, 15)

GUICtrlCreateLabel("Nombre:", 235, 75, 40, 15)
GUICtrlCreateLabel("Serial:", 235, 90, 40, 15)
GUICtrlCreateLabel("Tamaño:", 365, 75, 43, 15)
GUICtrlCreateLabel("Tipo:", 365, 90, 23, 15)

;UNIDADES
$cbUnidades = GUICtrlCreateCombo("BUSCAR UNIDAD...", 10, 60, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $CBS_UPPERCASE))
GUICtrlSetColor($cbUnidades, 0xff0000)


GUICtrlSetState($cbUnidades, $GUI_FOCUS)
$gruposucesos = GUICtrlCreateGroup("Informacion de unidad", 230, 55, 375, 60)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
;boton_prueba
$btn_actualizar = GUICtrlCreateButton("+", 205, 59, 17, 22)
GUICtrlSetTip($btn_actualizar, "Actualizar lista de unidades", "Avy", 1)

;///////////////////
; TAB ITEMS
;//////////////////////

;REGISTRO DE SUCESO ****************************************
$tab = GUICtrlCreateTab(10, 100, 600, 250, $WS_MAXIMIZEBOX, $WS_EX_APPWINDOW)
$itemRegistroDeSucesos = GUICtrlCreateTabItem("Registro de sucesos")
$gruposucesos = GUICtrlCreateGroup("Detalles", 15, 130, 590, 215)
GUICtrlSetState(-1, $GUI_SHOW); Mostrando la información detallada
$lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT));;
_GUICtrlListView_SetColumnWidth($lista, 0, 300)
_GUICtrlListView_SetColumnWidth($lista, 1, 150)
_GUICtrlListView_SetColumnWidth($lista, 2, 100)
GUICtrlSetState($lista, $GUI_SHOW)

;SEGURIDAD
GUICtrlCreateTabItem("Seguridad")
GUICtrlCreateGroup("Ociones de seguridad", 15, 130, 580, 215)
$ch_proteger = GUICtrlCreateCheckbox("Proteger unidad y antivirus", 20, 180, 250, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
$nota_ch_proteger = GUICtrlCreateLabel("Ningun virus modficará la carpeta creada...Ver Ayuda", 35, 200, 300, 20)
$ch_remover = GUICtrlCreateCheckbox("Remover proteccion portable del antivirus", 20, 180, 290, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
GUICtrlSetState($ch_remover, $GUI_HIDE)

$btn_eliminar = GUICtrlCreateButton("X", 240, 305, 40, 25)
$font = "Comic Sans MS"
GUICtrlSetFont(-1, 9, 600, 4, $font) ; muestra caracteres
GUICtrlSetTip(-1, "Eliminar")

$label2 = GUICtrlCreateLabel("Arrastre en el recuadro carpeta/archivo q desea eliminar", 35, 290, 270, 15)
$input1 = GUICtrlCreateInput("", 35, 305, 200, 25, -1, BitOR($ES_right, $es_multiline));Bitor se utiliza en controles antecediendo un -1,BitOR
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; Para permitir arrastrar y soltar pero aplicando al crear la  GUI al final de la linea -1,$ws_ex_acceptfiles

$btnaplicar = GUICtrlCreateButton("Aplicar", 490, 300, 100, 40)

;AYUDA
$ayuda = GUICtrlCreateTabItem("Ayuda")

GUICtrlCreateListViewItem("abcdefg|hijklm|nopqrst", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)
GUICtrlCreateListViewItem("dfgvdfgxcv|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("cxvcxbv|hijkddlm|nopqrst", $lista)
GUICtrlCreateListViewItem("213e3123|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkbbgblm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkdgvfglm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvsssxcv|hijdddklm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvfdt|vcbdfghf|cbfdsf", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)

;ESTADO DE LA GUI
GUISetState(@SW_SHOW)

;CASOS
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg

      Case $GUI_EVENT_CLOSE
         If $nMsg = $GUI_EVENT_CLOSE Then
            Exit
         EndIf
      Case $btnAnalizar
         $o = GUICtrlRead($lista); obtenfo el id del item
         $n = GUICtrlRead($o); leo el id del item
         If GUICtrlGetState($o = $GUI_CHECKED) Then
            MsgBox(64, "aaa", $n);
         EndIf

   EndSwitch

WEnd
Espero su pronta respuesta
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Antivirus - Desactivar ciertos items

Mensaje por Dany »

Hola. bueno lo primero que se me ocurrio. fue esto.


Código: Seleccionar todo

#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icono.ico
#AutoIt3Wrapper_Outfile=Avy.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Software gratuito [email protected]
#AutoIt3Wrapper_Res_Description=Avy
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Yasmany Curimilma
#AutoIt3Wrapper_Res_Language=1034
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <UpdownConstants.au3>
#include <GuiTab.au3>
#include <GuiListView.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <Misc.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <ListviewConstants.au3>


_Singleton("AVY1991") ; NO REPETIR INSTANCIA DE EJECUCION junto con  #include <Misc.au3>
Global $btnDesinfectar, $unidad, $ed
Dim $aArray[21], $Array[4]

Global $hListView = 0

; GUI
$interfaz = GUICreate("Avy", 620, 405, -1, -1, -1, $ws_ex_acceptfiles)
;~ $interfaz = GUICreate("Avy", 620, 405, -1, -1,$WS_OVERLAPPEDWINDOW, BitOR($WS_EX_CONTROLPARENT,-1) , $ws_ex_acceptfiles)
GUICtrlCreatePic(@AppDataDir & "\banner.jpg", 0, 0, 620, 50)

$iconointerfaz = GUISetIcon("icono.ico", 0)
$ch_desplazar = GUICtrlCreateCheckbox("Desplazar lista", 15, 355, 100, 25)
GUICtrlSetState(-1, $GUI_CHECKED)
$ch_aplicaciones = GUICtrlCreateCheckbox("Eliminar Aplicaciones", 120, 355, 120, 25)
GUICtrlSetState($ch_aplicaciones, $GUI_HIDE)

;MENUS
$menuArchivo = GUICtrlCreateMenu("&Archivo")
$menuAbrirUnidad = GUICtrlCreateMenuItem("Abrir unidad", $menuArchivo)

;GUICtrlSetState(-1, $GUI_DEFBUTTON);PARA PONERLO EN NEGRITA
$menuCerrar = GUICtrlCreateMenuItem("Cerrar programa", $menuArchivo)

$menuInformacion = GUICtrlCreateMenu("&Informacion")
$menuOpcionesSistema = GUICtrlCreateMenu("&Windows", $menuInformacion)
$menuHerramientasTipoSistema = GUICtrlCreateMenuItem("Version", $menuOpcionesSistema)
$menuHerramientasDetalles = GUICtrlCreateMenuItem("Detalles", $menuOpcionesSistema)
$menuInformacionAcercaAvy = GUICtrlCreateMenuItem("Acerca de Avy", $menuInformacion)

;BOTONES
$btnAnalizar = GUICtrlCreateButton("&Analizar", 369, 355, 60, 25)
GUICtrlSetTip($btnAnalizar, "Analizar unidad seleccionada")

$btnDesinfectar = GUICtrlCreateButton("&Desinfectar", 429, 355, 120, 25)
GUICtrlSetTip(-1, "Analize y desinfecte la unidad")

$btnSalir = GUICtrlCreateButton("&Salir", 550, 355, 60, 25)
GUICtrlSetTip(-1, "Cerrar programa")

;ETIQUETAS DE INFORMACION
$lblNombre = GUICtrlCreateLabel("", 278, 75, 80, 15)
$lblSerial = GUICtrlCreateLabel("", 278, 90, 75, 15)
$lblSize = GUICtrlCreateLabel("", 410, 75, 185, 15)
$lblTipo = GUICtrlCreateLabel("", 410, 90, 185, 15)

GUICtrlCreateLabel("Nombre:", 235, 75, 40, 15)
GUICtrlCreateLabel("Serial:", 235, 90, 40, 15)
GUICtrlCreateLabel("Tamaño:", 365, 75, 43, 15)
GUICtrlCreateLabel("Tipo:", 365, 90, 23, 15)

;UNIDADES
$cbUnidades = GUICtrlCreateCombo("BUSCAR UNIDAD...", 10, 60, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $CBS_UPPERCASE))
GUICtrlSetColor($cbUnidades, 0xff0000)


GUICtrlSetState($cbUnidades, $GUI_FOCUS)
$gruposucesos = GUICtrlCreateGroup("Informacion de unidad", 230, 55, 375, 60)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
;boton_prueba
$btn_actualizar = GUICtrlCreateButton("+", 205, 59, 17, 22)
GUICtrlSetTip($btn_actualizar, "Actualizar lista de unidades", "Avy", 1)

;///////////////////
; TAB ITEMS
;//////////////////////

;REGISTRO DE SUCESO ****************************************
$tab = GUICtrlCreateTab(10, 100, 600, 250, $WS_MAXIMIZEBOX, $WS_EX_APPWINDOW)
$itemRegistroDeSucesos = GUICtrlCreateTabItem("Registro de sucesos")
$gruposucesos = GUICtrlCreateGroup("Detalles", 15, 130, 590, 215)
GUICtrlSetState(-1, $GUI_SHOW); Mostrando la información detallada
$lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT));;
$hListView = GUICtrlGetHandle(-1)
_GUICtrlListView_SetColumnWidth($lista, 0, 300)
_GUICtrlListView_SetColumnWidth($lista, 1, 150)
_GUICtrlListView_SetColumnWidth($lista, 2, 100)
GUICtrlSetState($lista, $GUI_SHOW)

;SEGURIDAD
GUICtrlCreateTabItem("Seguridad")
GUICtrlCreateGroup("Ociones de seguridad", 15, 130, 580, 215)
$ch_proteger = GUICtrlCreateCheckbox("Proteger unidad y antivirus", 20, 180, 250, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
$nota_ch_proteger = GUICtrlCreateLabel("Ningun virus modficará la carpeta creada...Ver Ayuda", 35, 200, 300, 20)
$ch_remover = GUICtrlCreateCheckbox("Remover proteccion portable del antivirus", 20, 180, 290, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
GUICtrlSetState($ch_remover, $GUI_HIDE)

$btn_eliminar = GUICtrlCreateButton("X", 240, 305, 40, 25)
$font = "Comic Sans MS"
GUICtrlSetFont(-1, 9, 600, 4, $font) ; muestra caracteres
GUICtrlSetTip(-1, "Eliminar")

$label2 = GUICtrlCreateLabel("Arrastre en el recuadro carpeta/archivo q desea eliminar", 35, 290, 270, 15)
$input1 = GUICtrlCreateInput("", 35, 305, 200, 25, -1, BitOR($ES_right, $es_multiline));Bitor se utiliza en controles antecediendo un -1,BitOR
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; Para permitir arrastrar y soltar pero aplicando al crear la  GUI al final de la linea -1,$ws_ex_acceptfiles

$btnaplicar = GUICtrlCreateButton("Aplicar", 490, 300, 100, 40)

;AYUDA
$ayuda = GUICtrlCreateTabItem("Ayuda")

GUICtrlCreateListViewItem("abcdefg|hijklm|nopqrst", $lista)
GUICtrlSetState(-1, $GUI_INDETERMINATE)
GUICtrlCreateListViewItem("dfgvdfgxcv|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("cxvcxbv|hijkddlm|nopqrst", $lista)
GUICtrlCreateListViewItem("213e3123|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkbbgblm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkdgvfglm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvsssxcv|hijdddklm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvfdt|vcbdfghf|cbfdsf", $lista)
GUICtrlSetState(-1, $GUI_INDETERMINATE)

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
;ESTADO DE LA GUI
GUISetState(@SW_SHOW)

;CASOS
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg

		Case $GUI_EVENT_CLOSE
			If $nMsg = $GUI_EVENT_CLOSE Then
				Exit
			EndIf
		Case $btnAnalizar
			$o = GUICtrlRead($lista); obtenfo el id del item
			$n = GUICtrlRead($o); leo el id del item
			If GUICtrlGetState($o = $GUI_CHECKED) Then
				MsgBox(64, "aaa", $n);
			EndIf

	EndSwitch

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)

	#forceref $hWnd, $iMsg, $iwParam

	Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

;~  Local $tBuffer

	$hWndListView = $hListView

	If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)



	$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)

	$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))

	$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")

	$iCode = DllStructGetData($tNMHDR, "Code")

	Switch $hWndFrom

		Case $hWndListView

			Switch $iCode

				Case $LVN_ITEMCHANGED ; An item has changed

					$tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)

					$item = DllStructGetData($tInfo, "Item")

					$checked = DllStructGetData($tInfo, "NewState")

					If $item = 0 Or $item = _GUICtrlListView_GetItemCount($hListView) - 1 Then
						If $checked = 8192 Then
							AdlibRegister("Uncheck", 10)
						EndIf

					EndIf

			EndSwitch

	EndSwitch

	Return $GUI_RUNDEFMSG

EndFunc   ;==>WM_NOTIFY


Func Uncheck()
	If _GUICtrlListView_GetItemChecked($hListView, 0) = True Then
		_GUICtrlListView_SetItemChecked($hListView, 0, False)
	EndIf
	If _GUICtrlListView_GetItemChecked($hListView, _GUICtrlListView_GetItemCount($hListView) - 1) = True Then
		_GUICtrlListView_SetItemChecked($hListView, _GUICtrlListView_GetItemCount($hListView) - 1, False)
	EndIf
	AdlibUnRegister("Uncheck")

EndFunc   ;==>Uncheck


Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Antivirus - Desactivar ciertos items

Mensaje por yasmany »

Gracias Dany por responder y haber tomado tu tiempo en ello.
Habrá la forma de que aparezca desactivado el botón.
Una vez desactivado no habrá forma de que lo cliqueen, y eso sería genial.
He intentado asignando el item a una variable para utilizar el $GUI_DISABLE pero no funciona aun asi
Existirá un pequeño pedazo o linea de codigo que permita hacer eso?
Según la ayuda dice que al declararse un estilo extendido ($LVS_EX_CHECKBOXES)no puede aplicarse algunos estados o estilos

Código: Seleccionar todo

$lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT))
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Antivirus - Desactivar ciertos items

Mensaje por Dany »

Algo así te serviría?

Código: Seleccionar todo

#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icono.ico
#AutoIt3Wrapper_Outfile=Avy.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Software gratuito [email protected]
#AutoIt3Wrapper_Res_Description=Avy
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Yasmany Curimilma
#AutoIt3Wrapper_Res_Language=1034
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <UpdownConstants.au3>
#include <GuiTab.au3>
#include <GuiListView.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <Misc.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <ListviewConstants.au3>


_Singleton("AVY1991") ; NO REPETIR INSTANCIA DE EJECUCION junto con  #include <Misc.au3>
Global $btnDesinfectar, $unidad, $ed
Dim $aArray[21], $Array[4]



; GUI
$interfaz = GUICreate("Avy", 620, 405, -1, -1, -1, $ws_ex_acceptfiles)
;~ $interfaz = GUICreate("Avy", 620, 405, -1, -1,$WS_OVERLAPPEDWINDOW, BitOR($WS_EX_CONTROLPARENT,-1) , $ws_ex_acceptfiles)
GUICtrlCreatePic(@AppDataDir & "\banner.jpg", 0, 0, 620, 50)

$iconointerfaz = GUISetIcon("icono.ico", 0)
$ch_desplazar = GUICtrlCreateCheckbox("Desplazar lista", 15, 355, 100, 25)
GUICtrlSetState(-1, $GUI_CHECKED)
$ch_aplicaciones = GUICtrlCreateCheckbox("Eliminar Aplicaciones", 120, 355, 120, 25)
GUICtrlSetState($ch_aplicaciones, $GUI_HIDE)

;MENUS
$menuArchivo = GUICtrlCreateMenu("&Archivo")
$menuAbrirUnidad = GUICtrlCreateMenuItem("Abrir unidad", $menuArchivo)

;GUICtrlSetState(-1, $GUI_DEFBUTTON);PARA PONERLO EN NEGRITA
$menuCerrar = GUICtrlCreateMenuItem("Cerrar programa", $menuArchivo)

$menuInformacion = GUICtrlCreateMenu("&Informacion")
$menuOpcionesSistema = GUICtrlCreateMenu("&Windows", $menuInformacion)
$menuHerramientasTipoSistema = GUICtrlCreateMenuItem("Version", $menuOpcionesSistema)
$menuHerramientasDetalles = GUICtrlCreateMenuItem("Detalles", $menuOpcionesSistema)
$menuInformacionAcercaAvy = GUICtrlCreateMenuItem("Acerca de Avy", $menuInformacion)

;BOTONES
$btnAnalizar = GUICtrlCreateButton("&Analizar", 369, 355, 60, 25)
GUICtrlSetTip($btnAnalizar, "Analizar unidad seleccionada")

$btnDesinfectar = GUICtrlCreateButton("&Desinfectar", 429, 355, 120, 25)
GUICtrlSetTip(-1, "Analize y desinfecte la unidad")

$btnSalir = GUICtrlCreateButton("&Salir", 550, 355, 60, 25)
GUICtrlSetTip(-1, "Cerrar programa")

;ETIQUETAS DE INFORMACION
$lblNombre = GUICtrlCreateLabel("", 278, 75, 80, 15)
$lblSerial = GUICtrlCreateLabel("", 278, 90, 75, 15)
$lblSize = GUICtrlCreateLabel("", 410, 75, 185, 15)
$lblTipo = GUICtrlCreateLabel("", 410, 90, 185, 15)

GUICtrlCreateLabel("Nombre:", 235, 75, 40, 15)
GUICtrlCreateLabel("Serial:", 235, 90, 40, 15)
GUICtrlCreateLabel("Tamaño:", 365, 75, 43, 15)
GUICtrlCreateLabel("Tipo:", 365, 90, 23, 15)

;UNIDADES
$cbUnidades = GUICtrlCreateCombo("BUSCAR UNIDAD...", 10, 60, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $CBS_UPPERCASE))
GUICtrlSetColor($cbUnidades, 0xff0000)


GUICtrlSetState($cbUnidades, $GUI_FOCUS)
$gruposucesos = GUICtrlCreateGroup("Informacion de unidad", 230, 55, 375, 60)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
;boton_prueba
$btn_actualizar = GUICtrlCreateButton("+", 205, 59, 17, 22)
GUICtrlSetTip($btn_actualizar, "Actualizar lista de unidades", "Avy", 1)

;///////////////////
; TAB ITEMS
;//////////////////////

;REGISTRO DE SUCESO ****************************************
$tab = GUICtrlCreateTab(10, 100, 600, 250, $WS_MAXIMIZEBOX, $WS_EX_APPWINDOW)
$itemRegistroDeSucesos = GUICtrlCreateTabItem("Registro de sucesos")
$gruposucesos = GUICtrlCreateGroup("Detalles", 15, 130, 590, 215)
GUICtrlSetState(-1, $GUI_SHOW); Mostrando la información detallada
$lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT));;
_GUICtrlListView_SetColumnWidth($lista, 0, 300)
_GUICtrlListView_SetColumnWidth($lista, 1, 150)
_GUICtrlListView_SetColumnWidth($lista, 2, 100)
GUICtrlSetState($lista, $GUI_SHOW)

;SEGURIDAD
GUICtrlCreateTabItem("Seguridad")
GUICtrlCreateGroup("Ociones de seguridad", 15, 130, 580, 215)
$ch_proteger = GUICtrlCreateCheckbox("Proteger unidad y antivirus", 20, 180, 250, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
$nota_ch_proteger = GUICtrlCreateLabel("Ningun virus modficará la carpeta creada...Ver Ayuda", 35, 200, 300, 20)
$ch_remover = GUICtrlCreateCheckbox("Remover proteccion portable del antivirus", 20, 180, 290, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
GUICtrlSetState($ch_remover, $GUI_HIDE)

$btn_eliminar = GUICtrlCreateButton("X", 240, 305, 40, 25)
$font = "Comic Sans MS"
GUICtrlSetFont(-1, 9, 600, 4, $font) ; muestra caracteres
GUICtrlSetTip(-1, "Eliminar")

$label2 = GUICtrlCreateLabel("Arrastre en el recuadro carpeta/archivo q desea eliminar", 35, 290, 270, 15)
$input1 = GUICtrlCreateInput("", 35, 305, 200, 25, -1, BitOR($ES_right, $es_multiline));Bitor se utiliza en controles antecediendo un -1,BitOR
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; Para permitir arrastrar y soltar pero aplicando al crear la  GUI al final de la linea -1,$ws_ex_acceptfiles

$btnaplicar = GUICtrlCreateButton("Aplicar", 490, 300, 100, 40)

;AYUDA
$ayuda = GUICtrlCreateTabItem("Ayuda")

GUICtrlCreateListViewItem("abcdefg|hijklm|nopqrst", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)
GUICtrlCreateListViewItem("dfgvdfgxcv|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("cxvcxbv|hijkddlm|nopqrst", $lista)
GUICtrlCreateListViewItem("213e3123|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkbbgblm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkdgvfglm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvsssxcv|hijdddklm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvfdt|vcbdfghf|cbfdsf", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)

;ESTADO DE LA GUI
GUISetState(@SW_SHOW)


_RemoveCheckbox(GUICtrlGetHandle($lista), 0)

_RemoveCheckbox(GUICtrlGetHandle($lista), _GUICtrlListView_GetItemCount(GUICtrlGetHandle($lista))-1)
;CASOS
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg

      Case $GUI_EVENT_CLOSE
         If $nMsg = $GUI_EVENT_CLOSE Then
            Exit
         EndIf
      Case $btnAnalizar
         $o = GUICtrlRead($lista); obtenfo el id del item
         $n = GUICtrlRead($o); leo el id del item
         If GUICtrlGetState($o = $GUI_CHECKED) Then
            MsgBox(64, "aaa", $n);
         EndIf

   EndSwitch

WEnd


Func _RemoveCheckbox($LVM, $nIndex)
    _GUICtrlListView_SetItemState($LVM, $nIndex, 0, $LVIS_STATEIMAGEMASK)
    _WinAPI_RedrawWindow($LVM)
EndFunc

Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Antivirus - Desactivar ciertos items

Mensaje por yasmany »

Está genial Dany, pero hay un inconveniente, resulta que al hacer clic en el lugar donde esta oculto el CHEKBOX este aparece para marcarlo.
Pero me gustó... muy bueno, gracias Dany una vez más :smt048
Disculparás si no está ubicado el código que me brindaste que obtenía todos los items chequeados, este ejemplo lo tomé del anterior código planteado.
Muchas Gracias Dany, seguiré probando otras acciones para aumentar al código que realizaste para desactivar los ítem.
Saludos igualmente :smt006
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Antivirus - Desactivar ciertos items

Mensaje por Dany »

me falto algo :smt003

ahoea si:

Código: Seleccionar todo

#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icono.ico
#AutoIt3Wrapper_Outfile=Avy.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Software gratuito [email protected]
#AutoIt3Wrapper_Res_Description=Avy
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Yasmany Curimilma
#AutoIt3Wrapper_Res_Language=1034
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <UpdownConstants.au3>
#include <GuiTab.au3>
#include <GuiListView.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <Misc.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <ListviewConstants.au3>


_Singleton("AVY1991") ; NO REPETIR INSTANCIA DE EJECUCION junto con  #include <Misc.au3>
Global $btnDesinfectar, $unidad, $ed
Dim $aArray[21], $Array[4]



; GUI
$interfaz = GUICreate("Avy", 620, 405, -1, -1, -1, $ws_ex_acceptfiles)
;~ $interfaz = GUICreate("Avy", 620, 405, -1, -1,$WS_OVERLAPPEDWINDOW, BitOR($WS_EX_CONTROLPARENT,-1) , $ws_ex_acceptfiles)
GUICtrlCreatePic(@AppDataDir & "\banner.jpg", 0, 0, 620, 50)

$iconointerfaz = GUISetIcon("icono.ico", 0)
$ch_desplazar = GUICtrlCreateCheckbox("Desplazar lista", 15, 355, 100, 25)
GUICtrlSetState(-1, $GUI_CHECKED)
$ch_aplicaciones = GUICtrlCreateCheckbox("Eliminar Aplicaciones", 120, 355, 120, 25)
GUICtrlSetState($ch_aplicaciones, $GUI_HIDE)

;MENUS
$menuArchivo = GUICtrlCreateMenu("&Archivo")
$menuAbrirUnidad = GUICtrlCreateMenuItem("Abrir unidad", $menuArchivo)

;GUICtrlSetState(-1, $GUI_DEFBUTTON);PARA PONERLO EN NEGRITA
$menuCerrar = GUICtrlCreateMenuItem("Cerrar programa", $menuArchivo)

$menuInformacion = GUICtrlCreateMenu("&Informacion")
$menuOpcionesSistema = GUICtrlCreateMenu("&Windows", $menuInformacion)
$menuHerramientasTipoSistema = GUICtrlCreateMenuItem("Version", $menuOpcionesSistema)
$menuHerramientasDetalles = GUICtrlCreateMenuItem("Detalles", $menuOpcionesSistema)
$menuInformacionAcercaAvy = GUICtrlCreateMenuItem("Acerca de Avy", $menuInformacion)

;BOTONES
$btnAnalizar = GUICtrlCreateButton("&Analizar", 369, 355, 60, 25)
GUICtrlSetTip($btnAnalizar, "Analizar unidad seleccionada")

$btnDesinfectar = GUICtrlCreateButton("&Desinfectar", 429, 355, 120, 25)
GUICtrlSetTip(-1, "Analize y desinfecte la unidad")

$btnSalir = GUICtrlCreateButton("&Salir", 550, 355, 60, 25)
GUICtrlSetTip(-1, "Cerrar programa")

;ETIQUETAS DE INFORMACION
$lblNombre = GUICtrlCreateLabel("", 278, 75, 80, 15)
$lblSerial = GUICtrlCreateLabel("", 278, 90, 75, 15)
$lblSize = GUICtrlCreateLabel("", 410, 75, 185, 15)
$lblTipo = GUICtrlCreateLabel("", 410, 90, 185, 15)

GUICtrlCreateLabel("Nombre:", 235, 75, 40, 15)
GUICtrlCreateLabel("Serial:", 235, 90, 40, 15)
GUICtrlCreateLabel("Tamaño:", 365, 75, 43, 15)
GUICtrlCreateLabel("Tipo:", 365, 90, 23, 15)

;UNIDADES
$cbUnidades = GUICtrlCreateCombo("BUSCAR UNIDAD...", 10, 60, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $CBS_UPPERCASE))
GUICtrlSetColor($cbUnidades, 0xff0000)


GUICtrlSetState($cbUnidades, $GUI_FOCUS)
$gruposucesos = GUICtrlCreateGroup("Informacion de unidad", 230, 55, 375, 60)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
;boton_prueba
$btn_actualizar = GUICtrlCreateButton("+", 205, 59, 17, 22)
GUICtrlSetTip($btn_actualizar, "Actualizar lista de unidades", "Avy", 1)

;///////////////////
; TAB ITEMS
;//////////////////////

;REGISTRO DE SUCESO ****************************************
$tab = GUICtrlCreateTab(10, 100, 600, 250, $WS_MAXIMIZEBOX, $WS_EX_APPWINDOW)
$itemRegistroDeSucesos = GUICtrlCreateTabItem("Registro de sucesos")
$gruposucesos = GUICtrlCreateGroup("Detalles", 15, 130, 590, 215)
GUICtrlSetState(-1, $GUI_SHOW); Mostrando la información detallada
Global $lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT));;
Global $hlista=GUICtrlGetHandle($lista)
_GUICtrlListView_SetColumnWidth($lista, 0, 300)
_GUICtrlListView_SetColumnWidth($lista, 1, 150)
_GUICtrlListView_SetColumnWidth($lista, 2, 100)
GUICtrlSetState($lista, $GUI_SHOW)

;SEGURIDAD
GUICtrlCreateTabItem("Seguridad")
GUICtrlCreateGroup("Ociones de seguridad", 15, 130, 580, 215)
$ch_proteger = GUICtrlCreateCheckbox("Proteger unidad y antivirus", 20, 180, 250, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
$nota_ch_proteger = GUICtrlCreateLabel("Ningun virus modficará la carpeta creada...Ver Ayuda", 35, 200, 300, 20)
$ch_remover = GUICtrlCreateCheckbox("Remover proteccion portable del antivirus", 20, 180, 290, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
GUICtrlSetState($ch_remover, $GUI_HIDE)

$btn_eliminar = GUICtrlCreateButton("X", 240, 305, 40, 25)
$font = "Comic Sans MS"
GUICtrlSetFont(-1, 9, 600, 4, $font) ; muestra caracteres
GUICtrlSetTip(-1, "Eliminar")

$label2 = GUICtrlCreateLabel("Arrastre en el recuadro carpeta/archivo q desea eliminar", 35, 290, 270, 15)
$input1 = GUICtrlCreateInput("", 35, 305, 200, 25, -1, BitOR($ES_right, $es_multiline));Bitor se utiliza en controles antecediendo un -1,BitOR
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; Para permitir arrastrar y soltar pero aplicando al crear la  GUI al final de la linea -1,$ws_ex_acceptfiles

$btnaplicar = GUICtrlCreateButton("Aplicar", 490, 300, 100, 40)

;AYUDA
$ayuda = GUICtrlCreateTabItem("Ayuda")

GUICtrlCreateListViewItem("abcdefg|hijklm|nopqrst", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)
GUICtrlCreateListViewItem("dfgvdfgxcv|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("cxvcxbv|hijkddlm|nopqrst", $lista)
GUICtrlCreateListViewItem("213e3123|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkbbgblm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkdgvfglm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvsssxcv|hijdddklm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvfdt|vcbdfghf|cbfdsf", $lista)
GuiCtrlSetState(-1, $GUI_INDETERMINATE)

;ESTADO DE LA GUI
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

_RemoveCheckbox($hlista, 0)

_RemoveCheckbox($hlista, _GUICtrlListView_GetItemCount($hlista)-1)
;CASOS
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg

      Case $GUI_EVENT_CLOSE
         If $nMsg = $GUI_EVENT_CLOSE Then
            Exit
         EndIf
      Case $btnAnalizar
         $o = GUICtrlRead($lista); obtenfo el id del item
         $n = GUICtrlRead($o); leo el id del item
         If GUICtrlGetState($o = $GUI_CHECKED) Then
            MsgBox(64, "aaa", $n);
         EndIf

   EndSwitch

WEnd


Func _RemoveCheckbox($LVM, $nIndex)
    _GUICtrlListView_SetItemState($LVM, $nIndex, 0, $LVIS_STATEIMAGEMASK)
    _WinAPI_RedrawWindow($LVM)
EndFunc


Func WM_NOTIFY($hWndGUI, $MsgID, $WParam, $LParam)
    #forceref $hWndGUI, $MsgID, $wParam
    Local $tNMHDR, $hwndFrom, $code, $tInfo
    $tNMHDR = DllStructCreate($tagNMHDR, $LParam)
    $hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
    $code = DllStructGetData($tNMHDR, "Code")
    Local $hWndListView = $lista
    If Not IsHWnd($lista) Then $hWndListView = GUICtrlGetHandle($lista)
    Switch $hwndFrom
        Case $hWndListView
            Switch $code
                Case $NM_CLICK, $NM_DBLCLK, $NM_RCLICK, $NM_RDBLCLK
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $LParam)
                    ;preventing checkboxes from re-apearing (same conditions as above)
                    Switch DllStructGetData($tInfo, "Index")
                        Case 0,_GUICtrlListView_GetItemCount($hWndListView)-1
                            Return True;intercept normal return message which would cause checkbox to re-apear
                    EndSwitch
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc
Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Antivirus - Desactivar ciertos items

Mensaje por yasmany »

GENIAL...!
Gracias Dany... es estupendo, mil gracias por tu ayuda.
Saludos Cordiales. :smt026
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Antivirus - Desactivar ciertos items

Mensaje por Dany »

de nada :smt027

saludos
  • ............................................Imagen
    ......................................Imagen
Responder