Mein VC6 kennt die GetComputerNameEx() nicht!!!
-
Service Pack 5 für den VS6 installiert ?
-
ich werd trotzdem den ganzen code posten es ist nicht viel, vieleicht kann jemand herausfinden wieso der Linker hier meckert!
hier:
#ifndef UNICODE #define UNICODE #endif #include <stdio.h> #include <windows.h> #include <lm.h> int wmain(int argc, wchar_t *argv[]) { DWORD dwLevel = 10; LPUSER_INFO_10 pBuf = NULL; NET_API_STATUS nStatus; if (argc != 3) { fwprintf(stderr, L"Usage: %s \\\\ServerName UserName\n", argv[0]); exit(1); } // // Call the NetUserGetInfo function; specify level 10. // hier die NetUserGetInfo() kennt er nicht nStatus = NetUserGetInfo(argv[1], argv[2], dwLevel, (LPBYTE *)&pBuf); // // If the call succeeds, print the user information. // if (nStatus == NERR_Success) { if (pBuf != NULL) { wprintf(L"\n\tAccount: %s\n", pBuf->usri10_name); wprintf(L"\tComment: %s\n", pBuf->usri10_comment); wprintf(L"\tUser comment: %s\n", pBuf->usri10_usr_comment); wprintf(L"\tFull name: %s\n", pBuf->usri10_full_name); } } // Otherwise, print the system error. // else fprintf(stderr, "A system error has occurred: %d\n", nStatus); // // Free the allocated memory. // if (pBuf != NULL) NetApiBufferFree(pBuf); // und die NetApiBufferFree() kennt er nicht return 0; }
Dann kann ich prüfen ob der Benutzer ein Gast, User oder zu den Admins gehört, das ist alles was ich will
Mein OS WinXP Prof, VisualStudio6
danke
mirsad
-
Hast du die Netapi32.lib in den Projekteigenschaften eingetragen?
Ansonsten scheint das ja das Beispiel aus der MSDN zu sein.
-
hallo ihr 2,
@devil, nein ich habe noch keine sp's für vs installiert, bin dabei das zeug herunterzuladen!@estartu
das stimmt es ist aus der msdn, ich finde daraus kann man sehr viel über den benutzer herausfinden, die lib hab ich eingebunden und erhalte eine schöne fehlermeldung das die ein :
C:\WINDOWS\ServicePackFiles\i386\Netapi32.dll : fatal error LNK1136: invalid or corrupt file
*rotwerd*, ich natürlich wieder ka was das jetzt heist!
mfg
mirsad
-
Frei übersetzt heißt der Fehler: Die dll zu der lib ist kaputt.
Wodran das liegt oder wie man das repariert - keine Ahnung. Da das zu Windows selber gehört, würde ich (wenn es trotz VC-SP6 nicht geht) mal auf die Winupdate-Seite gehen und gucken, ob eine Patchrunde hilft.
Auch, wenn ich es nciht wirklich glaube, aber es ist erstaunlich, wogegen das alles Patches gibt.Ich versuche das mal als neues Projekt zu machen, mal sehen ob ich den Fehler auch bekomme.
Edit: Nein, ich habe natürlich einen anderen:
D:\test\test.cpp(56) : error C2664: 'NetUserGetInfo' : Konvertierung des Parameters 1 von 'char *' in 'const unsigned short *' nicht moeglich
Die Typen, auf die verwiesen wird, sind nicht verwandt; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
Installier mal den VC Servide Pack 6 und guck dann nochmal. Vielleicht geht es dann ja.
Komisch ist: Ich habe die lib nicht extra einbinden müssen.
-
habe gerade den sp5 installiert un deht trotzdem nicht! die Netapi32.dll ist unter projectsettings->link unter Category General eingetragen, wenn ich die als Category Input dann kommt die gleiche fehler meldung :
error LNK2001: unresolved external symbol _NetUserGetInfo@16
ich weis langsam nicht mehr wo ich suchen muß, ich möchte nicht passwort auslesen oder sonst etwas geheimes, will nur wisen ob der user berechtigt ist tasks anzeigen und anzulegen, wenn ich mich als gast anmelde bricht mein programm ab, ist auch gut so denn den abbruch möchte ich abfangen und durch MessageBox ersetztn, in windows erhalte ich statt einen abbruch hüpsche meldung :"Keine Berechtigung"! , oder so in etwa, das ist alles, ich dachte nie dass das so ein problem sein kann! obwohl hier(msdn) viele beispiele vorhanden sind!
gruß
mirsad
-
Du musst doch die lib eintragen, nicht die dll.
Außerdem gibt es einen Service Pack 6.
-
gleich installiere ich auch noch den sp6 für vc6
-
ok, das wars! es fehlte :
lm.h ist war schon vorher drin,#pragma hdrstop #pragma comment( lib, "netapi32.lib" )
jetzt geht auch die NetUserGetInfo()
mfg
-
Glückwunsch!
Auch wenn ich keine Ahnung habe, was die Befehle machen.