Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Kuvan ottamisen esto

Sivun loppuun

Axuu [04.08.2005 13:52:00]

#

Elikkä miten saisi estettyä niin, että print screenillä otetuista kuvista tulisi vain mustia, eikä näyttäisi todellista sisältöö? tarkoituksena olisi estää etähallintaohjelmaa näkemästä ohjelmani sisältöä.

Windows meadi playeristä löytyy tämä ominaisuus (mikäli asetuksista on päällä kerrostus/overlay)

Kieli on vb6 ja kävin tästä keskustelua yleisellä alueella (https://www.ohjelmointiputka.net/keskustelu/9607-kuvakaappauksen-ottaminen) mutta päätin siirtää sen tänne.

neau33 [04.08.2005 14:04:56]

#

Hei Axuu!

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
 If KeyCode = 44 Then
'sit pukkaa joku esim. täysmusta bitmap (jonka oot ladannu esim. Image control'iin) clipboard'lle tai tyhjennä koko clipboard.  Ja sit vielä formin LostFocus tai DeActivate tapahtumaan vaikkapa End , Minimize tai laita avaan tää saitti http://www.kidwaresoftware.com/vbkids.htm
 End if
End Sub

Nea

Ps. Voithan sä laitta siihen kuvaan, tilanteesta riippuen, tekstiks esim. 'Hey you, don't even try...' tai vaikkapa 'Fuck You!'

Axuu [04.08.2005 15:45:47]

#

Mutta tarkoituksena olisi nähdä itse sen sisältö, muuten se olis sit ihan sama, ku käyttelisin konetta ilman näyttöö. Ja voin vakuuttaa että se on hankalaa :-/

Tottahan toki saan sulettua sen etähallinta ohjelman, mutta mieluummin estäisin vaan näkemästä.

tesmu [04.08.2005 16:15:32]

#

If keycode=44 then
Lisää leikepöydälle teksti Acces Denied
End if

eli siis kun painetaan printscreeniä niin se lisää leikepöydälle tekstin Acces Denied jolloin kuva joka otettiin korvautuu tällä tekstillä

Axuu [04.08.2005 16:37:47]

#

jaa tota tarkotitte :), mutta tuskin se etähallintaohjelma muodostaa kuvan näytöstäni painamalla virtuaalisesti printscreeniä.

Sori et muotoilin kysymykseni vähän huonosti, teidän vastauksilla toi mitä tos alussa kysyin toimisi varmaan.

Tahdon siis saada ruutuni näkymään etähallintaohjelman kautta mustama (tjst), mutta itse ruutuni ei olisi musta. (taikka oma ohjelmani alueella mustaksi riittänee) Elikkä kuva menisi jotenkin suoraan näytönohjaimelle, kuten mainitsemassani windows media playerissä.

Toivottavasti muotoilin kysymykseni nyt tarpeeksi selvästi.

neau33 [04.08.2005 17:41:04]

#

Hei Axuu!

Back to basics...vanhat super starat ohjelmoi historian alkuvaiheessa ilman mitään näyttöjä mennen tullen, eivätkä valittaneet vaikeuksista jos homma piti alkaa alusta vaikkapa vain yhden koodissa olevan virheelisen merkin takia...

You should think about that...

Axuu [04.08.2005 17:45:39]

#

Joo, mutta sitten törmää ongelmaan, jossa pitäisi tietää että millainen kuva tossa nyt sitte on, taikka pitäisi vaikka muokata jotakin tekstiä. :) Mut hei sähän et sitä näyttöö tarvi ku oot niin super hyvä käyttään konetta, niin viitsitkö lähettää sen postis mulle :P

:-( ketään ei tiiä miten tuon voisi toteuttaa...

hunajavohveli [04.08.2005 17:46:19]

#

Ei tuollaiset "If keycode = 44" -systeemit mitään auta. Eihän ohjelma reagoi näppäimenpainallukseen mitenkään, jos se ei ole aktiivinen. Muutenkin ärsyttäviä sellaiset ohjelmat, jotka disabloivat kokonaan jotkin näppäimet, kun kerran on kyseessä moniajoa tukeva käyttöjärjestelmä. Tuo overlay saattaisi olla ihan toimiva keino, mutta en kyllä tiedä, miten sellainen VB:llä toteutetaan.

Edit: Jaahas, pari viestiä taas tullut lisää sillä välin kun kirjoitin omaani. :P

Axuu [04.08.2005 17:59:01]

#

No saahan sen ottamaan näppäinpainallukset vaikka kyseinen ohjelma ei olisi aktiivinen, mutta ei se tohon ongelmaan silti auta. Mahtaiskohan joku tietää miten c:llä toteutetaan? Ei olis meinaan paha rueta ite opettelaan kysestä kieltä.

neau33 [04.08.2005 22:10:38]

#

Hello again Axuu!

Käypä tässä mestassa, imppaa se Cross Hair overlay juttu... http://www.imagenation.com/imagena/dnpages/pxc_files.html#example
ja tutki sitä jos siitä vaikka olis apua.

Niko [06.08.2005 01:16:27]

#

toi on jollekkin ihan muullekuin vblle mutta ratkaisuna ehdotan että piirrät DiretXllä ne joita ei voi kaapata, olettaen että ohjelma ei osaa näyttää directx sisältöä

hunajavohveli [06.08.2005 09:27:17]

#

No sehän taas riippuu siitä, piirtääkö DirectX Windowsin näyttömuistiin, tai mikä se sitten onkin, mistä etäohjelman näyttämä kuva lähetetään. Jos DirectX taas käyttää overlayta niin silloin mitään ei pitäisi näkyä etäohjelmassa.

miiro [07.08.2005 19:30:57]

#

Mä tekisin ton varmaan niin, että kun printscreeniä painetaan(GetASyncKeyStatella katot sen) niin formi menee piiloon (me.hide) ja timeri (interval vaikka 100) pistää sen sitten hetken päästä taas esiin. Timerin intervalia tosin kannattaa muuttaa mahdollisimman pieneksi ettei käyttäjä häiriinny

CyantLeap [07.08.2005 19:36:35]

#

Käyttäjä kylläkin häiriintyy jos toisessa päässä on kovaluontoinen tyyppi joka rämpyttää PrintScreeni:ä.. :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta