Audi Geschrieben 28. Februar 2008 Teilen Geschrieben 28. Februar 2008 Hallo, will nur den DomainNamen/WorkgroupNamen ausgeben, welche Funktion benutze ich da am besten? Habe nachgeschaut es gibt min. 2: get_DomainDNSName getDomainName welche ist besser, oder gibt es noch welche die leichter zu handhaben ist? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. Februar 2008 Teilen Geschrieben 28. Februar 2008 get_DomainDNSNameDu meinst vermutlich das IADsADSystemInfo-Property DomainDNSName. Das ist ADSI. getDomainNameMeinst du WHSInfoClass.GetDomainName? Das hat nun mit normalem C++ gar nichts mehr zu tun. welche ist besser, oder gibt es noch welche die leichter zu handhaben ist? - GetComputerNameEx - NetWkstaGetInfo Aber das haben wir doch alles schon mal durchgekaut... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 28. Februar 2008 Autor Teilen Geschrieben 28. Februar 2008 - GetComputerNameEx - NetWkstaGetInfo Aber das haben wir doch alles schon mal durchgekaut... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 28. Februar 2008 Teilen Geschrieben 28. Februar 2008 Beide funzen auf Win98 nicht.Ich weiß, das hatten wir doch alles schon. Das gilt auch für IADsADSystemInfo::DomainDNSName, es sei denn, du installierst vorher die Active Directory Client Extension. Ich habs jetzt doch mit GetComputerName hinbekommen, brauche nur noch die Domäne Ausgabe.Was heißt denn "nur noch"? Dass du den Rechnernamen (genauer: den NetBIOS-Namen) mit GetComputerName ermitteln kannst, war doch klar. Klar war doch auch, dass nur der Domänenname ein Problem ist. Und was du tun kannst, um an den Domänennamen zu kommen, haben wir auch schon mehrfach durchgekaut. Warum machst du dazu immer wieder neue Threads auf? An der Situation ändert sich doch nichts. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 28. Februar 2008 Autor Teilen Geschrieben 28. Februar 2008 Kannst du mir mit den Strigs einen Tip geben? Wie Lese ich Strings aus MS-DOS aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 29. Februar 2008 Teilen Geschrieben 29. Februar 2008 Wie Lese ich Strings aus MS-DOS aus?Die Eingabeaufforderung hat mit MS-DOS nichts zu tun. Leite die Ausgabe in eine Datei um und lies die Datei ein. Hier ist ein Beispiel für ein deutsches Windows XP: #include <iostream> #include <fstream> #include <sstream> #include <string> #include <cstdio> using namespace std; int main() { remove( "out.txt" ); system( "cmd /C net config workstation > out.txt"); string domainKey = "Arbeitsstationsdom\x84ne"; string nameKey = "Computername"; string domain, name, dummy; { ifstream file("out.txt"); string line; while( getline( file, line ) ) { if( domain.empty() && line.find( domainKey ) != string::npos ) { istringstream( line ) >> dummy >> domain; } if( name.empty() && line.find( nameKey ) != string::npos ) { istringstream( line ) >> dummy >> name; } } } remove( "out.txt" ); cout << name << '\n' << domain << '\n'; }[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 29. Februar 2008 Autor Teilen Geschrieben 29. Februar 2008 ok ich habs! aber viel einfacher: system("net config workstation > C:\\Text.txt"); Muss jetzt noch den Text Zeichenweise einlesen, filtern bzw. sagen wo er was ausgeben soll. thx für deine Hilfe!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 29. Februar 2008 Teilen Geschrieben 29. Februar 2008 aber viel einfacher: system("net config workstation > C:\\Text.txt");Damit wirst du zumindest unter Vista Probleme bekommen, denn da hast du, soweit ich weiß, als normaler Benutzer keine Schreibrechte auf C:\. Muss jetzt noch den Text Zeichenweise einlesen, filtern bzw. sagen wo er was ausgeben soll.Der Code zum Einlesen und Filtern ist doch in meinem Beispiel schon drin. :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 29. Februar 2008 Autor Teilen Geschrieben 29. Februar 2008 Echt, überhaupt auf der C Platte? Also geht Eigene Dateien auch nicht? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 29. Februar 2008 Teilen Geschrieben 29. Februar 2008 Echt, überhaupt auf der C Platte?Nicht auf dem ganzen Laufwerk. Im Wurzelverzeichnis. Es wäre schlecht, wenn ein Benutzer nicht seine Eigenen Dateien verändern könnte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 29. Februar 2008 Autor Teilen Geschrieben 29. Februar 2008 Wie kann ich z.B die 3Zeile auslesen aus so einem Text: Name;;;;;;;;;Kölsch Vorname;;;;;;Klaus Alter;;;;;;;;;;drei :confused: Strichpunkte sind Leerzeichen, Editor kann irgendwie keine Leerzeichen ausgeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 29. Februar 2008 Teilen Geschrieben 29. Februar 2008 Schau dir meinen Beispielcode an. Genau das, was du suchst, passiert da, nur dass das Schlüsselwort "Computername" heißt, nicht "Alter". Die Anzahl der Leerzeichen zwischen den Wörtern ist dabei völlig egal, die überspringt der >>Operator sowieso. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 29. Februar 2008 Autor Teilen Geschrieben 29. Februar 2008 Ich habe es bischen falsch formuliert! Dein Programm läuft und ich habe auch schon eine Lösung, aber auf die zweite Lösung komme ich nicht, das Problem dabei ist ja dass es für alle Sprachen sein soll, da kann ich mich nicht auf Namen beziehen. In Deutsch habe ich dass Problem schon nach 10Min. gelöst funzt perfekt auf jedem OS, aber mit den verschiedenen Sprachen ist es schwieriger, da ich noch nicht mal weiß welche Sprachen das Programm unterstützen soll, ist aber auch egal, muss mit jeder laufen. Ich muss das Wort hinter den vielen Leerzeichen ausgegeben bekommen auch wenn die Zeile so aussiet:" Computer bla bla;;;;;;;Nummer". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 29. Februar 2008 Autor Teilen Geschrieben 29. Februar 2008 Die Lösung müsste irgenwie so aussehen: Schaue in die Zeile 15 "Wort1" "Wort2" (zwischen Wort1und2 ist immer nur max. 1Leerzeichen) überspringe alle Leerzeichen die danach kommen, bis das nächste Wort(Wort3) kommt, gebe Wort3 aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 3. März 2008 Teilen Geschrieben 3. März 2008 C++ Programming HOW-TO: The Standard C++ Library string class -> "7.3 A string tokenizer" Splitte einfach nach Leerzeichen und dann trime. :floet: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Audi Geschrieben 4. März 2008 Autor Teilen Geschrieben 4. März 2008 Danke! werds später mal ausprobieren,, bin jetzt an einem anderen Problem dran. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.