ezz > edb.programmering.* > edb.programmering.c

 #1  
27.10.2017, 09:52
Bertel Lund Hansen
Er der nogen der ved om og hvordan man kan tilgå skærmhukommelsen
direkte i en kommandoboks under Windows 10?

I tidernes formiddag, da jeg brugte TurboPascal (og vistnok
Windows 95), kunne jeg adressere skærmhukommelsen direkte og
meget nemt på grund af TP's måde at håndtere adresser på. Jeg
ville gerne kunne gøre noget lignende under Windows 10.

Jeg har brugt conios gotoxy() sammen med printf(), men det er
langsomt.
 #2  
27.10.2017, 17:12
Arne Vajhøj
On 10/27/2017 2:52 AM, Bertel Lund Hansen wrote:
> Er der nogen der ved om og hvordan man kan tilgå skærmhukommelsen
> direkte i en kommandoboks under Windows 10?
> I tidernes formiddag, da jeg brugte TurboPascal (og vistnok
> Windows 95), kunne jeg adressere skærmhukommelsen direkte og
> meget nemt på grund af TP's måde at håndtere adresser på. Jeg
> ville gerne kunne gøre noget lignende under Windows 10.
> Jeg har brugt conios gotoxy() sammen med printf(), men det er
> langsomt.


Jeg tvivler på at du kan gøre det samme i Win10.

Årsager:
* Windows NT tillader ikke den slags direkte adgang uden
om API'er
* skærmhukommelse er 1000 gange mere komplekst
end for 20 år siden

Mit forslag er at skifte til Win32 Console API.

[..]

Og se om det performer bedre.

Arne
 #3  
29.10.2017, 02:59
Jakob Bohm
On 27/10/2017 16:12, Arne Vajhøj wrote:
> On 10/27/2017 2:52 AM, Bertel Lund Hansen wrote:
> Jeg tvivler på at du kan gøre det samme i Win10.
> Årsager:
> * Windows NT tillader ikke den slags direkte adgang uden
>   om API'er
> * skærmhukommelse er 1000 gange mere komplekst
>   end for 20 år siden
> Mit forslag er at skifte til Win32 Console API.
> [..]
> Og se om det performer bedre.
> Arne


Faktisk tillader NT dette i mindst to situationer:

1. Når man kører dos-programmer i en fuldskærms kommandoboks. (Når
kommandoboksen er i et vindue emuleres dette). Begge funktioner blev
ved en teknisk misforståelse (forveksling med Alpha, Itanium etc.) ikke
taget med fra 32 til 64 bit x86 udgaverne af NT, og fuldskærms
kommandobokse blev også glemt i den nye skærmdriver-arkitektur til 32
bit Vista.

2. I grafikmode under navnet DirectX (alle versioner).

Enjoy

Jakob
Lignende emner