none
Passwortgeschütze Textausgabe und externe Programme öffnen c++2010 RRS feed

  • Frage

  • Hallo,

    ich möchte mit einer .net Windows Forms Anwendung folgendes machen:

    Sie soll ein Textfeld haben, in dass ich ein Passwort eingeben kann. Wenn ich das richtige Passwort eingegeben habe soll ein Text erscheinen, am besten mit der MessageBox. Also im prinzip Text mit einem Passwort verschlüsseln

    Und sie soll externe Programme öffnen können, also einfach ein Button mit verlinkung zu einer .exe.

     

    Wäre sehr dankbar wenn mir einer den Code dafür geben könne bin Anfänger!

    Freitag, 3. Juni 2011 21:22

Antworten

  • Wenn Du schon C++/CLI machen musst, dann bitte konsequent: Also Anstall "ShellExecute" verwende bitte "System::Diagnostics::Process::Start"!

    Und siehe auch:
    http://blog.kalmbach-software.de/de/2010/03/05/ccli-und-winforms-macht-keinen-sinn/


    Jochen Kalmbach (MVP VC++)
    Samstag, 4. Juni 2011 11:56
  • Habs jetzt hinbekommen mit der Passwortabfrage! Danke nochmals an Visual CPlusPlus

     

    String ^s = textBox1->Text;
                     String ^x = ("passwort");

                     if(s==x)
                     { MessageBox::Show("Richtiges PW");
                     }
                     else
                     MessageBox::Show(" Falsches Passwort");

     

    Edit: Das einzige was ich irgendwie nicht gebacken bekomme ist die Sache mit dem externen Programm öffnen. Kann mir das mal jemand erklären? Was muss ich da alles machen?



    Samstag, 4. Juni 2011 09:11

Alle Antworten

  • Hallo,

    ich möchte mit einer CLR/Windows Forms Anwendung folgendes machen:

    Sie soll ein Textfeld haben, in dass ich ein Passwort eingeben kann. Wenn ich das richtige Passwort eingegeben habe soll ein Text erscheinen, am besten mit der MessageBox.

    Und sie soll externe Programme öffnen können, also einfach ein Button mit verlinkung zu einer .exe.

     

    Wäre sehr dankbar wenn mir einer den Code dafür geben könne bin absoluter Anfäger!

    Freitag, 3. Juni 2011 17:58
  • Programme starten kann man mit WinExec oder ShellExecute. Registrierte Anwendungen (Word, VS, Notepad, ...) brauchen keinen Pfad.

    Möchtest du über deinem Editfeld diese Passwortansicht(********) haben, oder geht es dir um das Auslesen der Datenm aus dem Edit feld?


    VisualCPlusPlus
    Freitag, 3. Juni 2011 19:12
  • Danke für die Antwort!

    Ja ich möchte die Passwortansicht haben, geht ja aber ganz einfach mit PasswordChar. Wie gesagt ich möchte in das Textfeld dass Passwort eingeben und dann per klick auf den Button soll über die MessageBox ein Text erscheinen. Also praktisch den Text mit nem Passwort verschlüsseln und.

    Edit:

    Hab mal ein bisschen mit dem ShellExecute rumprobiert kannst du mir ein Beispiel machen wie ich die richtige anwende. Ich will die Anwendung ja mit dem Klick auf den Button starten. Ist das auch für .net?

    • Bearbeitet germanman Freitag, 3. Juni 2011 21:04
    Freitag, 3. Juni 2011 20:46
  • Ich kenn mich mit Windows Forms nicht so gut aus.
       String^ s = textBox1->Text;
    damit wird aus textBox1 der Inhalt in die Variable s kopiert.

    mit
       if(strcmp(string1, string2))
        {
        //string1 == string 2
        }

    kann man Strings vergleichen

    in der MFC kann man Messageboxen mit
       MessageBox(_T("Text\nNeue Zeile"), _T("Titel der MB"), MB_OK | MB_INFORMATION);
    erzeugen

    bei einfachen Meldungen ginge auch
       AfxMessageBox
    wie man das aber bei Windows Forms geht weiß ich nicht.

    Um den Buttonklick abzufangen musst du einen Meldunghandler für den Button hinzufügen. Bei der MFC: Rechtsklick auf SE->Steuelement hinzufügen


    VisualCPlusPlus
    Freitag, 3. Juni 2011 20:54
  • Grundsätzliche Anmerkung: Germanman du bist mit winform im falschen forum. da gibt es ein c++/cli forum da gibts wahrscheinlich mehr hilfe
    Freitag, 3. Juni 2011 21:06
  • Oh, sorry hatte ich nicht bemerkt bin durch Google direkt auf dieses Forum gekommen. Trotzdem danke für die Hilfe!
    Freitag, 3. Juni 2011 21:19
  • http://social.msdn.microsoft.com/Forums/de-CH/visualcclide/thread/02a0631e-bbe2-4f9f-8ae6-4d4110da04a0
    Hier der neue Forum-Thread
    VisualCPlusPlus
    Freitag, 3. Juni 2011 21:30
  • Habs jetzt hinbekommen mit der Passwortabfrage! Danke nochmals an Visual CPlusPlus

     

    String ^s = textBox1->Text;
                     String ^x = ("passwort");

                     if(s==x)
                     { MessageBox::Show("Richtiges PW");
                     }
                     else
                     MessageBox::Show(" Falsches Passwort");

     

    Edit: Das einzige was ich irgendwie nicht gebacken bekomme ist die Sache mit dem externen Programm öffnen. Kann mir das mal jemand erklären? Was muss ich da alles machen?



    Samstag, 4. Juni 2011 09:11
  • Habs mal mit      ShellExecute(0, "open", "run.exe", 0, 0, SW_SHOWNORMAL );     versucht. Allerdings bekomme ich folgende Fehlermeldung:

    Fehler    1    error C2664: 'ShellExecuteW': Konvertierung des Parameters 2 von 'const char [5]' in 'LPCWSTR' nicht möglich

    Was ist das?

     

     

    Samstag, 4. Juni 2011 11:31
  • Wenn Du schon C++/CLI machen musst, dann bitte konsequent: Also Anstall "ShellExecute" verwende bitte "System::Diagnostics::Process::Start"!

    Und siehe auch:
    http://blog.kalmbach-software.de/de/2010/03/05/ccli-und-winforms-macht-keinen-sinn/


    Jochen Kalmbach (MVP VC++)
    Samstag, 4. Juni 2011 11:56
  • Zitat aus dem Link von Jochen: "MFC in der Express-Edition"

    Ich hab durch einen Kollegen die Professional Edition da der die Beruflich braucht erhalten da gibt auch MFC. Was ist da der unterschied? Ist das schwerer?

    Samstag, 4. Juni 2011 14:09
  • MFC ist ein "native" C++ Framework für Windows. Es ist schwerer wie WinForms.

    Wenn Du was einfaches machen willst, dann verwende C# und WinForms.

    Wenn Du etwas machen willst, was überall ohne installation von .NET läuft, dann verwende MFC (oder ein anderes native GUI Framework, wie z.B. Qt).


    Jochen Kalmbach (MVP VC++)
    Samstag, 4. Juni 2011 14:40