Code-Makers ha revivido. It's alive! Bienvenidos! Presentate aca!

ScriptShot - Captura pantalla ajustable VBScript + HTA

Avatar de Usuario
JohnConnor
Nos vamos conociendo
Nos vamos conociendo
Mensajes: 89
Registrado: Mar Ene 05, 2016 12:59 am
Ubicación: Argentina
Contactar:

ScriptShot - Captura pantalla ajustable VBScript + HTA

Mensajepor JohnConnor » Mié Mar 23, 2016 10:09 pm

Hola, tenia a medio hacer un hta para hacer capturas de pantalla de tamaño personalizado, después de recortar la imagen esta se sube por FTP a un servidor y te copia la dirección al porta papeles.

Antes usaba ftp:// para subir archivos pero ahora no me funciona y no se por que, así que uso ftp.exe y un log.
La parte que captura la pantalla en realidad es un exe de VB6 que solo captura de acuerdo a los parámetros que recibe del script. (hacerlo de forma nativa lo hacia suuuuper lento)

[video]

Ejemplos de las capturas:
Imagen
Imagen
Imagen

La url

Código: Seleccionar todo

http://scriptshot.hol.es/23-03-2016_070245_ss.pm.png
se copia automaticamente al portapapeles.


Yo me puse un acceso directo en la barra de tareas y queda cómodo.

Código: Seleccionar todo

<Title>ScriptShot</Title>
<HTA:APPLICATION
ID = "ScriptShotID"
APPLICATIONNAME="Script Shot"
BORDER = "None"
CAPTION = "No"
RESIZE = "no"
ICON = "icono.ico"
SHOWINTASKBAR = "no"
SINGLEINSTANCE = "Yes"
SYSMENU = "No"
WINDOWSTATE = "Normal"
SCROLL = "no"
SCROLLFLAT = "no"
VERSION = "1.0"
INNERBORDER = "no"
SELECTION = "no"
MAXIMIZEBUTTON = "no"
MINIMIZEBUTTON = "no"
NAVIGABLE = "no"
CONTEXTMENU = "no"
BORDERSTYLE = "none"></HTA>
<html><head></head><body bgcolor="red" id="cuerpo" topmargin="0" leftmargin="0" Style="cursor:crosshair;"><DIV width="100%" height="100%" ID="pantalla" name="pantalla" style="position: absolute; top: 0; left: 0;z-index: -2;"><img id="pantallazo" src=""></div>
<div id="coor" style="position: absolute, z-index: 99;"></div><div id="recorte" style="Display: none; position: absolute; z-index: 9999; background-color:gray; width: 0; height: 0; filter: alpha(opacity=50);"></div>
<input type="hidden" id="estado" value="primario">
<input type="hidden" id="Nombre" value="">

</body></html>
<script language="vbscript">
Sub Window_OnLoad
Self.Resizeto 0,0
Nombre.value = Replace(Date,"/","-") & "_" & Replace(Time,":",".")
Captura_Inicial
End Sub

Sub Captura_Inicial
Primero = Screen.Width
Segundo = Screen.Height
Tercero ="0"
Cuarto = "0"
TNombre = "imgtemp"
TFormato = "bmp"
CreateObject("WScript.Shell").Run "ScriptShot.exe " & Primero & " " & Segundo & " " & Tercero & " " & Cuarto & " " & TNombre & " " & TFormato & " ",0, True
Acomoda = Window.SetTimeOut("Acomodar",1000)
End Sub

Sub Acomodar

pantallazo.src = "imgtemp_ss.bmp"
Self.ResizeTo Screen.Width,Screen.Height
Self.MoveTo 0,0
End Sub

Sub Capturar(Primero,Segundo,Tercero,Cuarto,Quinto,Sexto)
CreateObject("WScript.Shell").Run "ScriptShot.exe " & Primero & " " & Segundo & " " & Tercero & " " & Cuarto & " " & Quinto & " " & Sexto,0 ,True
End Sub

Sub Document_OnMouseMove
On Error Resume Next
X = window.event.offsetX
Y = Window.Event.offSetY
If X < 1 Then : X = 1 : End if
If Y < 1 Then : Y = 1 : End If
coor.innerhtml = "Eje X: " & X & " / Eje Y: " &Y
If estado.value = "primario" then
recorte.style.top = Y
recorte.style.left = X
recorte.style.display = "inline"
End If

If estado.value = "secundario" then
recorte.style.width = X - replace(recorte.style.left,"px","") - 1
recorte.style.height = Y - replace(recorte.style.top,"px","") - 1
End if
End Sub

Sub Document_OnClick()
If estado.value = "primario" then
estado.value = "secundario"
cuerpo.style.cursor = "se-resize"
Exit Sub
End If

If estado.value = "secundario" then
IzquierdaRecorte = Replace(recorte.style.Left,"px","")
AlturaRecorte = Replace(recorte.style.top,"px","")
AnchoRecorte = Replace(recorte.style.width,"px","")
LargoRecorte = Replace(recorte.style.height,"px","")
Formato = ".png"
INombre = Nombre.Value
Self.ResizeTo 0,0
NombreLimpio = Replace(INombre,".","")
NombreFinal = NombreLimpio + ".png"
Call Capturar(AnchoRecorte,LargoRecorte,IzquierdaRecorte,AlturaRecorte,NombreFinal,Formato)
Cierra = Window.SetTimeOut("Self.Close",1000)
End If
With CreateObject("Scripting.FileSystemObject").CreateTextFile("ftplog.txt", True)
.WriteLine "open ftp.scriptshot.hol.es"
.WriteLine "USER u927249058.invitado"
.WriteLine "cjykcape"
.WriteLine "PUT " & Replace(NombreFinal," ","_ss.")
.WriteLine "quit"
.Close
End With
CreateObject("WScript.Shell").Run "ftp -n -s:ftplog.txt", 0, True
Set oHTML = CreateObject("InternetExplorer.Application")
oHTML.Navigate ("about:blank")
oHTML.Document.ParentWindow.ClipboardData.SetData "Text", "http://scriptshot.hol.es/" & Replace(NombreFinal," ","_ss.")
End Sub

</Script>


NOTA: ya se que esta la contraseña del usuario ftp pero es para que lo prueben no sean malditos eh!


La pucha siempre me olvido algo... el ScriptShot.exe (sin el no funciona)
https://mega.nz/#!tRAQhYoB!VUpwiPQz32Oy ... EeWG5F2gO4
Saludos!


Imagen

EL QUE NO DICE LA VERDAD, ES PORQUE ESTA MINTIENDO

Volver a “Otros”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado