Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#72

Re: PasswordManager v2.0

  Alt 14. Aug 2006, 18:45
Zitat von Florian Bernd:
Du musst nur die Bitmaps so ändern, dass die Transparensfarbe unten rechts ist statt oben links.
Bist Du dir da sicher... Kuck dir doch grad mal im Screenshot das Eurozeichen an... Das hat unten rechts auch diese Pink Farbe.

Noch 2 Bemerkungen bzw. Anregungen zur neuen Version:
  • Das Programm hat das Problem, wenn aus dem Tray heraus wieder angezeigt wird, dass es unter allen anderen Fenstern dargestellt wird, also verdeckt ist... Ich hatte das gleich Problem, und habs mit folgendem Code gelöst (glaub ich auch hier in der DP gefunden zu haben). Vielleicht ist er ja auch nützlich für dich.
    Delphi-Quellcode:
    function ForceForegroundWindow(hwnd: THandle; Delay : Integer): Boolean;
    const
      SPI_GETFOREGROUNDLOCKTIMEOUT = $2000;
      SPI_SETFOREGROUNDLOCKTIMEOUT = $2001;
    var
      ForegroundThreadID: DWORD;
      ThisThreadID: DWORD;
      timeout: DWORD;
    begin
      if delay <> 0 then
        sleep(delay);

      if IsIconic(hwnd) then ShowWindow(hwnd, SW_RESTORE);

      if GetForegroundWindow = hwnd then Result := True
      else
      begin
        if ((Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion > 4)) or
          ((Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and
          ((Win32MajorVersion > 4) or ((Win32MajorVersion = 4) and
          (Win32MinorVersion > 0)))) then
        begin
          Result := False;
          ForegroundThreadID := GetWindowThreadProcessID(GetForegroundWindow, nil);
          ThisThreadID := GetWindowThreadPRocessId(hwnd, nil);
          if AttachThreadInput(ThisThreadID, ForegroundThreadID, True) then
          begin
            BringWindowToTop(hwnd);
            SetForegroundWindow(hwnd);
            AttachThreadInput(ThisThreadID, ForegroundThreadID, False);
            Result := (GetForegroundWindow = hwnd);
          end;
          if not Result then
          begin
            SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout, 0);
            SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, TObject(0),
              SPIF_SENDCHANGE);
            BringWindowToTop(hwnd);
            SetForegroundWindow(hWnd);
            SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
              TObject(timeout), SPIF_SENDCHANGE);
          end;
        end
        else
        begin
          BringWindowToTop(hwnd);
          SetForegroundWindow(hwnd);
        end;
        Result := (GetForegroundWindow = hwnd);
      end;
    end;
  • Wenn ich die Sicherheitsabfrage abschalte, ob ich speichern will, vertrete ich eher die Meinung, dass beim Beenden bzw. Minimieren automatisch gespeichert wird, und nicht automatisch gecancelled wird.
Ich werd aber noch weiter fleissig dran testen, da mir das Programm sehr gefällt und es auch sehr gelungen implementiert ist... Jetzt müssen wir nur noch Hagen oder sonst einen Crack drüberjagen, der was zum Thema Sicherheit der gespeicherten Passwörter sagen kann, sowohl in der Datei, als auch im Speicher, wenn der Container geladen ist.
  Mit Zitat antworten Zitat