screenshot

n000b

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

1

312

    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. Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?

      Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k
      Maailman menoa
      113
      4304
    2. Voiko normaali ihminen ryhtyä vasemmistolaiseksi?

      Tätä jäin pohdiskelemaan.
      Maailman menoa
      150
      3689
    3. SDP haluaa 40 000 nettomaahanmuuttajaa

      SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah
      Maailman menoa
      88
      3435
    4. Mikä tuota vasemmistolaisista jankkaavaa vaivaa?

      Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia
      Maailman menoa
      39
      2829
    5. Mitä ajattelit kun näit

      kaivattusi ensimmäisen kerran? xd
      Ikävä
      129
      1730
    6. Nyt meni lopulliset lämmöt.

      Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta
      Sinkut
      37
      1568
    7. Orpo loukkaantui fasismiin viittaavasta sanavalinnasta

      Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk
      Maailman menoa
      14
      1211
    8. Sulla on avaimet ja keinot

      Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi
      Ikävä
      19
      1184
    9. Meitä ei tule

      Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌
      Ikävä
      22
      1144
    10. Onko erityinen paikka jossa haluaisit nyt olla

      Onko joku spesiaali lempipaikka missä mieluiten olisit?
      Ikävä
      42
      1140
    Aihe