[delphi] PasswordChar voor XP

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
:? Wat is het probleem?
Ik heb een TEdit met een PasswordChar op * staan. Werkt in alle OSsen prima. Maar als de user nou Windows XP op 2003 server draait (de controle daarop is het probleem ook niet), wil ik die mooie rondjes weergeven. Ik weet niet welke dat zijn of hoe ik de juiste rondjes krijg.

:? Wat heb ik geprobeerd?
• Wingdings, PasswordChar = $9F
• Wingdings 2, PasswordChar = $97
• Symbol, PasswordChar = $B7
• Symbol, PasswordChar = $A8
En allemaal zijn het ze (net) niet... Ik heb nog wel het teken $25CF in de unicode-set van Tahoma gevonden, maar PasswordChar is helaas geen WideChar, dus dat wordt al lastig...
Ik heb ook al geprobeerd om ES_PASSWORD aan de window styles van de TEdit toe te voegen, en de PasswordChar te laten voor wat ie is. Volgens MSDN moet ie dan de default password char krijgen, maar dat blijkt dus bullcrap.

:? Een "·" met een groter font?
Nee, een groter of kleiner font kan het ook niet zijn, omdat de cursor dan ook van grootte verandert en dat gebeurt in XP password edits niet.

Wie weet wat de goeie is? Of iig hoe het juiste effect te bereiken?

日本!🎌


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:45

Creepy

Tactical Espionage Splatterer

Gewoon de * laten staan waar XP zelf dat mooie rondje van maakt (aangezien het ook in oudere applicaties werkt..)..

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 22-08 18:19

Hu9o

Schokkend

Nee winxp maakt geen cikels van die sterretjes

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


Verwijderd

heb geen xp maar is dit ongeveer waar je naar zocht?: °

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Heb zojuist eens rondgekeken op google groups.
Het lijkt er op dat Windows XP volledig anders omgaat met passwords dan zijn voorgangers. Vroeger kon je door het senden van een message de tekst uit een password-box makkelijk alsnog uitlezen. Tegenwoordig blijkt dat niet meer te werken. Reden hiervoor is dat de editboxen niet meer de tekst bevaten, die gemaskeerd wordt door *, maar alleen nog maar de welbekende rondjes. Als je de dmv een message probeert een wachtwoord uit een XP-password-edit probeert op te vragen, krijg je niks!

Dit wordt zeer waarschijnlijk gedaan door bij de onkeypress het karakter op te vangen en in een buffer te plaatsen. Vervolgens wordt er een rondje neergezet voor elk karakter. Het lijkt me dus dat, als je dat wilt evenaren, dat je dan zoiets zult moeten namaken. Wellicht is er op Torry of op de Delphi Super Page al een component voor te vinden, maar het lijkt er dus op dat dit met de standaard delphi-edit niet gaat lukken.....

My personal website


  • Hu9o
  • Registratie: Mei 2001
  • Laatst online: 22-08 18:19

Hu9o

Schokkend

Het klinkt wel logishc wat je zegt.

Kijk anders ook ff op nldelphi.com hebben ze ook veel knowhow ;)

>>>>>>>>>>>>>>>>>>>>>>>>>Vertel Microsoft over dit probleem <<<<<<<<<<<<<<<<<<<<<<<<<


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Toch heb ik net als Creepy gemerkt dat oudere applicaties toch vaak probleemloos met Xp werken; dit gaat echter niet over 2003 server...

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Spider.007 schreef op 05 juni 2003 @ 18:18:
Toch heb ik net als Creepy gemerkt dat oudere applicaties toch vaak probleemloos met Xp werken; dit gaat echter niet over 2003 server...
Wellicht is het dan zo dat er een bepaald apart component is dat Windows als password-edit gebruikt waardoor de overgang naar XP goedgaat. Als dat zo is zou dat betekenen dat OF de VCL-versie van Borland nog niet XP-proof is, OF dat ze bij Borland een eigen component ghebben gemaakt dat bijna precies hetzelfde doet, maar niet helemaal.
Je zou de echte Windowscomponent dan vast ergens uit een dll moeten kunnen halen...?

Misschien is dit na te zoeken op de site van Borland, maar ikzelf ga toch nog voor de manier van werken van de verschillende versie van Windows met wachtwoorden, vooral ook vanwege het feit dat je de tekst niet kunt lezen door een GET_TEXT te messagen.

