viernes, 20 de diciembre de 2019

ROOT Moto E5 type M3A47 nora XT1944-3

Tuve que buscar aqui y alla, intentar una y otra vez hasta que porfin  pude ser root
use windows 10, cable usb de cargador, y cable otg para conectar mouse al telefono cuando
entra el twrp

Te recomiendo bajar el
     Lenovo Moto Smart Assistant
     https://support.lenovo.com/mx/es/downloads/ds101291

    Te va a ser muy util si se te brikea el cell como me paso, y en un 2 por 3 lo repare

    Asegurate que funcione reconozca tu tel y descarga tu rom stock

     igual este LMSA, trae fastboot y adb, estan en carpeta "archivos de programax86"

Ya debes saber que para ser programador en tu cell moto debes ir a numero de compilacion y dar tap como 7 veces.

recuerda que los comandos con fastboot debes tu telefono estar conectado a tu pc

Una vez que se active programados
debes activar
PERMITIR DESBLOQUEO OEM

Y DEPURACION POR USB

Primero tienes que desbloquear el Bootloader
en este link esta la informacion que sirve, solo para desbloquear boot loader
https://www.techmoviles.com/desbloquear-gestor-de-arranque-bootloader-motorola-moto-e5-play-plus/

descargate el  Recovery custom  twrp-3.3.1-0-nora.img

entra al fastboot en el cel moto e5 con Volumen down y power presionados al mismo tiempo despues de 10 segundos sale el listado en tu cell y robotito android con panza arriba, estas en fastboot en tu cell, conecta tu cable usb cargador a pc con drivers motorola de fastboot

En otras guias hablan de flasher el twrp pero no lo puedes hacer en este moto
asi que lo mejor es ejecutarlo

en una ventana de comandos donde esta el fastboot.exe  y el img recovery de nor a
con comando en tu pc:
    fastboot boot twrp-3.3.1-0-nora.img

el cell reinicia con pantalla azultwrp, y se queda bloqueado, desconecta cable cargador y conecta cable usb otg y mouse para usar el phone

si pregunta pass for decrip cancela, y ve formatear data

Desconeta mouse, reconecta compu reinicia modo fastboot cell, y otra vez

comando fastboot boot twrp-3.3.1-0-nora.img (no dejes que se inicie el cell por que sino se vuelve a encriptar contenido de cell y otravez pedira pass)

por sideload copia magisk 17.zip e install con el twrp

luego mejorare esta guia

-------------------------------------------
va de new

Recuerda tener bien cargado tu celular


MOTO e5 nora xt1944-3 no se puede flash, dice corrup o unsigned o algo asi

conectada compu con cell, con cable usb de datos
pone una ventana de comandos (CMD), donde tengas adb.exe, fastboot.exe y nora.img (se refiere a TWRP-3.3.1.0_nora.img)

hay que usar comando en compu
    fastboot boot nora.img

como no se puede usar el touch screen
debes conectar un mouse por otg, es decir desconectas de compu
cuando ya esta en TWRP y conectar cable USB OTG con mouse, para los
movimientos

si twrp tarda en entrar y pide pass for decript debes
    formatear DATA,
formatea solo data, sino pide pass sigue a paso 3

otravez conectas compu usb y en compu escribe comando
fastboot boot nora.img
twrp entra rapido y ya puedes grabar en el cell, ya no pide pass.

3:-
entras twrp busca
advance sideload
activas, desconectas mouse y reconectas compu

en compu escribes
adb sideload magisk17.zip
magisk debe estar en misma carpeta de abd, fastboot etc,cuando termine,

desconecta usb de compu conectas mouse otg y en twrp
busca
   install
seleciona  magisk17.zip donde lo tengas en el cell

rebooteas ya eres Superusuario

saludos








viernes, 13 de diciembre de 2019

SAE Carpeta de red de perfiles no existe, no se puede instalar SAE en nueva RED, \\SERVIDOR\DACASPEL\perfiles

Tomado de https://escritorio.aspel.com.mx/webapps/foros.exe/MuestraTema?f=1&IdTema=160365&s=0&idsa=


Como las estaciones de trabajo dependen de algunos archivos de tu servidor, debes realizar una desinstalación manual, te sugiero realizar lo siguiente:

1.- Ingresa al Editor de Registro Windows, mediante la tecla Windows+R, escribe “regedit” y presiona aceptar
2.- En el menú Edición/Buscar, pega la siguiente clave: 7677638B-F4E6-4C76-83B0-236C6952FCC9
Y presiona buscar siguiente, este proceso puede tardar algunos minutos
3.-Una vez localizada la clave debes eliminar la carpeta encontrada, verifica que los registros que aparecen de lado derecho en alguno de ellos tengan cualquiera de estas 2 rutas:
C:\Program Files (x86)\Aspel\Aspel-SAE 7.0 o
C:\Program Files\Aspel\Aspel-SAE 7.0
4.- Posteriormente en el editor de registro busca las siguientes rutas dependiendo de tu sistema operativo:
32 Bits: HKEY_LOCAL_MACHINE/SOTWARE
64 Bits: HKEY_LOCAL_MACHINE/SOTWARE/Wow6432Node
Dentro de la ruta mencionada, elimina las carpetas “Aspel” y “AspelALX”
5.- Por último, borra la siguiente carpeta de tu equipo y realiza la instalación del sistema: C:\Program Files (x86)\Aspel\Aspel-SAE 7.0


Total que lo que funciona es Buscar con regedit esta clave 7677638B-F4E6-4C76-83B0-236C6952FCC9 y todos sus relacionados y borrarlos

Y ya pude instalar Aspel Sae como servidor en compu quitada de red

Saludos

jueves, 5 de diciembre de 2019

Reparar GUID de Documentos digitales contpaq 12

Esto es lo que tuve que hacer para repara Respaldos de documentos que no suben
por error en guid etc, quiza no este muy claro pero ayudara, por lo menos ami a que recuerde lo que hice

