Degeim Skrevet 14. august 2005 Del Skrevet 14. august 2005 Hvordan kan man ta et skjermskudd (screenshot) i VB? Jeg har lett på planetsourcecode, freevbcode og vbaccelerator, men alle jeg fant er enten ute av stand til å gjøre annet enn å henge seg opp, eller så utnytter de bare print screen-knappen, slik at andre program (frks PrinstScreen 2000) som er koblet til denne blir aktivert i stedet. Det jeg tregnger er enkelt (?) og greit et program som på kommando legger et skjermskudd i en picture/image-boks. Takk Lenke til kommentar
aadnk Skrevet 14. august 2005 Del Skrevet 14. august 2005 Det enkleste er nok å benytte BitBlt således: ' Nødvendige API-kallPrivate Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Public Sub Screenshot(PictureBox As PictureBox) ' Dersom disse egenskapene ikke kobles inn, fører det til at ' skjermskuddet aldri blir større enn bildeboksen. PictureBox.AutoRedraw = True PictureBox.Width = PictureBox.Parent.ScaleX(Screen.Width, vbTwips) PictureBox.Height = PictureBox.Parent.ScaleY(Screen.Width, vbTwips) ' Ta skjermskuddet BitBlt PictureBox.hDC, 0, 0, Screen.Width / Screen.TwipsPerPixelX, _ Screen.Height / Screen.TwipsPerPixelY, GetDC(GetDesktopWindow), 0, _ 0, vbSrcCopy End Sub Dersom du legger ovennevte kode inn i en modul/form, er alt du behøver å kalle for å ta et skjermskudd følgende: ' Ta et skjermskuddScreenshot picScreenshot For å lagre skjermskuddet til en BMP-fil, gjøres dette: ' Lagre bildeboksens skjermskudd til en BMP-filSavePicture picScreenshot.Image, "C:\Test.bmp" Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå