Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#11431
A ver...

Después de tirarme horas leyendo documentación sobre Ruby, he llegado a una conclusion, Aunque no se si es posible...

"Unless" funciona como: "A menos que..."

Y yo busco un operador que funcione así:

"Hasta que..."


Vale perdón, no sabia la traducción al ingles xD


Me estoy haciendo un lio tremendo, alguien me ayuda a arreglar esto?:

until...


EDITO:

Ya lo he arreglado, Pero me he dado cuenta de que no me sirve para el propósito...

until file.readable?  comprueba exactamente el archivo, Pero va demasiado rápido y, osea, cuando lo comprueba, no hay datos escritos todavía en el archivo, está vacío
y por eso: puts File.zero? siempre es "true" , A menos que ponga un "sleep 1.0"  entre until y puts... y así le doy tiempo a que el comando de la CMD escriba los datos en el archivo...  

Nada, no me sirve, depende mucho de la velocidad de un PC.

Necesito alguna manera más práctica para recibir el código de salida, bueno, el "exitsatatus" de la instancia de la CMD lanzada con win32ole





De todas formas aqui dejo esto...

Código (ruby) [Seleccionar]
def Access(source_file, dest_file)
ENV['tmp'] = $archivo.split('\\').last.split('.').first
'cheat environment_variables --add'

$shell.ShellExecute('CMD', '/C Tasklist /v | Find "%tmp:~10%">c:/Windows/temp/moveitexitcode.txt', '', '', 0)

until File.exist?('c:\Windows\temp\moveitexitcode.txt').eql? true
end
puts File.zero?('c:\Windows\temp\moveitexitcode.txt')

 if File.zero?('c:\Windows\temp\moveitexitcode.txt').eql? false

    reintentar($archivo.encode('utf-8').gsub("\û", "-"), ARGV[0])
end

  if File.zero?('c:\Windows\temp\moveitexitcode.txt').eql? true
    FileUtils.mv $archivo.encode('utf-8').gsub("\û", "-"), ARGV[0]
 end


begin
File.delete('c:\Windows\temp\moveitexitcode.txt')
rescue Errno::EACCES
retry
end
end

#11432
Cita de: WaAYa HaCK en  4 Marzo 2012, 22:43 PM
te busco y me pongo a rezarte en medio de la calle xD

Será "ADORARME"  ::)

xDDDD

No he echo nada waaya, he recurrido a un programa de terceros..., Pero es que, Ni tu lo sacabas el script, así que he tenido que tirar de ese programa porque no hay manera a nadie le interesa hacerlo xD

Y tu me has ayudado muxo así que felicidades a ti tmb.

salu2!
#11433
Windows / Re: Formateo laptop y hal.dll
4 Marzo 2012, 20:38 PM
Cita de: CarLiLlooo en  4 Marzo 2012, 20:21 PM
No, eso no ocurre. Se queda atrancado en que no tengo el hal.dll

Has probado a bootear ese pen en otro pc para ver si funciona?
#11434
Ruby 1.9.3 portable auto-instalable para Windows        

by Elektro H@cker





No hay mucho más que decir :P, Se instala en "C:\Archivos de programa\" (Tanto en x64 como x86) y lleva un desinstalador.

Lleva algunas gemas:
Ocra
Colored

Y 2 o 3 que no recuerdo xD

Funciona todo igual que una instalacion normal de ruby:

En consola:
Código (dos) [Seleccionar]
gem install NOMBRE
Código (dos) [Seleccionar]
ruby script.rb
Código (dos) [Seleccionar]
Ocra script.rb
Código (dos) [Seleccionar]
irb
etc...

Además le he agregado un icono personalizado para los archivos .rb y .rbw, y una opción en el menú contextual, esta:

#11435
Bueno al final más o menos lo he conseguido...

No me gusta mucho pero támpoco me disgusta


1º - Bajamos el programa "File & Image uploader" (Crackeado)   (Yo tenia una licencia compada de hace años xD)

2º - creamos un perfil ene l programa eligiendo solamente mediafire para usarlo como host de subida predeterminado:



3º - Instalamos este archivo de registro que he hecho:

PD: Editar la ruta del icono xD

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Mediafire]
@="Subir a Mediafire"
"icon"="C:\\Windows\\Media\\iconos\\Mediafire.ico"
"position"="bottom"