Subir respaldo
para repara errore nuevo arch digital sql
si bd de xml no sube  abrir zip de documentos
restaurar baks de zip en mssql
borrar documents y other creados por nueva empresa polizas sube bien content y metadata son 4
cambiar nombre a 4 bd restauradas con mssql, el numero guid generado, revisa db_dyrectory
cambiar en tabla parametros BD empresa nueva,Guids los tres, DSL Creado ETC

CrearEmpresa
accederla para crear ADD

cambiar
parametros en empresa GUI DSL CReado y otro son 3 campos




DELETE FROM OWNERS WHERE GUIDOWNER IN (select OWNERS.GUIDOWNER FROM  DatabaseDirectory INNER JOIN Owners ON Owners.GuidCompany = DatabaseDirectory.GuidCompany where nombreempresa like '%COPA%' and version='0.0.0.0')

DELETE FROM DatabaseDirectory where nombreempresa like '%COPA%' and version='0.0.0.0'

SELECT * FROM DatabaseDirectory where nombreempresa like '%COPA%' and version='0.0.0.0'


SELECT * FROM OWNERS WHERE GuidCompany LIKE '%ea%'

update OWNERS set GuidCompany = 'EA6681BC-567B-44B8-AC8F-D297B60AD634' WHERE GuidCompany = 'EA6681BC-567B-44B8-AC8F-D297B60AD634'

Nota COPA es parte del nombre de una empresa que no podia subir y como habia varios COPA aunque creara la empresa una y otra vez ya no podia repararla por contpaq asi que tuve que reparar con comandos sql por ya estaba muy repetido el nombre

Como convertir Estado Cta HSBC pdf a Excel

Aunque puedes descargar el xml de la pagina del HSBC, si tienes solo el pdf
y quieres obtener los movimientos del mes a excel, te digo los pasos
debes usar Foxit Reader

1.- Abres el Pdf del edo de cuenta.
2.- lo grabas como archivo de texto (guardar como y seleecionas txt)
3.- Aqui esta el asunto como el texto edo de cuenta pdf
esta codificado, debes usar mi convertidor excel, es una macro
que he creado para decodificar texto de Estado de Cuenta HSBC y separa las columnas

Si esta interesado en esto, deja un comentario y asi sabre que hay personas que como yo
tuvieron este problema y esta macro es util, por lo que la subire y actualizare este post
con el link de la macro

Saludos

lunes, 11 de noviembre de 2019

Duplicar Clonar Disco Duro con WIndows Server R12, Super facil

Descarga DLCD Boot cd 2017, que incluye utileria PARTITION GURU
usas COPY DISK, SIN CREAR NUEVA FIRMA y tienes una copia identica
no importa si no son del mismo tamaño, lo unico necesario esque la informacion
(espacio usado) debe caber en disco destino, y si el disco que copiaste es arrancable, tambien la copia arrancara es decir cargara el SO

Bueno a mi me funciono con Duplicar un disco con Windows Server R12 que tenia ya programado con usuarios y sistemas, reinstalar no era opcion ya que como solo se pretendia ampliar capacidad, todo lo demas deberia quedar igual, duplique un SSD de 120 a otro 240, marca ADATA ambos son SU650

Obvio el disco a duplicar no debe ser de arranque en funcionamiento, por que si, se copia
pero no va a arrancar en el nuevo.

Lo intente con Aomei pero no funciono, mejor con partition guru, en 20 minutos copias 100 GB de ssd a ssd.

al duplicar Debes arrancar con un disco que no sea el que vas a duplicar, despues de hacer la copia quitas todo y dejas solo el disco que duplicaste debe arrancar sin ningun problema.

Igual anteriormente he duplicado de HDD a SSD es decir de mecanico a Solido sin ningun problema

OJO
No soy respondable sino sabes usarlo o pierdes informacion, mejor sino estas seguro saca respaldo.
Contrario a lo que sabemos de windows
Quite Mi disco SSD SATA con windows server R12 de mi compu server
y me dispuse a formatearlo usando un Enclosure (case ADATA ex500), para usuarlo como
respaldo, despues de conectarlo al usb prendi la compu y oh sorpresa!!
arregló las cosas y booteo con el USB, me dejo en pantalla de clave de usuario..
Wow, pues ya sabes windows server puede bootear de usb externo.
y me imagino que tiene todas las funciones, por que el office funcionaba, active excel y cargo
pues eso es mi reporte.

Imagino que si quieres tener un SO que arranque de usb, puedes usar el ssd como truco
lo formateas en pc desktop, y despues lo quitas y lo pones en un enclosura usb y ya tienes un SO arrancable por USB, obvio debes de preparar bios de compu destino para que arranque de usb


domingo, 27 de octubre de 2019

CONTPAQi 11.6 BASES DE DATOS A ADJUNTAR PARA INSTALAR SIN SUBIR RESPALDOS

CONTPAQ 11.6
BASES DE DATOS A ADJUNTAR PARA INSTALAR SIN SUBIR RESPALDOS
SQLCMD es
en carpeta BINN de instancia a la altura de DATA
C:\Program Files\Microsoft SQL Server\MSSQL14.COMPAC\MSSQL\BINN
USAR
  SQLCMD -S server/instancia  casi siempre instancia es COMPAC 
SINO SABES TE RECOMIENDO SQL SERVER MANAGEMENT STUDIO

ARCHIVO GENERALES.MDF
ARCHIVO ADD_Catalogos.MDF
Archivo DB_Directory.mdf
Archivos de empresas.mdf
archivos document_UUID_content estos en nombre base de datos deben lleva corchetes
archivos document_UUID_metadata estos en nombre base de datos deben lleva corchetes
archivos other_UUID_content estos en nombre base de datos deben lleva corchetes
archivos other_UUID_metadata estos en nombre base de datos deben lleva corchetes
EJ
CREATE DATABASE [document_04b68fd4-dc74-4cb4-b4c6-be79b56155ce_metadata] ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL14.COMPAC\MSSQL\DATA\document_04b68fd4-dc74-4cb4-b4c6-be79b56155ce_metadata.mdf') FOR ATTACH
GO

