screenshot

n000b

Sanokaas miten voi laittaa vb-ohjelman ottamaan ruudunkaappauksen aktiivisesta ikkunasta tai koko näytöstä, ja tallentaa sen bmp-tiedostoon

1

345

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Orwell

      Tarvitset PictureBoxin ja OptionButtonit... ja lisäksi tietenkin kaikki nuo API komennot yms...
      Tuon PictureBoxin AutoRedraw arvo pitää olla True. Muutenkin voit joutua säätämään jotain, mutta idean pitäisi toimia...

      Private Sub ScreenShot()

      Dim lhWnd As Long
      Dim lhDC As Long
      Dim lLeft As Long
      Dim lTop As Long
      Dim lWidth As Long
      Dim lHeight As Long
      Dim wplc As WINDOWPLACEMENT
      Dim sName As String

      sName = vbNullString

      lLeft = 0
      lTop = 0

      'Koko näyttö
      If Option1(0).Value Then
      lhWnd = GetDesktopWindow()
      lWidth = Screen.Width
      lHeight = Screen.Height
      sName = "Test_scr"
      'Aktiivi ikkuna
      ElseIf Option1(1).Value Then
      lhWnd = GetActiveWindow()
      Call GetWindowPlacement(lhWnd, wplc)
      'Lasketaan formin koko (koko pixeleinä -> muutetaan Twipeiksi)
      lWidth = (wplc.rcNormalPosition.Right - wplc.rcNormalPosition.Left) * Screen.TwipsPerPixelX
      lHeight = (wplc.rcNormalPosition.Bottom - wplc.rcNormalPosition.Top) * Screen.TwipsPerPixelY
      sName = "Test_win"
      End If

      Picture1.Width = lWidth
      Picture1.Height = lHeight

      lhDC = GetWindowDC(lhWnd)

      'Kopioi PictureBoxiin
      Call BitBlt(Picture1.hdc, 0, 0, _
      lWidth, lHeight, lhDC, _
      lLeft, lTop, vbSrcCopy)

      'Tallennetaan kuva
      Call SavePicture(Picture1.Image, "c:\temp\" & sName & ".bmp")

      Call ReleaseDC(lhWnd, lhDC)
      End Sub

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      95
      7277
    2. Suomi käyttää sosiaalietuuksiin suhteessa eniten rahaa koko maailmassa

      Suomi käyttää sosiaaliturvaetuuksiin enemmän rahaa suhteessa bruttokansantuotteeseen kuin mikään muu maa maailmassa. Su
      Maailman menoa
      357
      6348
    3. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      58
      3693
    4. Vähän fiksumpi Nimi kisa ? :=)

      Kirjoita teidän etunimet allekkain. Jos nimissä on joku kirjain sama, poista se. Tee sama tarkistus kaikille kirjaimill
      Ikävä
      29
      3429
    5. Mikä on suurin luonne- eroavuus sinussa

      Ja kaivatussasi? Vaikuttaako se huonoon vai hyvään suuntaan siinä, että teistä voisi tulla jotain?
      Ikävä
      192
      1931
    6. Kenen haluaisit voittavan Amazing Racen: Tuomas ja Esko, Millu ja Karoliina vai Maria ja Vilma?

      Amazing Race Suomi huipentuu lauantaina finaaliin. Jäljellä on kolme paria ja tiedossa on tehtäviä, jotka järkyttävät os
      Tv-sarjat
      17
      1628
    7. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      60
      1363
    8. Gallup: Katsotko Salkkareita tai oletko katsonut?

      Salatut elämät on suomalaisten suosikkisarja vuosikymmenestä toiseen. Salkkareiden parissa viettää aikaa sukupolvet laps
      Tv-sarjat
      18
      1356
    9. Elämäni biisi starttaa uudessa muodossa - Voi olla pettymys faneille!

      Elämäni biisi ja juontaja Katja Ståhl ovat suomalaisten suosikkeja. Lauantai-iltaisin ohjelma on vetänyt tv-katsojat arv
      Tv-sarjat
      1
      1260
    10. Amazing Race Tomas rehellisenä Esko-appiukon, 63, tilasta: "Sairastelut ja..."

      Tomas Grekov ja Esko Rotola-Pukkila ovat mukana Amazing Race Suomi -kisassa. Ja nyt vuorossa on finaali. Hankaluuksia m
      Tv-sarjat
      1
      1237
    Aihe