Probleme mit GetUserName
-
Hi No-Name,
Deine Funktion funktioniert anne für sich. Leider bleibt mein Problem.
#define BUFSIZE 8192 LPTSTR lpszSystemInfo; // pointer to system information string DWORD cchBuff = BUFSIZE; // size of computer or user name TCHAR tchBuffer[BUFSIZE]; // buffer for string lpszSystemInfo = tchBuffer; LPTSTR sUserName; // Get and display the name of the computer. if( GetComputerName(lpszSystemInfo, &cchBuff) ) sUserName = lpszSystemInfo; cchBuff = BUFSIZE; if( GetUserName(lpszSystemInfo, &cchBuff) ) sUserName = lpszSystemInfo; // in sUserName steht mein Username. So wie es soll. CString Favoriten = "C:\\Dokumente und Einstellungen\\"; Favoriten += sUserName; Favoriten += "\\Favoriten\\Google.lnk"; // In Favoriten steht wieder nichts. // Schnellüberwachung sagt: + Favoriten {0x00000000 <Schlechtes Ptr>} ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >Wieso kann ich einen ganz normalen CString keinen Text übergeben???
Normal ist das nicht.
-
Hi,
UpdateData(FALSE);
schon gemacht ?????
hoffe konnte helfen
weisnichtweiter
-
Wieso denn UpdateData(FALSE); ????
Ich schreibe ja nichts in ein Dialogfeld.
Vielmehr befinde ich mich noch in der OnInitDialog();
-
Hi,
da erst die daten durch updatedata() übernommen werden muss
updatedata(false) aufgerufen werden (bei einem CString).
zumindest kenne ich es nur so. vielleicht gibt es ja noch ne andere
möglichkeit, wenn wuerde mich das auch gern interessieren.
ansonsten bleibt nur die möglichkeit mit LPTSTR oder LPCTSTR oder char
denn dort brauchst du dann nichts weiteres aufrufen (updatedata() ).hoffe konnte helfen
weisnichtweiter
-
Trikor schrieb:
CString Favoriten = "C:\\Dokumente und Einstellungen\\"; Favoriten += sUserName; Favoriten += "\\Favoriten\\Google.lnk"; // In Favoriten steht wieder nichts. // Schnellüberwachung sagt: + Favoriten {0x00000000 <Schlechtes Ptr>} ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >Müsste glaube ich
CString Favoriten = "C://Dokumente und Einstellungen//"; Favoriten += sUserName; Favoriten += "//Favoriten//Google.lnk"; // In Favoriten steht wieder nichts. // Schnellüberwachung sagt: + Favoriten {0x00000000 <Schlechtes Ptr>} ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >also \ in / umwandeln, das hatte mal bei mir Probleme bereitet, weiß aber nicht ob es auch hier hilft
-
Die Daten werden durch UpdateData(TRUE/FALSE) von Dialog in Variable bzw von Variable in Dialog geschrieben.
Das hat aber nichts damit zu tun, das ich in eine normale lokale CString-Variable keinen Satz reinbekomme.
-
@Compufreak[C++]
Da hast Du was durcheinander gebracht.
Lokal nutzt man \\ das ergibt dann ein \ Siehe Explorer
Online nutzt man http:// Siehe Adressleiste deines Browsers.
-
Hallo Trikor
ofstream out("C:/test/crypt.txt");Das hier zum Beispiel funktioniert bei mir.
ofstream out("C:\test\crypt.txt");Während das nicht funktioniert.
Warum das so ist weiß ich nicht, war mir nur mal aufgefallen als ich ein Programm geschrieben hab.
-
Merkwürdig, aber darum geht es eigentlich nicht.
Es geht ja nichtmal ein
Favoriten = "Hallo";
Kann es daran liegen, das ich noch in der OnInitDialog(); bin?
Eigentlich ja nicht, oder?
-
Hi,
Jetzt sollte es nukkeln
DWORD dwBuffer = 256;
CString strUserName,strFavoriten="C:\\Dokumente und Einstellungen\";
CString strtmp,strGoogle="\\Favoriten\\Google.lnk";
GetUserName(strUserName.GetBuffer(255), &dwBuffer);
strtmp.Format("%s %s %s",strFavoriten,strUserName,strGoogle);
MessageBox(strtmp,strUserName,MB_OK);hoffe konnte helfen
weisnichtweiter
-
Du könntest auch .LoadString(UINT nID)
du müsstest "\\Favoriten\\Google.lnk"; dann nur in eine ID speichern, ob es klappt weiß ich nicht, konnte es noch nicht testen.Vielleicht hilft es ja
-
@weisnichtweiter
Danke jetzt geht´s. Das Prob fand ich trotzdem sehr merkwürdig.
Aber mal was anderes. Gibt es eine Funktion, die den Domain-Namen zurück gibt?
Sollte der Computer in einer Domäne sein, würden die Favoriten ja in
C:\Dokumente und Einstellungen\trikor.Domänenname\FavoritenGetDomainName() geht leider nicht. Wäre auch zu leicht gewesen.