martes, 27 de agosto de 2019

Descarga Masiva mas de 2000 CFDis con phyton

Estoy investigando descarga masiva SAT con fiel mas de 2000 registros
 primero en VB.NET, pero voy muy lento

Pues alguien posteo un CFDICLIENT.ZIP en GITHUB que contiene la rutinas ya hechas
en python

Tengo Conocimiento de Muchos Lenguajes de programacion
entre estos phyton y  como no deseaba perder tiempo

pues que me baje el interprete para windows 10
phyon 3.7.4
lo instala en C:\Users\'Usuario'\AppData\Local\Programs\Python\Python37-32
ejecute el clasico hola mundo y todo ok

descargue e instale PIP (manejador de paquetes) que segun las instruciones se requeria
PIP que quedo en Carpeta Script de Carpeta de Instalacion Python
puse
    PIP install CFDIClient
    y se instalo
luego corri primer ejemplo con mi fiel del sat renombrados a 1.cer y 1.key y password
y si me dio token

Luego solicite descarga
luego Descargue PYinstaller para generar un exe
con esto genere exe y es mi punto de partida para hacer
mi consulta masiva con python

con VB.net necesito estudiar mucho el acceso al sevicio antes de ver resultados
Ojala Te sirva

visita computarologo.com.mx

jueves, 8 de agosto de 2019

CMD Windows10, Variable que contiene el directorio donde se Ejecuta el BAT

Esta Variable es importante si creas Archivos BATs
a veces los bats requieren mas comando que estan en otros archivos
en la misma carpeta del bat que ejecutas y si los copias de una compu a otra
como yo, pues necesitas esta variable ya que de no hacerlo debes
reprogramas tus BATS mas si los pones en escritorio o en la carpeta del usuario
la Variable es

%~dp0

esta variable ya trae todo hasta el diagonal invertido, por lo que si te refieres aun archivo
solo debes poner asi     "%~dp0ARCHIVO", no necesita diagonal invertida.

Saludo

miércoles, 10 de julio de 2019

Configuracion IDSE Julio 2019 Windows 10 Java

IDSE CONFIGURACION INTERNET EXPLORER y JAVA PARA IDSE

Esta Entrada ya la habia puesto, pero al renovar certificado tuve
error
de Java File.io.Permision read (CartadeAceptaciondeRenovacion.pdf)
pues lo actualizo

Para corregir

File.io.Permision read (CartadeAceptaciondeRenovacion.pdf)
debes, ir a Carpeta
C:\Program Files (x86)\Java\jre1.8.0_211\lib\security (o una que se le parezca)
y donde haya un archivo llamado:  java.policy
al final del archivo antes del corchete ( } ) debes agregar esta linea
permission java.io.FilePermission "<<ALL FILES>>", "read";



1.- Actualizar JAVA con lo mas nuevo
2.- Usar Java policy.exe como administrador o sea debes descargarlo y luego
boton derecho
3.- Ir al panel de control en windows 10 debes buscarlo en la barra
de busqueda en el post de internet explorer windows 10,explico como, ahi en panel de control
esta java, doble click y en la pestaña seguridad hay que agregar las direcciones seguras
del imss

IMSS direcciones a agregar en la pestañas seguridad de java
http://idse.imss.gob.mx
http://idse.imss.gob.mx/imss
http://*.imss.gob.mx/*

RENOVACION
http://idse.imss.gob.mx/certificacion/
http://idse.imss.gob.mx/certificacion/jsp/representante/renovacion/firmaDatosCarta.jsp
http://idse.imss.gob.mx/certificacion/cartaRenovacion.idse
http://idse.imss.gob.mx/suadap/EntradaIDSEServlet
http://*.idse.imss.gob.mx/imss/resources/applets/
http://sipress.imss.gob.mx/autorizaciones/capturaAutorizaciones.idse
http://sipress.imss.gob.mx

CONFIGURACIONES EXPLORER
- Vista de compatibilidad en explorer anterior esta en menu herramientas, el que sale con tecla ALT
en el nuevo es un iconito en barra de direcciones al final como de una hojita rota, ahi le picas
- Debes agregar a sitios seguros el del imss

RENOVACION
- Revisar los controles activex para poner que debe preguntar
al descargar y ejecutar controles no firmados, quiza despues lo cambies
por que es una lata cuando a cada rato te pregunta

RENOVACION RECUPERACION DE CERTIFICADOS IMSS
cuando no te da la liga ve a estas direcciones
http://idse.imss.gob.mx/certificacion/ligaRequerimiento.idse (con tu numero patronal te da tu num de certificado)
http://idse.imss.gob.mx/certificacion/instalaRenovacion.idse?SERIAL_NOM="AQUIPONLOSNUEMEROS" (sin comillas)

Si todo lo anterior falla lo siento debes ir a la subdelegacion con tus tarjeta patronal,
identificacion IFE si eres PersonaFisica, si eres PM, debes llevar tu poder notarial y
el acta constitutiva de la empresa, un usb para que te pongan la informacion
no te olvides de tener correo electronico que uses y sepa la clave, no te olvides
de resguardar Las claves de usuario y contraseña de acceso al idse (no debes olvidarlo)

lunes, 8 de julio de 2019

Uso de Pizero con interrupciones en RISC OS es facil al final

 La verdad con todo lo que he leido, el manejo de interrucciones Pizero con raspbian
es complejo, con phyton igual

