Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer ' muuta sälää tässä Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If GetAsyncKeyState(Keys.F1) Then Dim ssize As Size = New Size(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim sgrab As New Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) Dim asdf As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(sgrab) asdf.CopyFromScreen(New Point(0, 0), New Point(0, 0), ssize) sgrab.Save(TextBox1.Text) End If End Sub End Class
Painan F1:htä mutta mitään ei tapahdu.
Missä ongelma?
Mikäs käyttis sulla on? Tietääkseni GetAsyncKeyState ei toimi Vistassa (saatan toki olla väärässäkin).
ihan äxpeellä
Moikka filthy!
Mikä tuossa ei tomi ja mihin ihmeeseen tarvitset tuota GetAsyncKeyState-API/Timer kombinaatiota..?
Screenshotti ohjelmaa yritin väsäillä....
If GetAsyncKeyState(Keys.F1) Then
en oikee tuota kyllä hiffaa toimiiko ihan noin mutta kun painan F1 nii ottaa kuvan ja savettaa sen tuohon textbox1 tekstin mukasee kansioo.
Moikka filthy!
ihmettelyni johtui siitä, että jos ehtolause vaatii näppäinpainalluksen, niin miksi ihmeessä sotkea siihen Timer'ia...
elikä riittäisi jos...
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System. EventArgs) Handles MyBase.Load Me.KeyPreview = True End Sub Sub Private Sub Form1_KeyUp(ByVal sender As Object, _ ByVal e As System. Windows.Forms.KeyEventArgs) _ Handles MyBase.KeyUp If e.KeyCode = Keys.F1 Then 'tee jotain... End If End Sub
Tuossa on varmastikin ajatuksena, että ruudunkaappaus saataisiin tehtyä silloinkin, kun focus on jossain muussa ohjelmassa.
Heippa taas!
Niin kaappaushan kannattaa tehdä aina niin, että kaikki mahdolliset sovellukset ovat samanaikaisesti avoinna...No joo formin voi aina piilottaa ennen varsinaista shot'ia ja palauttaa näkyviin kun homma on hoidettu...
Joo ajatus olisi että ottaisi näppäinkomennot "globaalina"
Ei tuo neaun koodipätkä toiminu..
EDIT Sain sen toimimaan kun vaihdoin vain tallennustiedostomuotoa....
Aihe on jo aika vanha, joten et voi enää vastata siihen.