Avatar billede dmg Nybegynder
05. maj 2003 - 15:01 Der er 9 kommentarer og
1 løsning

Læsning af os samt domain

Jeg skal bruge 2 koder:

1. Skal kunne fortælle hvilket domain jeg er logget på.

2. Skal kunne fortælle hvilket os jeg køre.

Jeg bruger borland c++ builder 5 og programmere i c++.

Hvis det er muligt at få en kode der virker, ville det være super godt.

Tak for hjælpen ;-)
Avatar billede arne_v Ekspert
05. maj 2003 - 15:09 #1
Et halvt svar.

re 2)

#include <windows.h>

og GetVersionEx er den nornmalt brugte løsning.

Se:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getversionex.asp

og et eksempel:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getting_the_system_version.asp

Jeg ved ikke om det kører med Borland C++ Builder.
Avatar billede arne_v Ekspert
05. maj 2003 - 15:10 #2
Det gør den !

http://bdn.borland.com/article/0,1410,17213,00.html
Avatar billede arne_v Ekspert
05. maj 2003 - 15:11 #3
Der er et bedre eksempel på:
  http://www.dallastech.com/WinVer/Index.html
Avatar billede gumbert Nybegynder
05. maj 2003 - 15:44 #4
Prøv detteher. Der står en masse info

#include <iostream.h>

void main(int argc, char *argv[], char *env[])
{
    while (*env)
        cout<<*env++<<endl;
}
Avatar billede dmg Nybegynder
09. maj 2003 - 16:22 #5
hhhm.... jeg har kigget alt igennem og kan ik rigtigt finde noget jeg kan bruge?

Den sidste som gumbert skrev er faktisk ret go, bortset fra at jeg, kun skal bruge domain??? Er der nogen der kan hjælpe med et andet script evt???

Hvis man ikke kan finde os'et ved hjælp af et lille script, men behøver et større script med flere funktioner osv, kan det næsten være lige meget.

Dog er domain ret vigtigt!!!
Avatar billede arne_v Ekspert
09. maj 2003 - 17:35 #6
Øh.

#include "windows.h"

#include <iostream>
#include <string>

int main()
{
    OSVERSIONINFO WinVer;
    std::string VerString = "Microsoft Windows ";

    ::memset(&WinVer, 0, sizeof(OSVERSIONINFO));
    WinVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

    if (::GetVersionEx(&WinVer))
    {
        switch (WinVer.dwPlatformId)
        {
            case VER_PLATFORM_WIN32s:
                VerString += "3.1";
                break;

            case VER_PLATFORM_WIN32_WINDOWS:
                if ((WinVer.dwMajorVersion == 4) &&
                    (WinVer.dwMinorVersion == 0))
                {
                    VerString += "95 ";
                    if (WinVer.szCSDVersion[1] == 'C')
                        VerString += "OSR2";
                }
                else if ((WinVer.dwMajorVersion == 4) &&
                        (WinVer.dwMinorVersion == 10))
                {
                    VerString += "98";
                    if (WinVer.szCSDVersion[1] == 'A')
                    VerString += "SE";
                }

                if ((WinVer.dwMajorVersion == 4) &&
                    (WinVer.dwMinorVersion == 90))
                    VerString += "ME";
                break;

            case VER_PLATFORM_WIN32_NT:
                if (WinVer.dwMajorVersion <= 4)
                    VerString += "NT";
                else if ((WinVer.dwMajorVersion == 5) &&
                        (WinVer.dwMinorVersion == 0))
                    VerString += "2000";
                else if ((WinVer.dwMajorVersion == 5) &&
                        (WinVer.dwMinorVersion == 1))
                    VerString += "XP";
                break;
        } // End switch (WinVer.dwPlatformId)
    } // End if (::GetVersionEx(&OSVer))

    std::cout << VerString;
    return 0;
}

hentet fra mit link skriver da ganske korrekt windows versionen ud
når jeg bygger med BCC 5.5 !
Avatar billede dmg Nybegynder
12. maj 2003 - 15:37 #7
hhhm..... jamen, hvordan kan jeg se det??? det forsvinder jo lige med det samme. Jeg syntes ikke jeg kan placere en getch(); nogen steder der virker. Er der evt en debug funktion i Borland C++ build 5??? hvor man kan følge med, linje for linje?
Avatar billede arne_v Ekspert
12. maj 2003 - 15:45 #8
Åben en DOS box og kør EXE-filen i den (den lukker ikke ved afslutning).
Avatar billede arne_v Ekspert
12. maj 2003 - 15:46 #9
Ellers er der altid følgende lille trick:

    std::cout << VerString;
    system("pause");
    return 0;
}

(der skal så en #include <stdlib.h> i toppen af filen)
Avatar billede arne_v Ekspert
12. maj 2003 - 15:47 #10
Med hensyn til domain er jeg blank.

Men du skal nok starte med at fortælle om det er Microsoft Network
Domain eller IP Network Domain du skal have.

(de vil ofte være forskellige)
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