Datei ausführen (mit Login)
-
Also folgendes Problem, ich möchte das man sich erst einloggen muss (mit festgelegtem Passwort/Login) und das Programm dann die Datei ausführt.
Ich bin angehender Programmierer und weiß nich so viel hoffentlich kann mir jemand helfen!
Was is daran falsch?#include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { string login; string password; cout << "Minecraft Server by Boolkin"; cout << "Pleasse Login!"; cout << "Login:"; cin >> l; if(login=="admin") { cout << "Login Correct!"; endl cout << "Password:"; endl cin >> pw; if(password=="boolkin") { cout << "Password Correct!"; endl WinExec("[CraftBukkit Starter.bat",SW_SHOW); endl } else { cout << "Password incorrect, Access denied!"; endl } } else { cout << "Login incorrect, Access denied!"; endl } return 0; }
-
Beschreibe bitte doch erst mal den Fehler. Kompiliert er das erst gar nicht, oder gibt's zur Laufzeit einen Fehler, oder verhält sich das Programm einfach nicht wie gewünscht?
-
Ist das so eine Art Scherz? Das hast du entweder ohne jeden Plan mit Copy&Paste zusammengesetzt oder ... nein, das erste muss richtig sein.
-
Die vars l und pw sind nicht deklariert
-
Ja ich hab relativ wenig ahnung O.o
http://i.imgur.com/37Imm.pngder fehler kommt beim compilieren
-
SeppJ schrieb:
Ist das so eine Art Scherz? Das hast du entweder ohne jeden Plan mit Copy&Paste zusammengesetzt oder ... nein, das erste muss richtig sein.
ne is kein copy&paste:
hab mich vor ner weile schonmal mit c++ auseinander gesetzt.
und jetz wollt ich das was noch so hängen geblieben is halt benutzen.........
-
Mach erst mal alle "endl" weg. Dann versuch noch mal, zu kompilieren. Jetzt dürften es schon deutlich weniger Fehler sein. Dann sieh dir an, was 7xcore geschrieben hat und überlege, was genau du nun tun musst.
-
Thx.
solche antworten (wie mit dem endl und der deklaration)
sind weit hilfreicher als anfänger runterzumachen -.-
-
http://i.imgur.com/2H9yi.png
so funktioniert es jetzt soweit, aber warum wird die datei (craftbukkit starter.bat) nicht gestartet? der befehl an sich ist doch richtig, oder?
-
Boolkin schrieb:
der befehl an sich ist doch richtig, oder?
Höchstwahrscheinlich nicht. Was macht das [ da? Ist die Datei überhaupt im Suchpfad? Und wenn der Name Leerzeichen enthält, dann ist das ziemlich sicher auch falsch so. Für Details zu WinExec verschiebe ich dich aber mal.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
SeppJ schrieb:
Boolkin schrieb:
der befehl an sich ist doch richtig, oder?
Höchstwahrscheinlich nicht. Was macht das [ da? Ist die Datei überhaupt im Suchpfad? Und wenn der Name Leerzeichen enthält, dann ist das ziemlich sicher auch falsch so. Für Details zu WinExec verschiebe ich dich aber mal.
komisch die datein sind im selben ordner, und ich habe das leerzeichen durch einen "_" ersetz. nun wird die c++ exe zwar ausgeführt, aber die .bat datei startet nicht. die konsole wird einfach beendet!
-
Schweinerei...wie kann die Funktion einfach deine bat überspringen...
Vielleicht hast du mit ShellExecute mehr Glückgreetz KN4CK3R
-
Boolkin schrieb:
SeppJ schrieb:
Boolkin schrieb:
der befehl an sich ist doch richtig, oder?
Höchstwahrscheinlich nicht. Was macht das [ da? Ist die Datei überhaupt im Suchpfad? Und wenn der Name Leerzeichen enthält, dann ist das ziemlich sicher auch falsch so. Für Details zu WinExec verschiebe ich dich aber mal.
komisch die datein sind im selben ordner, und ich habe das leerzeichen durch einen "_" ersetz. nun wird die c++ exe zwar ausgeführt, aber die .bat datei startet nicht. die konsole wird einfach beendet!
Zeig doch noch mal aktuellen Code. Außerdem würde ich dir dringend raten, dir Rückgabe von WinExec auszuwerten. Eventuell gibt die Funktion ja einen Fehlercode zurück, der dich weiterbringt.
-
hat sich erledigt, hatte bloß n tippfehler.
aber noch eine frage kennt jemand eine bibliothek für passwort/login ein/auslesen in eine datei? und das das passwort als "*" angezeigt wird? wäre ganz nett aber ansonten geht jetz alles
-
FÜR SOWAS NE BIBI? *sucht den richtigen smilie* ...
Lern erst mal Grundlagen, Kid.
-
Boolkin schrieb:
wäre ganz nett aber ansonten geht jetz alles
Lass mich mal zusammenfassen - sag mir, wenn ich an einer Stelle etwas falsch verstanden habe:
1. Das Ausführen der "Ziel"-Datei ist in Deiner exe per User/Passwort-Eingabe geschützt.
2. Zusätzlich möchtest Du jetzt noch eine Bibliothek einbinden, die User/Pass verschlüsselt im Dateisystem ablegt.
3. Als Krönung der Sicherheit vor unbefugtem Zugriff willst Du die Passworteingabe auch noch aussternen, so ist nämlich dann auch ein Sichtschutz garantiert.Korrekt?
Dann verrate mir doch bitte mal, was um Himmels willen mich davon abhalten sollte, Dein Maximum-Security-Programm links liegen zu lassen und Deine "Starter.bat" einfach direkt aufzurufen?
-
3733t-haXX0r schrieb:
...
Dann verrate mir doch bitte mal, was um Himmels willen mich davon abhalten sollte, Dein Maximum-Security-Programm links liegen zu lassen und Deine "Starter.bat" einfach direkt aufzurufen?Die Ethik!!!!!!!!111
Ethisch korrekte Menschen versuchen nicht Sachen zu machen, die der Entwickler nicht will!!!!!!11
@TE
Deine Motivation in Ehren, aber du solltest erstmal ein Grundlagenbuch zur Programmierung selbst durchgehen. Dann versuchen mit C/C++ durchzustarten...
Dann wirst du auch z. B. so vorgehen:
Die Benutzerinformationen werden in einer externen binären und verschlüsselten Datei (AES) gespeichert. Für die Verwaltung dieser Benutzerdatei wird ein eigenes Tool entwickelt. Warum? Weil Zeichenketten, wie du sie jetzt im Code anwendest, mit jedem simplen Texteditor rausgelesen werden können...
Nach Eingabe der korrekten Benutzerinformationen wird die Java-Anwendung durch Aufruf von ShellExecute(...) ausgeführt (die Starter.bat ist überflüssig bzw. erübrigt jegliche Sicherheitsmechanismen; hier sei angemerkt, dass die Ausführung der Java-Applikation durch JNI effektiver wäre). Der Rückgabewert von ShellExecute wird ausgewertet und im Fehlerfall in einer menschenlesbaren Form angezeigt.Boolkin schrieb:
Thx.
solche antworten (wie mit dem endl und der deklaration)
sind weit hilfreicher als anfänger runterzumachen -.-'Tschuldige, aber ernsthafte Antworten kannst du kaum erwarten. Warum? -> s. Argumentation weiter oben...
Und jetzt wünsch ich dir viel Spaß beim weiteren Studium zum Thema Software-Entwicklung