[VC++/Windows] EnumDisplayDevices*( ) werkt niet in 6.0

Pagina: 1
Acties:

  • phaas
  • Registratie: Augustus 2001
  • Laatst online: 23-01-2025
Ik wil met de Windows API informatie krijgen over het systeem, met name de grafische kaart.
Hiervoor had ik het idee EnumDisplayDevices( ) te gebruiken maar in mijn versie van VC++ (6.0) wordt deze functie niet gedefineerd.
Hij bestaat nl. 'pas' vanaf Win98 en de header + .lib bestanden die met VC++6 worden meegeleverd zijn van daarvoor.
Verder ben ik nog op zoek naar een manier op achter het processorstype + snelheid te komen.

Ik ben op zoek naar een quick-en-dirty manier, het liefst iets dat gewoon werkt met VC++6.
Is het mogelijk ergens up-to-date headers te downloaden of moet ik gewoon de registry induiken en de informatie op de pré Win98 manier ophalen?

Bedankt!

  • cenix
  • Registratie: September 2001
  • Laatst online: 05-05 19:45
Volgens mij moet je de platform sdk updaten. Voor details kun je op de MSDN pagina terecht.

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

je processor snelheid + brand kun je op enkele manieren bekomen:
- register
- shell variabelen (zoals PATH TEMP etc)
- er bestaan cpuid headers (als je de VC++ AMD processor pack download zit die er zeker bij)
- WMI (maar daar wil je niet aan beginnen)
- ...

ASSUME makes an ASS out of U and ME


  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 05-05 14:48
Hier kan je de laatste header files downloaden:

http://www.microsoft.com/...5&displaylang=en#filelist

  • phaas
  • Registratie: Augustus 2001
  • Laatst online: 23-01-2025
Bedankt mensen, ik ga er even naar kijken.
Ik prog niet zo vaak (lees: nooit) in Windows dus dit zijn allemaal weer leermomenten B)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
PlatformSDK is een manier, maar LoadLibrary werkt ook al op Win95. Je krijgt alleen een NULL pointer tot Win98. Dat is soms beter dan de nieuwe PlatformSDK gebruiken, in welk geval je programma weigert te laden.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:13

The End

!Beginning

Het heeft niet zoveel te maken met de versie van Visual studio. Het gaat erom voor welke versie van Windows je de libraries compileert.

Dit staat er in de MSDN:

Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows 2000/XP. Also supported by Microsoft Layer for Unicode.

Daar zie je al dat de functie pas beschikbaar is vanaf Windows 2000. Als jij deze functies wil gebruiken in jouw programma dan moet je een aantal dingen definieren (Meestal in stdafx.h):

#define WINVER 0x0500 // of 0x0410 voor Windows 98
#define _WIN32_WINNT 0x0500
#define _WIN32_WINDOWS 0x0500 // of 0x0410 voor Windows 98
#define _WIN32_IE 0x0500

Als je in Visual Studio .Net programmeert, dan zijn dit de default instellingen. Let er wel op dat je programma het dan niet meer doet op bijvoorbeeld Windows NT4

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
The End: Hoe precies denk je dat een Visual Studio '98 header een Windows 2000 functie declareert? <GlazenBol.h>?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 05-05 22:23
MSalters schreef op woensdag 08 juni 2005 @ 09:25:
The End: Hoe precies denk je dat een Visual Studio '98 header een Windows 2000 functie declareert? <GlazenBol.h>?
Hmmm vanaf welke SDK staat die erin dan? Bij mij geeft 'ie, and i quote:
main.cpp(12) : fatal error C1083: Cannot open include file: 'GlazenBol.h': No such file or directory

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • phaas
  • Registratie: Augustus 2001
  • Laatst online: 23-01-2025
The End schreef op woensdag 08 juni 2005 @ 09:05:
Het heeft niet zoveel te maken met de versie van Visual studio. Het gaat erom voor welke versie van Windows je de libraries compileert.

Dit staat er in de MSDN:

Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows 2000/XP. Also supported by Microsoft Layer for Unicode.

Daar zie je al dat de functie pas beschikbaar is vanaf Windows 2000. Als jij deze functies wil gebruiken in jouw programma dan moet je een aantal dingen definieren (Meestal in stdafx.h):

#define WINVER 0x0500 // of 0x0410 voor Windows 98
#define _WIN32_WINNT 0x0500
#define _WIN32_WINDOWS 0x0500 // of 0x0410 voor Windows 98
#define _WIN32_IE 0x0500

