Random nombre de archivo AYUUUDA :(

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
iamchavo
Hacker del Foro
Mensajes: 134
Registrado: 26 Mar 2009, 22:46

Random nombre de archivo AYUUUDA :(

Mensaje por iamchavo »

hola me gustaria que alguien me ayude y me diga como puedo crear un scrip que saque una foto a la pantalla y la guarde en mis documentos (por ejemplo) con un nombre de tipo ( sdmsadmadw ..ejemplo) porfavor
porque me habian pasado uno y no se donde fue a parar :(
muchas gracias :D
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Random nombre de archivo AYUUUDA :(

Mensaje por Jonny »

Hola

¿Tiene que ser una foto aleatoria?
o lo que tiene que ser aleatorio es el nombre del archivo?...

Explica mejor lo que quieres hacer, porque no lo entiendo mucho.
Si tienes la foto guardada en el pc ¿Para que quieres guardarla nuevamente?
lo de "sdmsadmadw" debería generarse aleatoriamente?

Salu2!
Avatar de Usuario
timistar
Hacker del Foro
Mensajes: 89
Registrado: 24 Jun 2008, 05:03

Re: Random nombre de archivo AYUUUDA :(

Mensaje por timistar »

estaba yo por lo mismo que saque la foto de donde ?
podrias hacer que guarde el archivo con un numero por ejemplo la hora en que se abrio o algo asi ara que te guarde el nombre con puros numero

de todos modos el detalel esta dedondel tomalainfo que va a guardar
:smt040
Avatar de Usuario
Nahuel
Hacker del Foro
Mensajes: 194
Registrado: 27 Jun 2007, 23:32
Ubicación: Argentina
Contactar:

Re: Random nombre de archivo AYUUUDA :(

Mensaje por Nahuel »

Te paso una pequeña aplicación que hice para capturar la pantalla en forma más personalizada y rápida.

Código: Seleccionar todo

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=D:\Scripts\Iconos\88-iconos-varios\IMAGE2.ICO
#AutoIt3Wrapper_outfile=cap_nahuel.exe
#AutoIt3Wrapper_Res_Comment=Captura la pantalla
#AutoIt3Wrapper_Res_Description=Captura la pantalla
#AutoIt3Wrapper_Res_LegalCopyright=Nahuel José
#AutoIt3Wrapper_Res_Language=11274
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <ScreenCapture.au3>
#include <Misc.au3>


;Directorio de salida
$DirectorioSalida=@DesktopDir

Opt("GUIOnEventMode",1)
;==VENTANA==========================================================================================
$MainGui = GUICreate("Capturar pantalla", 191, 226,-1,-1, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
		GUISetOnEvent($GUI_EVENT_CLOSE,"_salir")
$RadioFSC = GUICtrlCreateRadio("Pantalla completa", 28, 28, 113, 17)
		GUICtrlSetState(-1,$GUI_CHECKED)
$RadioVA = GUICtrlCreateRadio("Ventana activa", 28, 60, 113, 17)
$RadioAREA = GUICtrlCreateRadio("Area definida por usuario", 28, 92, 153, 17)
$ButtCapturar = GUICtrlCreateButton("&Capturar", 62, 188, 75, 25, $BS_DEFPUSHBUTTON)
		GUICtrlSetOnEvent(-1,"_Capturar")
$CheckCursor= GUICtrlCreateCheckbox("Capturar cursor", 28, 144, 97, 17)
		GUICtrlSetState(-1,$GUI_CHECKED)
GUICtrlCreateGroup("", 4, 8, 181, 121)
GUISetState(@SW_SHOW)
;===================================================================================================

While 1
	Sleep(1000)
WEnd

Func _salir()
	Exit
EndFunc

Func _Capturar()
	;Esconder la ventana pa no capturarla
	GUISetState(@SW_HIDE)
	Sleep(500);Dar tiempo al sistema a actualizar la pantalla
	Select
		Case GUICtrlRead($RadioFSC)=$GUI_CHECKED
			;Crear ruta para guardar el archivo.
			$i=0
			Do
				$i+=1
			Until Not FileExists($DirectorioSalida & "\Captura_" & $i & ".jpg")
			$Cursor=False;no capturar el cursor
			If GUICtrlRead($CheckCursor) = $GUI_CHECKED Then $Cursor=True;Capturar el cursor si se lo especificó
			;Captuarar la pantalla completa
			_ScreenCapture_Capture($DirectorioSalida & "\Captura_" & $i & ".jpg",0,0,-1,-1,$Cursor)
		Case GUICtrlRead($RadioAREA)=$GUI_CHECKED
			$Area=_ObtenerArea()
			;Crear ruta para guardar el archivo.
			$i=0
			Do
				$i+=1
			Until Not FileExists($DirectorioSalida & "\Captura_" & $i & ".jpg")
			$Cursor=False;no capturar el cursor
			If GUICtrlRead($CheckCursor) = $GUI_CHECKED Then $Cursor=True;Capturar el cursor si se lo especificó

			_ScreenCapture_Capture($DirectorioSalida & "\Captura_" & $i & ".jpg",$Area[0],$Area[1],$Area[2],$Area[3],$Cursor)	
		Case GUICtrlRead($RadioVA)=$GUI_CHECKED
			$hwndactiva=WinGetHandle("")
			$i=0
			Do
				$i+=1
			Until Not FileExists($DirectorioSalida & "\Captura_" & $i & ".jpg")
			$Cursor=False;no capturar el cursor
			If GUICtrlRead($CheckCursor) = $GUI_CHECKED Then $Cursor=True;Capturar el cursor si se lo especificó
			_ScreenCapture_CaptureWnd($DirectorioSalida & "\Captura_" & $i & ".jpg",$hwndactiva,0,0,-1,-1,$Cursor)
	EndSelect
	GUISetState(@SW_SHOW)
	MsgBox(64,"Pantalla capturada","Archivo guardado en: " & @CR & $DirectorioSalida & "\Captura_" & $i & ".jpg",-1,$MainGui)
EndFunc

Func _ObtenerArea()
	$user32dll=DllOpen("user32.dll")
	$child=	GUICreate("area_seleccion",400,400,-1,-1,BitOR($WS_POPUP, $WS_SIZEBOX),$WS_EX_TOPMOST,$MainGui)
	GUICtrlCreateLabel("Arrastre y redimensione el rectángulo para seleccionar el área" & @CRLF & "Presione ENTER para capturar",0,0,400,400,$SS_CENTER,$GUI_WS_EX_PARENTDRAG)
	GUICtrlSetFont(-1,15)
	GUICtrlSetCursor(-1,9)
	GUICtrlSetColor(-1,0xffffff)
	GUISetBkColor(0x014CBD)
	WinSetTrans($child,"",50)
	GUISetState()
	
	Do
		Sleep(50)
	Until _IsPressed("0D",$user32dll)
	
	DllClose($user32dll)
	
	$Area= WinGetPos($child)
	$Area[2]=$Area[0]+$Area[2]
	$Area[3]=$Area[1]+$Area[3]
	
	GUIDelete()

	Return $Area
EndFunc
No soy un hombre de plegarias, pero si estás en el cielo sálvame por favor Superman!
Responder