Despues de mucho estudiar, porque no hay informacion en BASIC de riscos,  y muchos experimentos llegue a este ejemplo funcional que con la int timer programada para interrumpir cada 1 ms, puede determinar cuantos pulsos se han recibido en 3 pines, 2 ,3, 4, pulsos que deben durar mas de 45 ms

Es mucho muy facil hacerlo mejor con BASIC, que viene integrado en RISC OS, a parte se pueden usar
los sprites, los fonts, y graficas, que en raspbian no se que tan facil sea programar.

Este ejemplo crea un modulo que queda en memoria, claro debes darle doble click o cargarlo con programacion en el mismo basic, checando los pines cada 1ms, cuando hay pulsos de mas de 45 ms, los cuenta y los pone en variables(memorias pues), y con un programa (interfase) en basic puedo leer estos valores.

En realidad quiza te cueste trabajo entender el uso, pero el assembler es buenisimo y funcional, quiza puedas entenderlo y usarlo para tus propositos, yo la verdad lo pongo aqui porque la NETA NETA me costo muchisimo usar las ints en basic, ya que NO HAY INFORMACION de PROGRAMACION DE INTERRUPCIONES USANDO EL RISC OS,o muy poca (solo pistas) por eso comparto este codigo.


4470 REM ===================================================================
      REM ESTRUCTURA DE MODULO
      REM CREACION DE MODULO
      REM MANEJO DE INTERRUPCION
      REM ESTE PROGRAMA CREA ARCHIVO Modulo QUE ES UN MODULO
      REM QUE SE EJECUTA CON DOBLE CLICK Y SE HACE RESIDENTE
      
      ON ERROR PRINT REPORT$+" at "+STR$(ERL) : END
      DIM code% 4096
      FOR pass% = 4 TO 7 STEP 3
        P%=0:O%=code%
        
        [ OPT pass%
        EQUD    0               ; Start-up code
        EQUD    initialise      ; Initialisation
        EQUD    finalise        ; Finalisation
        EQUD    0               ; Service call handler
        EQUD    module_title    ; 5 Module title
        EQUD    0               ; Module help
        EQUD    0               ; Help and command decoding table
        EQUD    0               ; SWI chunk base number
        EQUD    0               ; SWI handling code
        EQUD    0               ; 10 SWI decoding code
        EQUD    0               ; SWI decoding code
        EQUD    0               ; Messages file name
        EQUD    module_flags    ; 13 Module Flags
        
        .module_flags
        EQUD 1                 ;14
        
        .module_title
        EQUS    "Modulo"
        EQUB    0
        ALIGN                  ;len nombre mod
        ; ============================================================
        ;VARIABLES DE SALIDA BASIC, es como una tabla

        
        .ComprobarPin02 EQUD &00000004 ; 0100
        .ComprobarPin03 EQUD &00000008 ; 1000
        .ComprobarPin04 EQUD &00000010 ;10000
        
        .ConteoUnosPin02 EQUD &00000000 ;0*4+C Cuantas Eventos en Pin9 12
        .ConteoUnosPin03 EQUD &00000000 ;1*4+C Cuenta Cuantos pin10
        .ConteoUnosPin04 EQUD &00000000 ;2*4+C Cuenta Cuantos pin11
        
        .ConteoCerosPin02 EQUD &00000000 ;0*4+18 Cuantas Eventos en Pin9 24
        .ConteoCerosPin03 EQUD &00000000 ;1*4+18 Cuenta Cuantos pin10
        .ConteoCerosPin04 EQUD &00000000 ;2*4+18 Cuenta Cuantos pin11
        
        .ConteoPulsosPin02 EQUD &00000000 ;0*4+24 Cuantas Eventos en Pin9 36
        .ConteoPulsosPin03 EQUD &00000000 ;1*4+24 Cuenta Cuantos pin10
        .ConteoPulsosPin04 EQUD &00000000 ;2*4+24 Cuenta Cuantos pin11
        
        .DireLogBCM EQUD  &00000000  ;3*4+24 Direccion Base Logica ya en SO
        
        ;-----------------------------------------------------------------
        ;direccion ya calculada del registro de eventos
        ; para ir directo a el sin sumar
        .DireGplev0BCM EQUD &00000000 ;4*4+24 BCMbase gpio+gpLEV0
        
        ; ============================================================
        
        ;BCM 2835 PIZERO QUE TENGO ACTUALMENTE
        ;direccio base Fisica BCM2835 en raspberry pi
        .DireBaseBCM  EQUD  &20000000  ;0 base bcm
        .PosGPIOBCM   EQUD  &00200000  ;1 base gpio
        
        ;DIRECION DE LECTURA ESTADO DE PINES GPLEV0
        .gplev0  EQUD &00000034 ;dir donde se encuentra estado de pines
        
        .DevicedelTimer EQUD &00000000
        ; ============================================================
        
        .iniGPIO
        LDR R0, DireBaseBCM ;RiscOS dame dir base de GPIO en memoria logica
        MOV R1,R0
        MOV R0,#13
        MOV R2,#&100     ;256 bytes
        PUSH {R14}
        SWI &68
        POP {R14}
        
        LDR R1, PosGPIOBCM
        ORR R3, R3, R1
        STR R3, DireLogBCM      ;guarda en DireLogBCM
        
        LDR R1,gplev0 ;Calcula dir Logica gplev
        ORR R1,R3,R1 ; es como  un add por el tipo de dir
        STR R1,DireGplev0BCM  ; guardalo completo para acelerar INT
        
        MOV PC,R14
        
        ; ===============================================================
        ;INT TIMER TICK 1 MILI SEC
        ; ===============================================================
        .irqTIMER
        STMFD SP!,{R0-R12,R14}
        MRS R10,CPSR
        ORR R0, R10, #3
        MSR CPSR_C, R0
        
        STMFD SP!,{R0-R12,R14}
        
        LDR R2,DireGplev0BCM  ;DIREC Nivel de PIN
        LDR R1,[R2]   ;LEE NIVELES DE PINES
        
        ADR R3, ComprobarPin02
        BL ChecaPin
        ADR R3, ComprobarPin03
        BL ChecaPin
        ADR R3, ComprobarPin04
        BL ChecaPin
        
        MOV R0, #1   ;hal timer 1 irq CLEAR
        MOV R8, #0
        MOV R9,#113
        SWI &7A
        
        MOV R8, #0
        MOV R9, #3
        SWI &7A
        
        LDMFD   SP!, {R0 - R12, R14}
        MSR CPSR_C, R10
        
        LDMFD   SP!, {R0 - R12, PC}
        ;===============================================
        .ChecaPin
        LDR R0,[R3]
        AND R0,R0,R1
        CMP R0,#0   ; Pin Apagado 0?
        BNE Checa1s ; Brinca a Checa1s, si Pin en 1 Alto
        
        MOV R6,#&18
        MOV R4,#&C
        B Actualiza
        
        .Checa1s
        MOV R6,#&C
        MOV R4,#&18
        
        .Actualiza
        LDR R5,[R3,R6] ;Incrementa 0s
        CMP R5,#45
        BEQ finChecaPin
        ADD R5,R5,#1
        STR R5,[R3,R6]
        CMP R5,#45   ;si contamos 45 ms de 0
        BLT finChecaPin
        MOV R2,#0
        STR R2,[R3,R4] ;si el contador de 1 es 0
        
        CMP R6,#&C    ; estoy en control de 1s?
        BNE finChecaPin ; Brinca a fin si no estoy en control de unos
        
        MOV R6,#&24 ;Incrementa Contador de Pulsos
        LDR R5,[R3,R6] ;Incrementa 0s
        ADD R5,R5,#1
        STR R5,[R3,R6]
        
        .finChecaPin
        MOV PC, R14
        
        ;-------------------------------------
        ;SETUP INT TIMER
        
        .TIMER
        STMFD SP!,{R0-R12,R14}
        
        ;Programa Timer
        MOV R0,#1
        MOV R8,#0
        MOV R9,#14  ;Pide Ticks x Segundo
        SWI &7A
        ;Salida en R0, ticks x segundo
        
        MOV R1,#1000 ;Cada miliseg, 1000 veces en 1 seg
        
        ;MOV R1,R0
        MOV R9,#16 ;Set Cada Cuantos Ticks Hay INT
        MOV R0,#1
        MOV R8,#0
        SWI &7A
        
        MOV R0,#1 ;cual es el device del timer 1
        MOV R8,#0
        MOV R9,#13
        SWI &7A
        
        MOV R7,R0 ;el device q resulto anterior
        STR R7, DevicedelTimer
        STMFD SP!,{R0-R12,R14}
        
        ADR R1, irqTIMER     ;solo se usa para cargar la dir
        MOV R2,#0
        MOV R3,#0
        MOV R4,#0
        SWI &4B ;Asigna Interrpcion Timer a Mi Rutina
        
        LDMFD SP!,{R0-R12,R14}
        SWI &13 ;Activa las INT
        
        MOV R8,#0
        MOV R9,#1 ;hal irq enable del device en r0
        MOV R0,R7
        SWI &7A
        
        LDMFD SP!,{R0-R12,PC}
        
        .initialise
        STMDB SP!,{R0-R12,R14}
        
        BL iniGPIO
        BL TIMER
        
        .SALIDA
        LDMFD  SP!, {R0 - R12, PC}
        
        .finalise
        STMFD  SP!, {R0 - R12, R14}
        ;APAGA LIBERA  INT TIMER
        LDR R7, DevicedelTimer
        MOV R8,#0
        MOV R9,#2
        MOV R0, R7
        SWI &7A
        LDMFD  SP!, {R0 - R12, R14}
        
        STMFD  SP!, {R0 - R12, R14}
        LDR R7, DevicedelTimer
        MOV R0, R7
        ADR R1, irqTIMER
        MOV R2, #0
        SWI "OS_ReleaseDeviceVector"
        
        LDMFD  SP!, {R0 - R12, PC}
        ; ================================================================
        ]
      NEXT pass%
      OSCLI("Save Modulo "+STR$~code%+" +"+STR$~P%)
      OSCLI("SetType Modulo FFA")
      RETURN
      

