|
You last visited: Today at 14:32
Advertisement
Startparameter prüfen
Discussion on Startparameter prüfen within the C/C++ forum part of the Coders Den category.
05/14/2012, 12:37
|
#1
|
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,227
|
Startparameter prüfen
Huhu,
ich wolte mein programm überprüfen lassen ob er mit einem bestimmten parameter gestartet wurde. soweit so gut hab ich das halbwegs gemacht, nur funktioniert das nicht gescheit
hoffe um hilfe
Code:
for(int i = 1; i < argc; i++){
if(argv[i] != "lampe"){
MessageBoxA(0, "Execute the launcher", "Error", MB_ICONERROR);
ExitProcess(1);
}
}
|
|
|
05/14/2012, 12:51
|
#2
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
Du kannst C-Strings nicht mit == oder != überprüfen. Dazu brauchst du strcmp oder stricmp, wenn Groß- und Kleinschreibung keine Rolle spielen.
|
|
|
05/14/2012, 13:25
|
#3
|
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,227
|
ich weiß das man strings nicht vergleichen kann
strcmp/stricmp hab ich probiert, hat aber nicht funktioniert.
ich kanns noch mit equals versuchen
|
|
|
05/14/2012, 13:43
|
#4
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
zeig mal deinen strcmp code.
|
|
|
05/14/2012, 14:53
|
#5
|
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,227
|
Quote:
Originally Posted by Dr. Coxxy
zeig mal deinen strcmp code.
|
Code:
for(int i = 1; i < argc; i++){
if(strcmp ("lampe", argv[i]) != 0){
MessageBoxA(0, "Please execute 'XxharCs_Launcher'.", "Error", MB_ICONERROR);
ExitProcess(1);
}
}
|
|
|
05/14/2012, 16:12
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
und was ist das problem?
|
|
|
05/14/2012, 16:22
|
#7
|
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,227
|
wenn ich das prog ohne parameter starte läuft es.
dabei muss das programm mit dem parameter "lampe" gestartet werden, aber durch andere parameter oder keine parameter* darf sich das prog nicht starten
|
|
|
05/14/2012, 16:42
|
#8
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
kein wunder, du machst ja auch ne for schleife über argc, wenn man keine parameter angibt geht er nie in die for schleife rein.
|
|
|
05/14/2012, 17:14
|
#9
|
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,227
|
hab die for-schleife ganz ausgelassen, jetzt funktioniert es wenn ich mit meinem externen programm mit dem parameter das prog starte.
wenn ich es ohne parameter oder falschen parameter starte bekomm ich den crash
"Unbehandelte Ausnahme bei 0x00971232 in XxharCs.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000."
Code:
if(strcmp ("lampe", argv[1]) != 0){ // Hier taucht der Fehler auf
MessageBoxA(0, "Please execute 'XxharCs_Launcher'.", "Error", MB_ICONERROR);
ExitProcess(1);
}
|
|
|
05/14/2012, 17:54
|
#10
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
Natürlich crasht das, wenn du es ohne Parameter startest. argv hat argc Einträge. Rufst du dein Programm nun ohne Parameter auf, dann ist argc 1 und argv beinhaltet nur einen Eintrag. Du greifst aber mit argv[1] auf den 2. Eintrag zu, wodurch du auf Speicher zugreifst, der alles mögliche beinhalten kann.
Prüfe einfach vorher, ob argc <= 1 und du solltest das gewünschte Ergebnis erhalten.
|
|
|
05/14/2012, 17:59
|
#11
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
ich würde ganz einfach
Code:
if(!strstr(GetCommandLineA(),"lampe") {
MessageBoxA(0, "Please execute 'XxharCs_Launcher'.", "Error", MB_ICONERROR);
ExitProcess(1);
}
verwenden..
strstr returned die position des 2. parameters in parameter 1
zur besseren sicherheit würde ich auch eher den parent process überprüfen, nicht sehr gut aber besser
|
|
|
|
Similar Threads
|
PSN-Code prüfen
12/21/2011 - Off Topic - 2 Replies
Hallo,
ich habe hier vor mir einen PSN-Code liegen aber weiß leider nicht, wofür er ist bzw. welchen Wert er hat.
Weiß einer, wie ich das prüfen kann ohne eine Playstation zu haben?
Thxxx
|
DLL auf inject prüfen
05/16/2011 - AutoIt - 10 Replies
Hi,
ist es irgendwie möglich, ob eine spezielle DLL in einen spezifischen Prozess injected wurde?
Speziell geht es mir um den Hack http://www.elitepvpers.com/forum/wow-exploits-hacks -tools-macros/1005654-wowext-xyz-hack-mit-teleport -features.html und die dazugehörige WExt.dll.
|
PromoCodes prüfen
06/09/2010 - WarRock - 5 Replies
Hallo,
kann man irgendwie Promo Codes prüfen ob sie noch nicht eingelöst sind ohne sie dabei gleich zu benutzen ?
Hoffe auf eine schnelle Antwort :D
mfg Marvin
|
Prüfen Sie den Druckserver aus.
10/21/2009 - Metin2 Private Server - 13 Replies
Meine Spülmaschine ist ein Problem, so dass er die Quelle aller Raumfahrt mit der Reinigung schüttelte. Mein Tante wurde eine solche Verwirrung auf der Couch die ganze Zeit.
|
Sicherheit prüfen
06/08/2006 - Technical Support - 0 Replies
Hallo,
ich habe auf meinem Webblog einen Passwortgeschützten Bereich installiert. Jetzt möchte ich die Sicherheit prüfen und benötige ein Programm, dass per Wordlist nur ein Passwort ausprobiert KEINEN username.
Ich habe nämlich keinen Loginbereich mit username und pass sondern einfach nur ein Passwortfeld.
Hier der Quelltext, hab mal geprüft und keine Passwortsource gefunden. Sicher?
<html> <head>
<title>cursusnovus - Weblog @ myblog.de</title>
<meta http-equiv="Content-Type"...
|
All times are GMT +2. The time now is 14:32.
|
|