Markøren forsvinner på bitblt

stemmer
2

Jeg har en Windows-program som skraper piksler fra skjermen for opptak (i form av en video) til en tilpasset skjermdeling format. Problemet er at på maskiner ved hjelp av en programvare markøren blitting fra skjermen med SRCCOPY | CAPTUREBLIT (slik at lagdelte vinduer viser også opp i bildet) får markøren til å blinke, som beskrevet i sak av Disappearing Markør .

For enkle skjermbilder, dette er ikke et problem, men når flere skjermbilder er tatt i rask rekkefølge, blinker så fort at det noen ganger ser ut til å forsvinne helt markøren.

Jeg har sett på hvordan du bruker Windows Media Encoder SDK (som beskrevet i en codeproject artikkelen, se nedenfor) fordi det ikke føre markøren til å blinke, men det synes å være noen måte å få direkte tilgang til rammedata. Dessverre, både sanntidskoding og tilpassede formatet er begge krav, som gjør Windows Media Encoder ubrukelig til dette formålet.

Jeg har også prøvd DirectX måten (beskrevet i den samme artikkelen, se nedenfor), og det ser ut til å lide av det samme problemet.

Har noen andre kjøre inn i dette problemet? Det må være en vei rundt det - mange kommersielle skjermdeling programmer har ingen slike problem.

artikkel: www.codeproject.com/KB/dialog/screencap.aspx

Publisert på 04/08/2009 klokken 16:54
kilden bruker
På andre språk...                            


5 svar

stemmer
0

Hva med å bruke et speil driver?

Svarte 04/08/2009 kl. 20:28
kilden bruker

stemmer
0

Du har rett, et speil vil sikkert fungere. Men i øyeblikket, jeg prøver å holde seg borte fra det tilnærming på grunn av sikkerhet og tillatelser bekymringer når du installerer under en bruker uten administratorrettigheter. Korriger meg hvis jeg tar feil, men jeg tror ikke det er noen måte å installere en driver uten slike rettigheter. Bortsett fra det, virker det som det ville være unødvendig komplisert: det bør være en enklere / mindre invasiv måte å gjøre dette. (Jeg burde ha nevnt dette i mitt opprinnelige spørsmålet)

Svarte 05/08/2009 kl. 01:13
kilden bruker

stemmer
0

Tanken jeg måtte overvinne flimringen er å "manuelt" tegne "din egen kopi av musen", deretter gjøre BitBlt samtalen, eller å ringe BitBlt med bare SRCCOPY deretter manuelt fange noen synlige gjennomsiktige vinduer over toppen av det. Jeg vet ikke hvordan kommersielle ting gjør det (eller Windows Media Encoder tydeligvis gjør).

ref: http://us.generation-nt.com/xp-bitblt-captureblt-option-help-26970632.html

Svarte 30/04/2012 kl. 11:06
kilden bruker

stemmer
0

Bare kopier skjermen og markøren separat og kle dem.

Svarte 30/04/2012 kl. 11:17
kilden bruker

stemmer
0

du kan bruke Forstørrelse API i Windows Vista eller nyere. Jeg kan ikke finne en god idé i windows xp.

Svarte 21/06/2016 kl. 06:27
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more