lunes, 24 de junio de 2019

Programas Borrados de Nuevo Cell Moto E5 que para lo que usare no sirven


Lista de Programas que Viene con telefono nuevo
que para mis propositos no sirven

com.google.android.apps.docs'
com.google.android.apps.photos'
com.google.android.apps.tachyon'
com.google.android.gm'
com.google.android.googlequicksearchbox'
com.google.android.inputmethod.japanese'
com.google.android.inputmethod.korean'
com.google.android.inputmethod.pinyin'
com.google.android.music'
com.google.android.videos'
com.google.android.youtube'
com.lenovo.lsf.user
com.motorola.timeweatherwidget'
com.telcel.contenedor'
com.motorola.mya.fmwkwrapper
com.motorola.mya
com.google.android.deskclock
com.google.android.calculator
com.google.android.calendar
com.motorola.fmplayer
com.motorola.android.fmradio
com.motorola.demo
com.motorola.demo.env
com.motorola.moto
com.motorola.motocare
com.motorola.motocare.internal

Saludos

ERROR AL conectarse cel por abd, adb shell error: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set

Conect 2 Cels a mi compu
y liste los devices, aparecieron los 2
luego intente conectarme al shell y me dio error
por tener 2, quite 1 y cuando intente conectarme de nuevo
me paso este error

adb shell error: device unauthorized
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

La solucion fue ir al programador Usb depuracion, desativar y reactivar
con eso ya me pude conectar

Saludos

viernes, 21 de junio de 2019

martes, 18 de junio de 2019

Ford Fiesta Ikon 2001 Se Jalonea, Se Para, Suena Como problema de Bujias ,Cable Bobina