[ Voor 6% gewijzigd door OZ-Gump op 05-06-2003 18:58 ]

My personal website


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 01:25

Tomatoman

Fulltime prutser

Ik heb laatst een heel eenvoudig componentje geschreven dat onder Windows XP keurig die rondjes geeft zonder dat je met fonts hoeft te klooien.

Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
unit PassEdit;

interface

uses Windows, Controls, StdCtrls;

type
  { TPasswordEdit is a password edit box with theme support }
  
  TPasswordEdit = class(TEdit)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;

implementation

procedure TPasswordEdit.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  { Windows XP: If the edit control is from user32.dll, each character
    is displayed as an asterisk. However, if the edit control is from
    comctl32.dll version 6, characters are displayed as black circles. }
  Params.Style := Params.Style or ES_PASSWORD;
end;

end.

Mocht je er toch problemen mee hebben, dan ben ik daar wel benieuwd naar.

Een goede grap mag vrienden kosten.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Just a thought maar heb je wel een manifest aangemaakt waardoor je applicatie de nieuwste comctl32.dll met themed buttons etc en vooral ook een nieuwe password-edit-control gebruikt?

Professionele website nodig?


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Hmm, vaag dat het met zo'n componentje zou werken, want je zou zeggen dat het een karakter is dat toch ergens gedefinieerd moet zijn... magoed, ik zal het ns gaan proberen.

En ja, ik gebruik Mike Lischke's ThemeManager, dus met die manifest zit het wel goed.

/edit
tomatoman _/-\o_
Het werkt dus. Ook als themes uitstaan blijkbaar (zo hoort het ook), zolang de manifest dus maar aanwezig is. Wel vaag dat het met SetWindowLong niet ging, als ik daaraan GWL_STYLE en de oude style + ES_PASSWORD meegeef, zou je verwachten dat dat hetzelfde doet als tomatoman's componentje...

[ Voor 46% gewijzigd door _Thanatos_ op 05-06-2003 22:00 ]

日本!🎌


Verwijderd

Hu9o schreef op 05 June 2003 @ 17:31:
Het klinkt wel logishc wat je zegt.
Dit klinkt helemaal niet logisch. Dit zou betekenen dat *alle* standaard applicaties die gebruik maken van wachtwoord invoer met de standaardfunctionaliteit van Windows, onder Windows XP opeens niet meer goed zouden werken!

Ik denk dat er gewoon extra shell functionaliteit bij is gekomen.

Verwijderd

_Thanatos_ schreef op 05 juni 2003 @ 21:53:
Hmm, vaag dat het met zo'n componentje zou werken, want je zou zeggen dat het een karakter is dat toch ergens gedefinieerd moet zijn... magoed, ik zal het ns gaan proberen.

En ja, ik gebruik Mike Lischke's ThemeManager, dus met die manifest zit het wel goed.

/edit
tomatoman _/-\o_
Het werkt dus. Ook als themes uitstaan blijkbaar (zo hoort het ook), zolang de manifest dus maar aanwezig is. Wel vaag dat het met SetWindowLong niet ging, als ik daaraan GWL_STYLE en de oude style + ES_PASSWORD meegeef, zou je verwachten dat dat hetzelfde doet als tomatoman's componentje...
Dit schijnt een van de dingen te zijn die je alleen tijdens de creatie van het component kunt instellen en naderhand niet meer kunt wijzigen.

http://groups.google.nl/g...nce.castle.net%26rnum%3D1

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Vroeger kon je door het senden van een message de tekst uit een password-box makkelijk alsnog uitlezen. Tegenwoordig blijkt dat niet meer te werken.
Vergeet niet dat het password dan wel eerst ingetypt moet zijn, dus je hebt daar alleen wat aan als het om je eigen passwords gaan die alvast ingevuld zijn ;)
Dit wordt zeer waarschijnlijk gedaan door bij de onkeypress het karakter op te vangen en in een buffer te plaatsen. Vervolgens wordt er een rondje neergezet voor elk karakter.
Ga er maar aan staan dan... Ik zie het al voor me: ik ga alle input handling nabouwen, om een password edit te maken |:(
Nee, die edit is, zoals enkele posts hierboven duidelijk werd, prima in staat zelf het password te verbergen.

日本!🎌

Pagina: 1