%windir% in C++ [erledigt] BIG THX 2 VOLKARD
-
statt
BYTE pfad[4711]; strcpy(pfad,getWindowsPath()); strcat(pfad,"\\SYS\\Porgramm.exe");besser
string pfad=getWindowsPath()+"\\SYS\\Porgramm.exe";und bei der verwendung wenn pfad nicht klappt pfad.c_str() nehmen.
-
volkard schrieb:
statt
BYTE pfad[4711]; strcpy(pfad,getWindowsPath()); strcat(pfad,"\\SYS\\Porgramm.exe");besser
string pfad=getWindowsPath()+"\\SYS\\Porgramm.exe";und bei der verwendung wenn pfad nicht klappt pfad.c_str() nehmen.
funzt fast, bekomm beim compilieren noch einen error und zwar den:
32 C:\Users\Florian\Desktop\Neuer Ordner\SYS\SYS\start.cpp cannot convert `std::string' to `const BYTE*' for argument `5' to `LONG RegSetValueExA(HKEY__, const CHAR, DWORD, DWORD, const BYTE*, DWORD)'
findet er im qellencode hier:
RegSetValueEx(hkey, "Programm", 0, REG_SZ, pfad, sizeof(pfad));
-
Vielleicht
RegSetValueEx(hkey, "Programm", 0, REG_SZ, pfad.c_str(), pfad.size());
-
volkard schrieb:
Vielleicht
RegSetValueEx(hkey, "Programm", 0, REG_SZ, pfad.c_str(), pfad.size());nee, spuck der compiler den error aus:
32 C:\Users\Florian\Desktop\Neuer Ordner\SYS\SYS\start.cpp invalid conversion from `const char*' to `const BYTE*'
32 C:\Users\Florian\Desktop\Neuer Ordner\SYS\SYS\start.cpp initializing argument 5 of `LONG RegSetValueExA(HKEY__, const CHAR, DWORD, DWORD, const BYTE*, DWORD)'
-
Mit Gewalt vielleicht.
RegSetValueEx(hkey, "Programm", 0, REG_SZ, reinterpret_cast<BYTE*>(pfad.c_str()), pfad.size());
-
volkard schrieb:
Mit Gewalt vielleicht.
RegSetValueEx(hkey, "Programm", 0, REG_SZ, reinterpret_cast<BYTE*>(pfad.c_str()), pfad.size());anscheinend gewalt auch keine lösung xD
error:
32 C:\Users\Florian\Desktop\Neuer Ordner\SYS\SYS\start.cpp reinterpret_cast from type `const char*' to type `BYTE*' casts away constness
vielleicht erst convertieren?
http://dotnet-snippets.de/dns/string-in-byte-array-und-zurueck-wandeln-SID67.aspx
-
Vielleicht const vergessen.
RegSetValueEx(hkey, "Programm", 0, REG_SZ, reinterpret_cast<BYTE const*>(pfad.c_str()), pfad.size());
-
volkard schrieb:
Vielleicht const vergessen.
RegSetValueEx(hkey, "Programm", 0, REG_SZ, reinterpret_cast<BYTE const*>(pfad.c_str()), pfad.size());jaaaaaaaaaaaabadabadoooooooooooooooooo
daaaaaaaaanke

du kannst dir garnicht vorstellen wie ich mich grad freue
big thx volkard
-
hätt noch ne frage, wenn jemand zeit hat

wie kann ich nen string in ne pfadangabe mit "system" einbauen
habs so probiertsystem(getWindowsPath()+"\\SYS\\del.exe");dabei kommt dann das raus:
cannot convert `std::basic_string<char, std::char_traits<char>, std::allocator<char> >' to `const char*' for argument `1' to `int system(const char*)'
jemand ne idee wie man den string zu char convertieren kann?
-
string command=getWindowsPath()+"\\SYS\\del.exe";//zusammenbasten, ergebnis ist ein std::string system(command.c_str());//mit .c_str() wird ein entsprechender nullterminierter char* geliefert.
-
volkard schrieb:
string command=getWindowsPath()+"\\SYS\\del.exe";//zusammenbasten, ergebnis ist ein std::string system(command.c_str());//mit .c_str() wird ein entsprechender nullterminierter char* geliefert.wow, sehr elegant gelöst
darauf wär ich ned gekommen
thx nomml