Pero no, no fue los cables, no bujias, sino el Arnes, el arnes tiene 3 contactos a  bobina, talvez por el aceite quedo resbalozo  y  2 de esos contactos van hacia atras y no hacen buen contacto lo que hace que solo 2 pistones enciendan, checate bien el arnes que debe hacer buen contacto con los pines de la bobina, tambien no esta demas cambiar cables de bujias y las bujias, otra cosas revisa bien la secuencia si pones mal la secuencia es probable que escuches golpeteos y que no arranque, mejor antes de cambiar esta seccion toma fotos con tu cel, y revisalo de todas formas con las graficas de la secuencia de encendido en internet hay mucha imagenes, asegurate que la secuencia correcta corresponda a tu auto, ford fiesta ikon 2001 1.6

Video de Operacion de una hoja excel que agiliza la captura en pagina del SAT

https://www.youtube.com/watch?v=uqSAntEePR0&feature=youtu.be

Hoja Excel que permite Facturar en la pagina del SAT, para aquellos pequeños contribuyentes que facturan, basicamente agiliza la captura , lo ultimo que es subir el CSD y el CER es manual, despues debes descargar Xml y PDF, para tu archivo personal y su posterior envio por correo al cliente, te ahorras la captura, Tambien tengo otra para Nominas

martes, 11 de junio de 2019

Excel se cierra al abrir

Abre excel en modo safe, presiona tecla Windows +R, y escribe excel /safe y una vez que abra
ve a menu archivo/opciones/complementos busca Complementos COM   [Ir]
Desactiva los complementos que creas que te dan problemas. Y prueba

En caso de no solucionar, desinstala y reinstala saludos

lunes, 10 de junio de 2019

RaspBerry Pizero Ejemplo de Uso de Interrupciones GPIO en Risc OS, Basic y Assembler

Me Costo mucho trabajo llegar a este ejemplo funcional de interrupciones  del Pizero usando Sistema Operativo RISC OS, que carga super rapido, y funciona excelente el BASIC
espero les pueda servir

Este basic al ejecutar crea un modulo que debes ejecutar dando doble click
Ademas Crea Un programa que es  un Modulo le das doble click y ya funciona
si tienes dudas me puedes preguntar al 9982243891 o a villalobosjpc@hotmail.com

