zui > edb.programmering.* > edb.programmering.c

Bertel Lund Hansen (27.10.2017, 09:52)
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.
Arne Vajhøj (27.10.2017, 17:12)
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
Jakob Bohm (29.10.2017, 02:59)
On 27/10/2017 16:12, Arne Vajhøj wrote:
[..]
>
> 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