[HKEY_CLASSES_ROOT\*\shell\Mediafire\command]
@="\"C:\\Program Files\\File and Image Uploader\\FileUploader.exe\" \"%1\""



Y tachán!





PD: el icono




un saludo!!
#11436
Hola amigos

A ver, se abrir una instancia de la CMD de 3 maneras y se recibir el código de salida

Código (ruby) [Seleccionar]
puts %x[Tasklist /v | Find "%tmp:~0,30%" >NUL]
response = $?.exitstatus


Eso me funciona.

Pero ahora necesito abrir la consola en modo oculto (Y solo se hacerlo con el modulo Win32ole), y entonces el exitstatus me manda error , no se porque:(:

Código (ruby) [Seleccionar]
require 'win32ole'
shell = WIN32OLE.new('Shell.Application')

shell.ShellExecute('CMD', '/K Tasklist /v | Find "%tmp:~0,30%" >NUL', '', '', 0)
response = $?.exitstatus
if response == 0
 puts "hola"
 end


undefined method `exitstatus' for nil:NilClass (NoMethodError)


EDITO: Esto tampoco me funciona:

Código (ruby) [Seleccionar]
require 'win32ole'
$shell = WIN32OLE.new('Shell.Application')
$shell.ShellExecute('CMD', '/c echo aaaa & pause', '', '', 1)
$!.is_a?(win32ole)
puts $!.exited?


`is_a?': class or module required (TypeError)

EDITO2: esto támpoco xD

Código (ruby) [Seleccionar]
require 'win32ole'
$shell = WIN32OLE.new('Shell.Application')
output = $shell.ShellExecute('CMD', '/c echo aaaa & echo %errorlevel%', '', '', 1)
p output


(El caso es que con "system" si funciona  :-( )
#11437
MoveIt     By Elektro H@cker

SO: Windows

Agradecimientos para "kicasta" y "RyogiShiki".


Descripción:
Mueve archivos desde un punto de origen hasta un punto de destino.
Está pensado para usarlo como complemento del "SendTo" de Windows, El cual no mueve archivos de un disco duro a otro.



Instrucciones:

1º Crear un acceso directo a una carpeta.





2º Abrir las propiedades del aceso directo.




3º Añadir la ruta de este script a la propiedad "Destino".



Ejemplo destino:                                       Ruby C:\Windows\MoveIt.rb "C:\Nueva carpeta"
Ejemplo destino (Script compilado a .exe): C:\Windows\System32\MoveIt.exe "C:\Nueva carpeta"


4º (Opcional) Guardar el acceso directo modificado en la carpeta "SendTo" (C:\Users\USUARIO\AppData\Roaming\Microsoft\Windows\SendTo)







NOTAS:

Este script requiere el uso de argumentos. (Uno para la ruta de destino y el otro para el/los archivo(s) a mover.)

Si la carpeta de destino no existe, se pregunta para crearla o no. (Si no se crea, no se pueden copiar los archivos y se cancelará el programa xD)



Si el archivo de destino ya existe, Se pregunta por su reemplazamiento.



Si el archivo está siendo usado por el sistema, Se da lugar a reintentar o cancelar la operación.



Si el archivo de origen contiene el caracter ilegal "–" (u2013) se reemplaza por el caracter "-"

En equipos de 64 Bit,Hay que copiar el compilado (.exe) tanto a la carpeta "System32" como "SysWOW64" Si se quiere usar la propiedad "Destino" de la siguiente forma en el acceso directo:





El script compilado (No muestra la consola):

EDITADO: 07/03/2012

http://www.mediafire.com/?clyzd39xxlxzn0d



El script:

EDITADO: 07/03/2012


Código (RUBY) [Seleccionar]
# -*- coding: UTF-8 -*-


# MoveIt   v1.0  By Elektro H@cker
#
# SO: Windows
# Agradecimientos para "kicasta" y "RyogiShiki".


# Descripción:
# Mueve archivos desde un punto de origen hasta un punto de destino.
# Está pensado para usarlo como complemento del "SendTo" de Windows, El cual no mueve archivos de un disco duro a otro.


# Modo de empleo:
#
# 1º Crear un acceso directo a una carpeta.
# 2º Abrir las propiedades del aceso directo.
# 3º Añadir la ruta de este script a la propiedad "Destino".
#
# Ejemplo destino: Ruby C:\\MoveIt.rb "E:\Nueva carpeta"
# Ejemplo destino (Script compilado a .exe): C:\MoveIt.exe "E:\Nueva carpeta"
#
# 4º (Opcional) Guardar el acceso directo modificado en la carpeta "SendTo" (C:\Users\USUARIO\AppData\Roaming\Microsoft\Windows\SendTo)
#


# Notas:
#
# Este script requiere el uso de argumentos. (Uno para la ruta de destino y el otro para el/los archivo(s) a mover.)
#
# Si la carpeta de destino no existe, se pregunta para crearla o no. (Si no se crea, no se pueden copiar los archivos xD)
# Si el archivo de destino ya existe, Se pregunta por su reemplazamiento.
# Si el archivo está siendo usado por algún proceso abierto, Se da lugar a reintentar o cancelar la operación.
#
# En equipos de 64 Bit,Hay que copiar el compilado (.exe) tanto a la carpeta "System32" como "SysWOW64" Si se quiere usar la propiedad "Destino" de la siguiente forma en el acceso directo:
# MoveIt "C:\Nueva carpeta"


# RECORDATORIO
#
# Caracteres ilegales
#
# á : .gsub("ß", "á")
# é : .gsub("Ú", "é")
#  í : .gsub("Ý", "í")
# ó : .gsub("¾", "ó")
# ú : .gsub("·", "ú")
# ¿ : .gsub("┐", "\u00BF")
# – : .gsub("\û", "\u2013")
#  ´ : .gsub("\┤", "\u00B4")
#  · : .gsub("\À", "\u00B7")
# ¬ : .gsub("\¼", "\u00AC")
#  º : .gsub("\║", "\u00BA")
#  ª : .gsub("\¬", "\u00AA")
#
#  ¡  : FAIL    :(
#   ' : FAIL    :(
#
# Convertir Handle a Hex
# puts 1272.to_s 16
# 0x + HandleHEX



# Modulos

require 'dl'
require "FileUtils"
require 'win32ole'
require 'win32/api'
include Win32

exit if Object.const_defined?(:Ocra)



# Variables globales y constantes

if ARGV.empty? == false
$DIR = (ARGV[0].encode('utf-8').gsub("ß", "á").gsub("Ú", "é").gsub("Ý", "í").gsub("¾", "ó").gsub("·", "ú").gsub("┐", "\u00BF").gsub("\û", "\u2013").gsub("┤", "\u00B4").gsub("\À", "\u00B7").gsub("\¬", "\u00AA").gsub("\¼", "\u00AC").gsub("\║", "\u00BA"))
$DIRMSG = (ARGV[0].encode('utf-8').gsub("\û", "-").gsub("ß", "a").gsub("Ú", "e").gsub("Ý", "i").gsub("¾", "o").gsub("·", "u").gsub("┐", "?"))
end

EnumWindows = API.new('EnumWindows', 'KP', 'L', 'user32')
GetWindowText = API.new('GetWindowText', 'LPI', 'I', 'user32')

KILOBYTE = 1024.0
MEGABYTE = 1024.0 * 1024.0

BUTTONS_OKCANCEL = 1
BUTTONS_YESNO = 4
CLICKED_CANCEL = 2
CLICKED_YES = 6
CLICKED_NO = 7



# Metodos

def help()
 print "\nSe requiere al menos 1 archivo de origen.\n\n\n"
 print "Modo de empleo: \n\n"
 print ' MoveIt.rb [Destino] [Archivo de origen 1] [Archivo de origen 2] [etc...]' + "\n\n\n"
 print ' Ejemplo: (Mover tres archivos al directorio de destino "C:"' + "\n\n"
 print ' MoveIt.rb "C:\" "D:\Archivo1.txt" "E:\Archivo2.jpg" "F:\Archivo3.mp3"' + "\n\n"
 Process.exit
end

def bytesToUnit size1, size2
 $Kilos1 = (size1 /  KILOBYTE).to_s
 $Megas1 = (size1 /  MEGABYTE).to_s
 $Kilos2 = (size2 /  KILOBYTE).to_s
 $Megas2 = (size2 /  MEGABYTE).to_s

 if ($Megas1[0]).eql? '0' or $Megas1["-"]
    if ($Kilos1[0]).eql? '0'
      $finalsize1 = size1.to_s + ' Bytes'
     elsif
       $finalsize1 = $Kilos1.split('.').first + "." + $Kilos1.split('.').last[0,1] + " Kb"
   end
 else
     $finalsize1 = $Megas1.split('.').first + "." + $Megas1.split('.').last[0,1] + " Mb"
  end # size1

 if ($Megas2[0]).eql? '0' or $Megas2["-"]
    if ($Kilos2[0]).eql? '0'
      $finalsize2 = size2.to_s + ' Bytes'
     elsif
       $finalsize2 = $Kilos2.split('.').first + "." + $Kilos2.split('.').last[0,1] + " Kb"
   end
 else
     $finalsize2 = $Megas2.split('.').first + "." + $Megas2.split('.').last[0,1] + " Mb"
 end # size2
end

def date (file1, file2)
 $CDate1 = (File.ctime(file1)).to_s
 $CDate2 = (File.ctime(file2)).to_s
 $MDate1 = (File.mtime(file1)).to_s
 $MDate2 = (File.mtime(file2)).to_s
end

def message_box(txt, title='', buttons='')
 user32 = DL.dlopen('user32')
 msgbox = DL::CFunc.new(user32['MessageBoxA'], DL::TYPE_LONG, 'MessageBox')
 r, rs = msgbox.call([0, txt, title, 3].pack('L!ppL!').unpack('L!*'))
 return r
end

def reintentar(source_file, dest_file)

 $seguro = 'si'
 
 if $proceso == nil
   $proceso = 'DESCONOCIDO'
 end # if

 response = message_box("\n" +
   "El proceso '" + $proceso + "' Tiene abierto el archivo: \n\n" + $archivo  + "\n\n\n" +
   "Reintentar?",
   "Reintentar?",
   BUTTONS_OKCANCEL)
   if response == CLICKED_YES
  Access($archivoUTF8, $DIR)
   elsif response == CLICKED_NO
     $no = "si"
     nil
   elsif response == CLICKED_CANCEL
     exit
   end # response

end

def moverlo()
 @EnumWindowsProc = API::Callback.new('LP', 'I'){ |handle, param|
  buf = "\0" * 200
  GetWindowText.call(handle, buf, 200);

 if (!buf.index(param).nil?)
   $seguro = 'no'
   0
 else
   $seguro = 'si'
   1
 end # if
}
EnumWindows.call(@EnumWindowsProc, $archivo.split('\\').last[0..-6])
 if $seguro == 'si'
   FileUtils.mv $archivoUTF8, $DIR
 elsif
   reintentar($archivoUTF8, $DIR)
 end # seguro
end


def Access(source_file, dest_file)
begin
 wmi = WIN32OLE.connect("winmgmts://")
 processes = wmi.ExecQuery("select * from win32_process")

 for process in processes do
   caption = (process.Commandline).to_s
     if not caption['ruby'] and not caption['MoveIt.exe']
       if caption.include? $archivo.split('\\').last[0..-6]
          $proceso = process.Name
           reintentar($archivoUTF8, $DIR)
       end # caption.include?
     end # if not ruby
     $proceso = nil
   end # for
 if not $no == "si"
   moverlo()
 end # no
 rescue
   if File.exist?($archivoUTF8) == true
     reintentar($archivoUTF8, $DIR)
 end  # rescue
end # begin
end



# Control de errores

if ARGV.empty? == true
 help()
elsif ARGV.length < 2
 help()
elsif File.directory?($DIR) == false
 print "\n El directorio de destino no existe: " + $DIR + "\n"
   response = message_box("\n" +
     "El directorio de destino no existe: "  + "\n\n" +  $DIRMSG + "\n\n\n" +
     "Crear el directorio?",
     "Crear el directorio?",
     BUTTONS_YESNO)
   if response == CLICKED_YES
     Dir.mkdir $DIR
   elsif response == CLICKED_NO
     abort
   elsif response == CLICKED_CANCEL
     exit
   end # response
end



# Proceso

for $archivo in ARGV[1..ARGV.length].each
$archivoUTF8 = ($archivo.encode('utf-8').gsub("ß", "á").gsub("Ú", "é").gsub("Ý", "í").gsub("¾", "ó").gsub("·", "ú").gsub("┐", "\u00BF").gsub("\û", "\u2013").gsub("┤", "\u00B4").gsub("\À", "\u00B7").gsub("\¬", "\u00AA").gsub("\¼", "\u00AC").gsub("\║", "\u00BA"))
 
   if File.exist?($archivoUTF8) == false
     print "\n El archivo a mover no existe: " + $archivoUTF8 + "\n"
   end # File not exist

   if File.exist?($DIR + "\\" + $archivoUTF8.split('\\').last)
     bytesToUnit(File.size($archivoUTF8), File.size($DIR + "\\" + $archivoUTF8.split('\\').last))
     date($archivoUTF8, $DIR + "\\" + $archivoUTF8.split('\\').last)
     response = message_box(
       " Origen             :  " + $archivo.split($archivo.split('\\').last).first + "\n" +
       " Archivo           :  " +  $archivo.split('\\').last + "\n" +
       " Tamano          :   " + $finalsize1 + "\n" +
       " Creacion         :   " + $CDate1.split('+').first + "\n" +
       " Modificacion :   " + $MDate1.split('+').first + " \n\n\n" +
       " Destino           :  " + $DIRMSG.split($archivo.split('\\').last).first + "\n" +
       " Archivo           :  " +  $archivo.split('\\').last + "\n" +
       " Tamano          :   " + $finalsize2 + "\n" +
       " Creacion         :   " + $CDate2.split('+').first + "\n" +
       " Modificacion :   " + $MDate2.split('+').first + " \n\n\n" +
       " El archivo de destino ya existe. Reemplazar archivo?",
       " Reemplazar archivo?",
       BUTTONS_YESNO)
     if response == CLICKED_YES
       Access($archivoUTF8, $DIR)
     elsif response == CLICKED_NO
       nil
     elsif response == CLICKED_CANCEL
       exit
     end # response
   else
     Access($archivoUTF8, $DIR)
   end # File exist
end # for



# Fin
exit
#11438
SCRIPT ACTUALIZADO EL 04/03/2012!!
VERSIÓN 3.4!!


CAMBIOS:

v3.4

- Elimina WinSXS\Backup
- Elimina WinSXS\ManifestCache

- Pequeños cambios menores:
  Actualizada versión de CCleaner (3.16.1666)
  Actualizada la versión de Wevtutil a la de Windows 7 x64 SP1


v3.3

- Elimina claves temporales de Microsoft Tracing.

- Pequeños cambios menores:
  Actualizada versión de CCleaner (3.15.1643)
  Mejorada la forma de tomar los privilegios en el primer uso del programa.


v3.2

- Elimina archivos temporales de PUTTY

- Elimina fondos de pantalla de escritorio agregados manualmente desde firefox.

- Corregido un error al detectar el ServicePack 1

- Pequeños cambios menores:
  Corregida una errata de texto en el limpiador de VirtualBox


PD: Las versiones 3.2 y 3.3 no las publiqué porque habian pocos cambios xD
#11439
Puedes aumentar la ganancia con muchos programas, Pero te recomiendo MP3Gain porque utiliza un método NO destructivo para realizar la ganancia. (Se escribe la información necesaria en el TAG APE del archivo)

Si lo haces con otro programa, Te cambiará el tono y un poco los graves serán menos graves, la diferencia se nota la verdad...

PD: Yo no te recomiendo que uses el valor 100 db, Así se crean picos muy, muy altos, dando lugar a distorsiones en el archivo. Te recomiendo que uses un valor de 94 - 95 db

EDITO: Solo funciona con archivos mp3

Ah, Y no uses el MP3GainX , No es lo mismo.


#11440
más tips ^^

FUENTE: http://www.addictivetips.com/




Desactivar superfecth en windows 8


Abrimos el administrador de tareas y paramos el servicio "sysmain"
(c:\windows\system32\taskmgr.exe)



Ahora abrimos el "services.msc" y ponemos en "deshabilitado" el servicio superfecth.
(c:\windows\system32\services.msc)






Bypass Windows 8 SmartScreen Filter

Descarga e instala cualquier aplicación de internet, Cuando intentes ejecutarla saldrá este aviso:



Clickamos en el botón "more info", y aparecerá un nuevo botón "Run anyway", cliclamos en el botón "Run anyway" ya no nos volverá a pedir confirmación para esa aplicación.






Desactivar totalmente Windows 8 SmartScreen Filter

Abrimos el "action center" en el panel de control, y seleccionamos la opción "Change SmartScreen Settings"



Seleccionamos la opción "Turn off windows smartscreen"







Restaurar el menú de inicio en Windows 8 usando ViStart





http://www.lee-soft.com/vistart/