Discussion:
ocx
(for gammel til at besvare)
Uffe Kousgaard
2009-09-04 18:37:14 UTC
Permalink
Er der nogen, der ved om OCX formatet er defineret til 64-bit eller
eksisterer det kun som en 16 henh. 32-bit ting?

I øvrigt hvordan kan man nemt se om en given executable (exe,dll,ocx,scr
etc) er 32- eller 64-bit? Er der en eller anden byte i headeren, der hurtigt
afslører det?

Og dette var to windows spørgsmål, hvis nogle linux-folk skulle være i
tvivl.....
Peter Lykkegaard
2009-10-02 18:43:30 UTC
Permalink
Uffe Kousgaard skrev
Post by Uffe Kousgaard
Er der nogen, der ved om OCX formatet er defineret til 64-bit eller
eksisterer det kun som en 16 henh. 32-bit ting?
Hvorfor roder du rundt med sådan noget gammelt skrammel?

- Peter
Uffe Kousgaard
2009-10-04 20:08:55 UTC
Permalink
news:f79f7d73-64ab-4129-a679-
Post by Peter Lykkegaard
Hvorfor roder du rundt med sådan noget gammelt skrammel?
Fordi der er kunder, der efterspørger det.
Samuel Fogh
2009-10-07 20:40:27 UTC
Permalink
OCX er bare i PE formatet. Så der er så at sige intet i selve formatet
der gør at det ikke er portabelt til alle de af PE understøttede
maskinarkitekturer.

Arkitekturen er defineret i headeren. Det er en smule besværligt at læse
PE headeren, da du først skal finde offset til den ved at læse MSDOS
headeren.

I den her artikel (omend formålet er et andet) ser du hvordan du kan
indlæse disse headers. Den struct du har brug for er IMAGE_FILE_HEADER
så når den er indlæst er resten i artiklen overflødigt.

http://support.microsoft.com/kb/90493

Du kan så sammenligne IMAGE_FILE_HEADER.Machine med disse værdier:
http://msdn.microsoft.com/en-us/library/ms680313(VS.85,loband).aspx

Som en lille bonus kan du også checke for en 16-bit Windows fil (NE) ved
at sammenligne ntSignature fra koden i artiklen med IMAGE_OS2_SIGNATURE
eller for en 16-bit VxD fil (Virtual Device Driver) med
IMAGE_OS2_SIGNATURE_LE.

Venlig Hilsen,
Samuel Fogh

---
http://gaffa.wordpress.com
Post by Uffe Kousgaard
Er der nogen, der ved om OCX formatet er defineret til 64-bit eller
eksisterer det kun som en 16 henh. 32-bit ting?
I øvrigt hvordan kan man nemt se om en given executable (exe,dll,ocx,scr
etc) er 32- eller 64-bit? Er der en eller anden byte i headeren, der hurtigt
afslører det?
Og dette var to windows spørgsmål, hvis nogle linux-folk skulle være i
tvivl.....
Loading...