Als je in Visual Studio .Net programmeert, dan zijn dit de default instellingen. Let er wel op dat je programma het dan niet meer doet op bijvoorbeeld Windows NT4
Dit heb ik idd al geprobeerd. De headers zijn dat iig het probleem niet (die zijn van Win98 beta) maar de user32.lib wel.

Iemand gaf hierboven een link naar de platform SDK van win2003 server, is dat dé psdk die ik hebben moet?

  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:13

The End

!Beginning

MSalters schreef op woensdag 08 juni 2005 @ 09:25:
The End: Hoe precies denk je dat een Visual Studio '98 header een Windows 2000 functie declareert? <GlazenBol.h>?
Ik ga er natuurlijk wel vanuit dat hij zijn libraries up to date houdt.

Die link bevat idd de laatste SDK maar werkt niet in Visual Studio 6! (Zie ik net :) )

[ Voor 10% gewijzigd door The End op 08-06-2005 10:37 ]


  • phaas
  • Registratie: Augustus 2001
  • Laatst online: 23-01-2025
The End schreef op woensdag 08 juni 2005 @ 10:35:
[...]


Ik ga er natuurlijk wel vanuit dat hij zijn libraries up to date houdt.

Die link bevat idd de laatste SDK maar werkt niet in Visual Studio 6! (Zie ik net :) )
Oh fijn dat je dat ff zegt, ik was um net aan het downloaden :)
Enneh, welke moet ik dan wel hebben?

  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:13

The End

!Beginning

phaas schreef op woensdag 08 juni 2005 @ 10:41:
[...]


Oh fijn dat je dat ff zegt, ik was um net aan het downloaden :)
Enneh, welke moet ik dan wel hebben?
Volgens die site is de february 2003 SDK de laatste die werkt met Visual Studio 6. Ik denk alleen niet dat je die nog kan downloaden van de Microsoft site. Er staat wel bij dat je hem op CD kan bestellen.

  • phaas
  • Registratie: Augustus 2001
  • Laatst online: 23-01-2025
Leuk maar niet heus }:O Ook aardig om gewoon zomaar te kappen met het ondersteuning van je oude producten....
Voel me haast genoodzaakt VC++7 te gaan downen >:)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 05-05 18:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

phaas schreef op woensdag 08 juni 2005 @ 10:47:
Ook aardig om gewoon zomaar te kappen met het ondersteuning van je oude producten....
Dude, VC6 is fucking 7 jaar oud, dat is een eeuwigheid in de IT :). Je kan gewoon niet voor altijd support blijven bieden, op een gegeven moment moet iedereen gewoon verder.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 05-05 22:23
.oisyn schreef op woensdag 08 juni 2005 @ 11:41:
Dude, VC6 is fucking 7 jaar oud, dat is een eeuwigheid in de IT :). Je kan gewoon niet voor altijd support blijven bieden, op een gegeven moment moet iedereen gewoon verder.
Ze kunnen die download link toch gewoon laten staan?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 05-05 18:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Zit er niet gewoon een update bij SP6 voor VS6 dan?
http://www.microsoft.com/...5477cb9713&DisplayLang=en

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • c0deaddict
  • Registratie: Mei 2004
  • Laatst online: 10-01 12:11

c0deaddict

Don't be lame, be KLEI

Processor informatie --> CPUID

http://sandpile.org/ia32/cpuid.htm

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void cpuid( unsigned long nr, unsigned long * _eax, unsigned long * _ebx, unsigned long * _ecx, unsigned long * _edx )
{
  __asm {
     mov eax, dword ptr [nr]
     cpuid
     mov edi, [_eax]
     mov [edi], eax
     mov edi, [_ebx]
     mov [edi], ebx
     mov edi, [_ecx]
     mov [edi], ecx
     mov edi, [_edx]
     mov [edi], edx
  }
}

  • The End
  • Registratie: Maart 2000
  • Laatst online: 21:13

The End

!Beginning

Volgens mij zitten daar alleen programma updates in. Ik dacht niet dat je platform SDK daarmee geupdate wordt.

Verwijderd

De visual c++ toolkit 2003 bevat een compiler die wel met de nieuwste sdk om kan gaan, moet je die maar eens proberen.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Die compiler is niet echt handig voor mensen die nog het soort vragen hebben dat de TS heeft.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 05-05 14:48
Nog even voor future reference, de laatste Platform SDK voor WinXP SP2 en Visual C++ 6.0:

http://www.microsoft.com/...date/XPSP2FULLInstall.htm
Pagina: 1