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 ClassPainan 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 SubTuossa 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.