--------------------------------------------------------------------
--------------------------------------------------------------------
    1 REM ESTRUCTURA DE MODULO
    2 REM CREACION DE MODULO
    3 REM MANEJO DE INTERRUPCION GPIO
    4 REM ESTE PROGRAMA CREA ARCHIVO  INTMod QUE ES UN MODULO
    5 REM QUE SE EJECUTA CON DOBLE CLICK Y SE HACE RESIDENTE
    6 REM DESPUES DE MUCHOS ESTUDIO LLEGUE A ESTE 9 DE JUNIO 2019
    7 REM COPIANDO Y ADAPTANDO EJEMPLOS DE WWW.HEYRICK.UK.COM
    8
    9
   10 ON ERROR PRINT REPORT$+" at "+STR$(ERL) : END
   11
   12 DIM code% 4096
   13
   14 FOR x%=0 TO 1023 : code%?x%=0 : NEXT
   15
   16 FOR pass% = 4 TO 7 STEP 3
   17  
   18   P%=0
   19  
   20   O%=code%
   21  
   22   [ OPT pass%
   23  
   24   EQUD    0               ; Start-up code
   25  
   26   EQUD    initialise      ; Initialisation
   27  
   28   EQUD    finalise        ; Finalisation
   29  
   30   EQUD    0               ; Service call handler
   31  
   32   EQUD    module_title    ; Module title
   33  
   34   EQUD    0               ; Module help
   35  
   36   EQUD    0               ; Help and command decoding table
   37  
   38   EQUD    0               ; SWI chunk base number
   39  
   40   EQUD    0               ; SWI handling code
   41  
   42   EQUD    0               ; SWI decoding code
   43  
   44   EQUD    0               ; SWI decoding code
   45  
   46   EQUD    0               ; Messages file name
   47  
   48   EQUD    module_flags    ; Module Flags
   49  
   50  
   51   .module_flags
   52  
   53   EQUD 1
   54  
   55  
   56   .module_title
   57  
   58   EQUS    "TimerINT"
   59  
   60   EQUB    0
   61  
   62   ALIGN
   63  
   64  
   65  
   66   ;PIZERO QUE TENGO ACTUALMENTE
   67  
   68   ;direccio base BCM2835 en raspberry pi
   69   .g  EQUD  &20000000  ;base bcm
   70   .g2 EQUD  &00200000  ;base gpio
   71   .g3 EQUD  &0000B000  ;BASE irq handler
   72  
   73   ;1---) SELECCIONAR FUNCION GPFSEL0,GPFSEL1,GPFSEL2
   74   ;DIRECCIONES  Posiciones en Memoria SELECTOR DE FUNCION
   75   ;se suman a direcion base g
   76  
   77   ;Selectores de Funcion del Pin, 30 Pines, 3 Bits Para Cada uno
   78   ;por eso son 24 Bytes, 192 BITS
   79  
   80   .posPines0a9   EQUD &00000000 ;dir donde poner que pin GPSEL0
   81   .posPines10a19 EQUD &00000004
   82   .posPines20a29 EQUD &00000008
   83  
   84  
   85   ;Activar solo si son necesarios mas de 30  pines despues de 39
   86   ;.posPines30a39 EQUD &0000000C
   87   ;.posPines40a49 EQUD &00000010
   88   ;.posPines50a54 EQUD &00000014
   89  
   90   ;1.1
   91   ;VALORES A PONER EN DIRECCIONES PARA LA FUNCION
   92   ;3 bits cada pin P funcion, LOS 2 bits slitos no se usan
   93  
   94   ;4Bytes,32Bits,10Pines 00 000 000 000 000 000 000 000 001 000 000
   95   ;de acuerdo a esto los demas pines 0,1,3,4,5,6,7,8,9 seran salida
   96   ;y pin 2 entrada
   97   .pin2Sal EQUD &00000040 ;VAL qponer en PosPines0a9,para pin2salida
   98  
   99   ;3 bits cada pin P funcion
  100   ;4Bytes,32Bits,10Pines 00 000 000 000 000 000 000 000 000 000 001
  101   .pin10Sal EQUD &00000001 ;Val qponer en PosPines10a19,para pin13salida
  102  
  103   ;3 bits cada pin P funcion
  104   ;4Bytes,32Bits,10Pines 00 000 000 000 000 000 000 001 000 000 000
  105   .pin13Sal EQUD &00000200 ;Val qponer en PosPines10a19,para pin13salida
  106  
  107   ;2---) ENCENDER PIN
  108   ;SELECTOR DE PINES ENCENDIDOS g+posOn0
  109   ;NOTA casi todos los  pines se sontrolan con PosOn0,32 pines
  110   .posOn0 EQUD &0000001C ;dir donde poner que pin se activa
  111  
  112   ;Activar linea bajo solo si necesitamos mas de 32 pines
  113   .posOn1 EQUD &00000020 ;dir donde poner que pin se activa
  114  
  115   ;SELECTOR DE PINES APAGADOS
  116   ;NOTA Casi Todos los pines se controlan con posOf0, 32 pines
  117   .posOf0 EQUD &00000028 ;dir donde poner que pin se activa
  118  
  119   ;Activar linea bajo solo si necesitamos mas de 32 pines
  120   .posOf1 EQUD &0000002C ;dir donde poner que pin se activa
  121  
  122  
  123   ;PINES A ENCENDER O APAGAR, VALORES A PONER EN DIRE DE ENCENDER O APAGAR
  124   ;4 Bytes 32 Bits 32 pines 0000 0000 0000 0000 0000 0000 0000 0100
  125   .pin2  EQUD &000000004 ;Valor qPones es pin a encender debe ser oreado
  126  
  127   ;4 Bytes 32 Bits 32 pines 0000 0000 0000 0000 0000 0100 0000 0000
  128   .pin10  EQUD &00000400 ;Valor qPones es pin a encender debe ser oreado
  129  
  130   ;4 Bytes 32 Bits 30 pones 0000 0000 0000 0000 0010 0000 0000 0000
  131   .pin13  EQUD &00004000 ;Valor qPones es pin a encender debe ser oreado
  132  
  133  
  134   ;DIRECION DE LECTURA ESTADO DE PINES GPLEV0
  135   .gplev0  EQUD &00000034 ;dir donde se encuentra estado de pines
  136  
  137   .tesp9 EQUD &00000200  ;para hacerle AND a lo que este en gplev0
  138   ;escogi pin 9bcm,es al inicio salida y esta pulldown o
  139   ;o se por defecto tiene 0 o Pin Para IRQ en gpren0
  140  
  141   ;DIRECION DE DETECCION DE EVENTO GPREN0
  142   .gpren0  EQUD &0000004C ;dir donde pin a detectar una subida a 1
  143  
  144   ;DIRECION DE DETECCION DE EVENTO GPREN0
  145   .gpfen0  EQUD &00000058 ;dir donde pin a detectar una bajada a 0
  146  
  147   ;DIRECION DE DETECCION DE EVENTO GHEN0
  148   .gphen0  EQUD &00000064 ;dir donde pin a detectar un 1
  149  
  150  
  151   ;DIRECION DE STATUS DE EVENTO GPEDS0, si ocurre una int aqui checas
  152   .gpeds0  EQUD &00000040 ;si tu deteccion ocurrio y debes borrarla al ocurrir
  153  
  154   .logM0 EQUD &00000000 ;log base BCM+base Regs+pos gpeds0; directo sin calc
  155  
  156   ;DIRECION ENABLE IRQ2, IRQ PARA PINES GPIO
  157   .EnIr2 EQUD &00000214
  158   .irq52 EQUD &00080000
  159  
  160   ;VARIABLES DE PROGRAMA
  161   .log  EQUD  &00000000
  162   .logI EQUD  &00000000
  163  
  164   .apag EQUD &00000000
  165  
  166  
  167   .DevicedelTimer EQUD &0
  168   .TiempodeChequeoPins EQUD 62500 ;1/8 DE SEGUNDO
  169  
  170   .Prende
  171   MOV R0,#1
  172   LDR R1,posOn0
  173  
  174   .Guarda
  175   STR R0,apag
  176  
  177   ;ACTIVA
  178   LDR R3, log
  179   LDR R2, pin10
  180  
  181   STR R2,[R3,R1]
  182  
  183   MOV PC, R14
  184  
  185   .Led
  186   LDR R0,apag
  187   CMP R0,#0
  188   BEQ Prende
  189  
  190   .Apaga
  191   MOV R0,#0
  192   LDR R1,posOf0
  193   BNE Guarda
  194  
  195  
  196   .iniGPIO
  197   LDR R0, g        ;RiscOS dame dir base de GPIO en  memoria logica
  198   MOV R1,R0
  199   MOV R0,#13
  200   MOV R2,#&100     ;256 bytes
  201  
  202   PUSH {R14}
  203   SWI &68
  204   POP {R14}
  205  
  206   LDR R1, g2
  207   PUSH {R3} ;preserva dir base para siguiente BCNM
  208   ORR R3, R3, R1
  209   STR R3, log      ;guarda en LOG
  210  
  211   LDR R1, posPines10a19 ;CONFIGURA SALIDA pin 10 y demas pines seran entradas
  212   LDR R2, pin10Sal
  213   STR R2,[R3,R1] ;Habilita Pin 10 como salida
  214  
  215   ;LDR R1, gpren0 ;Posicion donde poner que bit se Detectan en subida
  216   LDR R1, gpfen0 ;Posicion donde poner que bit se Detectan en bajada
  217   ;LDR R1, gphen0 ;Posicion donde poner que bit se Detecta al 1
  218   LDR R0, tesp9 ; detectar pin9
  219   STR R0,[R3,R1] ;Habilita Detectar Pin9 Cuando Sube a 1
  220  
  221   LDR R1,gpeds0 ;Desactiva evento si lo hubiera descomenta si se necesita
  222   ORR R3,R3,R1 ; es como  un add por el tipo de dir
  223   STR R3,logM0  ; guardalo completo para acelerar INT
  224  
  225   ;esta parte es necesaria si no se reinicio PI
  226   ;STR R0,[R3] ;Desactiva evento si lo hubiera descomenta si se necesita
  227  
  228   POP {R3} ;recupera direcion base
  229  
  230   LDR R1, g3     ;Calcula base de IrEn2
  231   ORR R3, R3, R1
  232   STR R3, logI   ;guarda en logI Base de Banco Que Habilita Interrupciones
  233  
  234   LDR R0, EnIr2 ; en R0, La Posicion Habilita Irq 52, todos los pines
  235  
  236   LDR R1, [R3,R0]  ;toma Ubicacion valor actual de Control IRQs
  237   LDR R2, irq52    ;pone la pos en R2
  238   ORR R1,R1,R2     ;Agregalo al Control
  239   STR R1,[R3,R0]   ;grabalo en el Control de Ints O sea habilita
  240  
  241   MOV PC,R14
  242  
  243  
  244   .irc EQUD &00000106
  245   .irr EQUD &00000006
  246   .irp EQUD &00000000
  247  
  248   .irq1
  249   STMFD SP!,{R0-R12,R14}
  250   LDR R3,logM0  ; le direccion de registro de eventos
  251   LDR R0,tesp9
  252   LDR R2,[R3]          ;lee registro de eventos
  253  
  254   AND R2, R2, R0       ;checa el pin que queremos
  255   CMP R2,R0
  256   BEQ MIO
  257   .fin
  258   LDMFD SP!,{R0-R12,R14}
  259   LDR PC, irp ;ve a la int original
  260  
  261   .MIO
  262   STR R0,[R3] ;quita evento que ocurrio
  263   BL Led
  264   B fin
  265  
  266   .initialise
  267  
  268   STMDB SP!,{R0-R12,R14}
  269  
  270   BL iniGPIO
  271  
  272   LDR  R0, irc
  273   ADR R1, irq1
  274   SWI &69
  275  
  276   STR R1, irp
  277  
  278  
  279   .SALIDA
  280   LDMFD  SP!, {R0 - R12, PC}
  281  
  282  
  283   .finalise
  284   STMFD  SP!, {R0 - R12, R14}
  285   LDR R0,irr
  286   ADR R2, irq1
  287   SWI &69
  288  
  289   LDR R0, irc
  290   LDR R1, irp
  291   SWI &69
  292   LDMFD  SP!, {R0 - R12, PC}
  293  
  294   ]
  295  
  296 NEXT pass%
  297
  298 :
  299
  300 OSCLI("Save INTMod "+STR$~code%+" +"+STR$~P%)
  301
  302 OSCLI("SetType INTMod FFA")
  303
  304 :
  305
  306 END
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
Saludos

