/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Emulering af Print Screen
Fra : Ole Lützhøft


Dato : 10-06-04 19:10

Jeg skal lave et program (c) der med visse intervaller tager et "Print
screen" af et (bestemt) vindue. Programmet skal skrive det i en JPG
eller tilsvarende format.
Kan noget gi' et hint om hvordan jeg kommer igang med den opgave ?

/Ole

 
 
Klaus Petersen (11-06-2004)
Kommentar
Fra : Klaus Petersen


Dato : 11-06-04 07:27


> Jeg skal lave et program (c) der med visse intervaller tager et "Print
> screen" af et (bestemt) vindue.

Du kan søge på google under f.eks. screenshot - på denne her side er der
noget kode http://www.fortunecity.com/skyscraper/windows/364/scrncapt.html

Forskellen fra at tage et screenshot af desktop og et bestemt vindue er det
"window handle" du sender ind i GetWindowDC.

> Programmet skal skrive det i en JPG eller tilsvarende format.

Hvad er "tilsvarende format"?

Hvis du vil gemme i jpeg får du brug for libjpeg -
ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip

Den kan tage et bytearray og komprimere til en jpeg fil samtidigt med det er
forholdsvist let at bruge.

> Kan noget gi' et hint om hvordan jeg kommer igang med den opgave ?

Hvorfor vil du lave det i C?

Hvis du har adgang til delphi har du bedre chancer for at få det lavet, for
delphi har nogle værktøjer du skal bruge som C ikke har.

Find ud af om du vil have det som et program med vinduer eller som et konsol
program?
Hvis det skal køre på en server gør det nok ikke så meget at det er et
konsol program.

Hvor stort er tidsrummet mellem screenshots'ne?
Er der behov for god nøjagtighed mht. tiden?



Ole Lützhøft (12-06-2004)
Kommentar
Fra : Ole Lützhøft


Dato : 12-06-04 20:14

On Fri, 11 Jun 2004 08:26:44 +0200, "Klaus Petersen"
<spectual2@getTOnet.dk> wrote:

>
>> Jeg skal lave et program (c) der med visse intervaller tager et "Print
>> screen" af et (bestemt) vindue.
>
>Du kan søge på google under f.eks. screenshot - på denne her side er der
>noget kode http://www.fortunecity.com/skyscraper/windows/364/scrncapt.html
>
>Forskellen fra at tage et screenshot af desktop og et bestemt vindue er det
>"window handle" du sender ind i GetWindowDC.
>
>> Programmet skal skrive det i en JPG eller tilsvarende format.
>
>Hvad er "tilsvarende format"?
>
>Hvis du vil gemme i jpeg får du brug for libjpeg -
>ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip
>
>Den kan tage et bytearray og komprimere til en jpeg fil samtidigt med det er
>forholdsvist let at bruge.
>
>> Kan noget gi' et hint om hvordan jeg kommer igang med den opgave ?
>
>Hvorfor vil du lave det i C?
>
>Hvis du har adgang til delphi har du bedre chancer for at få det lavet, for
>delphi har nogle værktøjer du skal bruge som C ikke har.
>
>Find ud af om du vil have det som et program med vinduer eller som et konsol
>program?
>Hvis det skal køre på en server gør det nok ikke så meget at det er et
>konsol program.
>
>Hvor stort er tidsrummet mellem screenshots'ne?
>Er der behov for god nøjagtighed mht. tiden?
>

Tak Klaus

det det gælder om er at filen skal fylde så lidt som mulig.
Den skal FTP'es til en hjemmeside efterfølgende.

Intervallerne er ikke kritiske, jeg foretiller mig 4 gange i timen.
Grunden til "C" er at det er jeg mest fortrolig med - samt at jeg har
Visual Studio.

Jeg ville helst at mit program kører som en service, hvis jeg kan få
det til at fungere.

/Ole

Klaus Petersen (13-06-2004)
Kommentar
Fra : Klaus Petersen


Dato : 13-06-04 09:30


> det det gælder om er at filen skal fylde så lidt som mulig.
> Den skal FTP'es til en hjemmeside efterfølgende.

Ja så er jpeg udmærket!

> Intervallerne er ikke kritiske, jeg foretiller mig 4 gange i timen.
> Grunden til "C" er at det er jeg mest fortrolig med - samt at jeg har
> Visual Studio.

Hvis jeg skulle lave det ville jeg nok bruge en performance counter (se
f.eks. QueryPerformanceCounter på msdn eller i en windows api dokumentation)
og en waitable timer til at tjekke på counteren regelmæssigt.

Grunden til at jeg også ville bruge en performance counter at for at undgå
at tidspunkterne forskyder sig for hver gang.

Hvis det er lige meget med forskydningerne kan du bare bruge en waitable
timer (se CreateWaitableTimer).

> Jeg ville helst at mit program kører som en service, hvis jeg kan få
> det til at fungere.

Det er ikke specielt svært at få det til at køre som en service. Jeg har
prøvet at lave en engang udfra denne her side:
http://www.muukka.net/programming/service.html

Af ren nysgerrighed, hvad skal dit program bruges til?



Ole Lützhøft (13-06-2004)
Kommentar
Fra : Ole Lützhøft


Dato : 13-06-04 18:40

>
>Af ren nysgerrighed, hvad skal dit program bruges til?
>

Det skal bruges til at offentliggøre data - Print Screen - fra en
vejrstation på Internettet ...

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408917
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste