Autor
|
Tema: no sobrescribir imagen (Leído 2,793 veces)
|
soru13
Desconectado
Mensajes: 246
|
tengo un problema en mi programa, lo que hace es capturar la pantalla y guardar la imagen, pero si esta ya existe la sobrescribe y no quiero que haga eso, si por ejemplo existe ya uno que se llama captura1 pues que haga otra nueva k sea captura2 asi sucesivamente Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer 'Api para generar un evento de tecla Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Const KEYEVENTF_KEYUP = 2 'Api para generar una pausa Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
------------------------
Private Sub copiar_Y_Guardar() On Local Error Resume Next 'Variable para la imagen Dim imagen As IPictureDisp keybd_event 44, 0, 0, 0 'mediante Keyevent accionamos la tecla Alt+Printscreen Set imagen = Clipboard.GetData DoEvents 'Guardamos la imagen en el directorio especificado SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura1.bmp" 'eliminamos la imagen de la memoria Set imagen = Nothing End Sub
|
|
|
En línea
|
|
|
|
whiskises
Desconectado
Mensajes: 103
|
le pones un contador n , y luego SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura" & n & ".bmp" n=n+1
|
|
|
En línea
|
|
|
|
soru13
Desconectado
Mensajes: 246
|
un contador??? como hago eso?
e puesto el codigo que me diste pero no va, me lo guarda como captura.bmp pero luego sigue sobrescribiendolo
|
|
« Última modificación: 26 Agosto 2006, 23:06 pm por soru13 »
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Dim COntador as integer contador=contador+1 SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura" & contador & ".bmp"
hai tienes tu codigo
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
soru13
Desconectado
Mensajes: 246
|
no me funciona
|
|
« Última modificación: 26 Agosto 2006, 23:41 pm por soru13 »
|
En línea
|
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
e puesto el codigo que me diste pero no va No tenes que copiar y pegar. Adaptalo a tu programa. Lo que podes hacer es que una variable vaya aumentando cada vez que guardas la imagen. Entonces siempre va a haber un nº distinto. Acordate de que la variable se tiene que mantener, asique usa una variable estatica o declarada en la parte de declaraciones. Algo asi: Static i as Integer i = i + 1 SavePicture img, "X:\Foto" & i & ".bmp"
Saludos.-
|
|
|
En línea
|
|
|
|
Hans el Topo
Desconectado
Mensajes: 1.754
"Estoy cansado de no hacer nada"
|
guardala por fecha... asi te ahorraras luego problemas cuando te envien capturas de otros sitios...
en vez de poner la variable guardas la fecha sin ningun caracter especial y listo
|
|
|
En línea
|
|
|
|
soru13
Desconectado
Mensajes: 246
|
bueno, use este codigo y si que funciona Dim NumeroArchivo As Integer Dim Archivo As String Dim blnExiste As Boolean
While blnExiste <> True Archivo = Dir("c:\documents and settings\All users\Escritorio\captura" & NumeroArchivo & ".bmp") If Archivo = "" Then blnExiste = True Else NumeroArchivo = NumeroArchivo + 1 End If Wend SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura" & NumeroArchivo & ".bmp"
|
|
|
En línea
|
|
|
|
|
|