Password



  • Was machst du denn da? 😮

    if (strcmp(strPW.GetBuffer(strPW.GetLength()),_T("12345"))==0)
    

    das geht doch viel übersichtlicher:

    if (strPW == _T("12345"))
    

    Nur deinen Ansatz mit dem Passwort habe ich nicht verstanden, daher sage ich dazu lieber nix.



  • danke vorerst!
    lassen wir den code einmal vorläufig weg, bitte seid nett und erklärt mir wie ich das ganze von Anfang an beginnen soll. Habe schon vieles probiert, doch da ich auf keinen grünen Zweig komme, ersuche ich euch um Hilfe
    danke



  • Wie du dein eingegebenes Passwort aus dem Eingabefeld holen kannst, hast du ja schon rausbekommen (GetWindowText()), vergleichen sollte auch nicht das Problem sein (CStrings können mit == verglichen werden) und den Button (de)aktivieren kannst du über EnableWindow() - jetzt mußt du das nur noch so zusammenbauen, wie du es brauchst.

    PS: Statt des Gemisch's aus blanken Pointern und CString's solltest du lieber nur CString verwenden.



  • und wenn du in ResourcenEditor auf deinem Dialog mit der rechten maustaste auf das Editfeld und Eigenschaften klickst, kannst du unter dem Register Format nen hacken bei Kennwort setzen dann werden dir nur visuell Sterne für jedes zeichen gesetzt.



  • LowFly schrieb:

    und wenn du in ResourcenEditor auf deinem Dialog mit der rechten maustaste auf das Editfeld und Eigenschaften klickst, kannst du unter dem Register Format nen hacken bei Kennwort setzen dann werden dir nur visuell Sterne für jedes zeichen gesetzt.

    Dann dürfte aber GetWindowText nur noch ****** liefern und man muss auf eine CString-Wertevariable umsteigen. ⚠


  • Mod

    estartu schrieb:

    Dann dürfte aber GetWindowText nur noch ****** liefern und man muss auf eine CString-Wertevariable umsteigen. ⚠

    Nein ES_PASSWORD hat auf GetWindowtext keinen Einfluss! Es wird brav returniert was auch im Control wirklch eingetippt wurde. Oder habe ich Dich jetzt missverstanden, was Du meintest?



  • estartu schrieb:

    LowFly schrieb:

    und wenn du in ResourcenEditor auf deinem Dialog mit der rechten maustaste auf das Editfeld und Eigenschaften klickst, kannst du unter dem Register Format nen hacken bei Kennwort setzen dann werden dir nur visuell Sterne für jedes zeichen gesetzt.

    Dann dürfte aber GetWindowText nur noch ****** liefern und man muss auf eine CString-Wertevariable umsteigen. ⚠

    Warum den so umständlich? Wenn Du dem Editfeld eine Membervariable gibst, dann beinhaltet die auch den echten String. Das Eigenschaften-Flag Passwort zeigt ja nur visuell die Sterne, intern sind die einzelnen Buchstaben schon vorhanden. Da gibts auch so bösartige Tools, die genau da angreifen um solchen Eingaben auszuspähen.

    Edit: genau das was Martin meint; er war halt schneller


  • Mod

    Genau wie AndyDD es schrieb.
    Ein entsprechedes Hacker Utility gibt es unter Codeproject.

    Ein Password würde ich nur zur Eingabe anbieten und einen Schalter irgendwo in der Administration dieses zu verändern. Einen Dialog in dem das alte Password zum Editieren angeboten würde würde ich um alles in der Welt vermeiden.



  • Martin Richter schrieb:

    Ein entsprechedes Hacker Utility gibt es unter Codeproject.

    ...und die entsprechenden Möglichkeiten, dies zu verhindern ebenfalls 😉 .



  • danke euch allen, Problem gelöst. Prog. funkt,
    wäre etwas für die FAQ,



  • Martin Richter schrieb:

    estartu schrieb:

    Dann dürfte aber GetWindowText nur noch ****** liefern und man muss auf eine CString-Wertevariable umsteigen. ⚠

    Nein ES_PASSWORD hat auf GetWindowtext keinen Einfluss! Es wird brav returniert was auch im Control wirklch eingetippt wurde. Oder habe ich Dich jetzt missverstanden, was Du meintest?

    Nein, du hast mich richtig verstanden.
    Aber das wusste ich wirklich noch nicht. 😮


Anmelden zum Antworten