Recuperar el visualizador Clasico y muy funcional de Windows

Ya sabemos que el visualidor de fotos de windows 10 es lento
y complejo, nos gustaba el anterior pues bien si quieres puede recuperarr este visualizador
solo debes crear un archivo de registro con contenga esto

--------------------------------------------------------------------
--------------------------------------------------------------------
Windows Registry Editor Version 5.00

;Descargado desde geekland.eu

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,\
  00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,\
  77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,\
  00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,\
  65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,36,00,00,\
  00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-70"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,\
  00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,\
  77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,\
  00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,\
  65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,35,00,00,\
  00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-72"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\
  69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,\
  00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,\
  72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72,\
  00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,\
  00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,\
  77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,\
  00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,\
  65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,35,00,00,\
  00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-72"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\
  69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,\
  00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,\
  72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72,\
  00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,\
  00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,\
  77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,\
  00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,\
  65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,37,00,00,\
  00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-83"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,\
  00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,\
  77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,\
  00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,\
  65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,37,00,00,\
  00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-71"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\DefaultIcon]
@="%SystemRoot%\\System32\\wmphoto.dll,-400"

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell]

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\
  69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,\
  00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,\
  72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72,\
  00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
  6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
  00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
  25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
  00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
  6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
  00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
  5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
  00,31,00,00,00

[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities]
"ApplicationDescription"="@%ProgramFiles%\\Windows Photo Viewer\\photoviewer.dll,-3069"
"ApplicationName"="@%ProgramFiles%\\Windows Photo Viewer\\photoviewer.dll,-3009"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]
".jpg"="PhotoViewer.FileAssoc.Jpeg"
".wdp"="PhotoViewer.FileAssoc.Wdp"
".jfif"="PhotoViewer.FileAssoc.JFIF"
".dib"="PhotoViewer.FileAssoc.Bitmap"
".png"="PhotoViewer.FileAssoc.Png"
".jxr"="PhotoViewer.FileAssoc.Wdp"
".bmp"="PhotoViewer.FileAssoc.Bitmap"
".jpe"="PhotoViewer.FileAssoc.Jpeg"
".jpeg"="PhotoViewer.FileAssoc.Jpeg"
".gif"="PhotoViewer.FileAssoc.Gif"
--------------------------------------------------------------------------
--------------------------------------------------------------------
lo aplicas y ya te da la opcion en menu de boton derecho cuando estas sobre una imagen
de VISTA PREVIA y puedes oficiliazarlo en abri con
ojala te sirva como ami

saludos
lo