Avatar billede acid-head Nybegynder
24. januar 2002 - 15:46 Der er 17 kommentarer og
1 løsning

Kun i Win32... ?

Hej eksperter... ;)

- Jeg har lige siddet og bakset et vældig (syns jeg! *G*) lille program sammen, som jeg skal bruge til noget i dos... Programmet skal starte hver gang man tænder computeren, derfor har jeg skrevet det ind i Autoexec.bat, det virker også fint, men!

- Når man så starter computeren, og windows skal til at loades, kommer der denne frygtelige besked: This program must be run under win32!

- Hvad gør jeg ved det? Jeg skal have lavet sådan at det OGSÅ virker i dos... =)

- Hjælp mig! *S*
Avatar billede acid-head Nybegynder
24. januar 2002 - 15:50 #1
Det skal lige siges at programmet er skrevet til dos, troede jeg... =) Altså, jeg har ikke brugt noget af det der Win32 API's og MFC?
Avatar billede disky Nybegynder
24. januar 2002 - 15:51 #2
Hvilken C++ compiler har du brugt.

Visual C++ laver altid Win32 applicationer.
Avatar billede acid-head Nybegynder
24. januar 2002 - 17:59 #3
Jamen, den der er gratsi fra borland... Den hedder vist bare bcc55... =)
Avatar billede kamikaze Nybegynder
24. januar 2002 - 18:23 #4
Hvis du fjerner den fra autoexec, og ligger den i startup mappen (højre-klik på start, vælg open/åbn, dobbelt-klik på programs/programmer), så starter den først når windows er loaded. (Hvilket vel er meningen???) :)
Avatar billede acid-head Nybegynder
24. januar 2002 - 19:13 #5
Nej, den skal komme så snart at autoexec.bat køres... =)
Avatar billede acid-head Nybegynder
24. januar 2002 - 20:27 #6
Er der fordi jeg skal compile programmet på en bestemt måde?
Avatar billede professoren Nybegynder
25. januar 2002 - 11:38 #7
Visual C++ laver IKKE altid win32 applikationer! Version 1, 2 og 3 kan stadig bruges til 16-bit windows og DOS applicationer, og denne gang krævede visse 32-bit programmer win32S for at køre! Derfor! Og du kan naturligvis ikke køre win32programmer i DOS....
Avatar billede acid-head Nybegynder
25. januar 2002 - 14:25 #8
Nej, det kan jeg forstå, men jeg mangler en måde at lave mit program til et 16-bit program! :)
Avatar billede geek1011 Nybegynder
26. januar 2002 - 00:47 #9
Prøv dette:

#include <iostream.h>

int main()
{
cout<<"Første DOS-program!"<<endl;
}

Compiler og kør det. Brug evt. DevC++ fra BloodShed, kan det samme som Visual C++, dog er programmet gratis, mens Microsoft Visual C++ koster 5000 kr. DevC++ er god til både Windows, UNIX, Linux og DOS-programmer, altså er den gratis, bedre, mere stabil og mere funktionsdygtig end Borlands og Microsofts C++ compilere :-)
Download DevC++ på:
http://www.bloodshed.net

P.S. Du kan også downloade kildekoden til DevC++ - gratis :-)
Avatar billede acid-head Nybegynder
26. januar 2002 - 01:21 #10
Geek1011 -> Kender godt programmet... Men hvordan compiler jeg så det bliver et 16-bit program?
Avatar billede geek1011 Nybegynder
27. januar 2002 - 00:00 #11
Bare tryk F9.
Om det er til 16 bit eller 32 bit afhænger af, hvilke Windows-funktioner du bruger.
Hvis du f.eks. bruger de helt basale funktioner som int WinMain( hInstance, hPrevInstance, lpszCmdLine, nCmdShow ) eller
  int PASCAL WinMain(
          HANDLE hInstance,
          HANDLE hPrevInstance,
          LPSTR lpCmdLine,
          int nCmdShow );
vil det (tror jeg) også kunne afvikles under 16-bit Windows.
Avatar billede acid-head Nybegynder
27. januar 2002 - 16:22 #12
Geek1011 -> Fint nok, men det er overhovedet ikke til Windows... Det er et lille program som skal køres i dos, under opstart...

- Men det kan da være det virker på helt sammen måde?
Avatar billede professoren Nybegynder
28. januar 2002 - 17:13 #13
For at compile en 16-bits C/C++ program til dos, skal du:
have VC++ ,x, 2x eller 3.x, og så skal du vælge "compile to DOS .exe file"

Senere versioner er udelukkende til 32-bit programmer, derfor har vi prof'er gemt en
"gamle" compiler af vejen...der findes en separat win32s SDK, men det er nok for
meget for dig...
Avatar billede acid-head Nybegynder
28. januar 2002 - 18:50 #14
Professoren -> Ja ja, det er altsammen meget flot, men nu er det sådan at jeg er startet med C++ for nylig, så jeg har ikke haft mulighed for at gemme en "gammel" version, da jeg ikke har arbejdet med det før VC++ 6!

- Der må sQ da være en måde jeg kan compile det program til 16-bit???

Geek1011 -> Jeg har altså problemer med mit program når jeg compiler det i Dev C++... Den vil ikke godtage getch() funktionen, som er en stor del af mit programmet... Via nogle header-filer læste jeg mig frem til at getche() skulle virke, men så fik jeg problemer med noget clearscreen-noget... =(
Avatar billede geek1011 Nybegynder
29. januar 2002 - 10:00 #15
Kan du ikke bruge Getch i DevC++ skal du heller ikke tro, at du kan bruge dem i VC++.
DevC++ har nøjagtig samme funktioner som DevC++, DevC++ er bare gratis, i modsætning til VC++.
Så ang. det med Getch er det et helt andet problem.
Men et DOS-program laves altså sådan:

#include <iostream.h>

int main()
{
cout<<"Dette er mit program. "<<endl;
}
Avatar billede acid-head Nybegynder
29. januar 2002 - 13:45 #16
Geek1011 -> Mit program virker altså fint i både VC++, BCB, og Borlands Free C++ compiler... =)

- Meen, nu giver jeg dig pointene... Og så ser vi... =)

- Tak for hjælpen...
Avatar billede geek1011 Nybegynder
29. januar 2002 - 14:20 #17
Jammen det var da godt.... 
Tak for points :-)
Avatar billede acid-head Nybegynder
29. januar 2002 - 14:25 #18
Ja.. Problemet er bare at de ikke kan compile til 16-bit... ;(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester