WindowFromPoint_() geändert?[Erledigt]

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

WindowFromPoint_() geändert?[Erledigt]

Beitrag von Falko »

Code: Alles auswählen

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=906&highlight=
; Author: Volker (updated for PB 4.00 by Andre)
; Date: 06. May 2003
; OS: Windows
; Demo: No


; Klartext 
; 
; ändert die EM_SETPASSWORDCHAR-Eigenschaft eines Textfeldes via API, 
; so dass das Auslesen des Passwortes im Klartext möglich wird. 
; Nach dem Start den Cursor über ein Passwort-Textfeld bewegen. 
; 
; 06.05.2003 Volker 
; Change for PB5Beta8 and Windows 8 , 31.10.2012

#SWP_NOMOVE = $2 
#SWP_NOSIZE = $1 
#HWND_TOPMOST = -1 
#HWND_NOTOPMOST = -2 

#EM_SETPASSWORDCHAR = $CC 

#Text1 = 1 
#Label2 = 2 



Structure POINTAPI 
  X.l 
  Y.l 
EndStructure 
Global hwnd.l, Title.s

;/////////////////////////////////////////////////////////// 
Procedure getWindowUM() 
  ;/////////////////////////////////////////////////////////// 
  Global Dim P.POINTAPI(1) 
  lo.l 

  
  ;Cursorposition auslesen 
  GetCursorPos_(P(0)) 
  
  ;Das entsprechende Fenster finden 
  ;lo = WindowFromPoint_(P(0)\X , P(0)\Y) 
  lo = WindowFromPoint_(P(0)\X | P(0)\Y << 32) 
  
  ;Den Titel auslesen 
  Title = Str(GetWindowTextLength_(lo)) 
  GetWindowText_ (lo, Title, 100) 
  
  ;Ergebnis anzeigen 
  SetGadgetText (#Text1, Title) 
  
  ;Den Passwortcharacter entfernen 
  SendMessage_ (lo, #EM_SETPASSWORDCHAR, 0, "") 

EndProcedure 


;/////////////////////////////////////////////////////////// 
Procedure Open_Window() 
  ;/////////////////////////////////////////////////////////// 
  hwnd = OpenWindow(#Label2, 352, 182, 270, 98, "Klartext", #PB_Window_MinimizeGadget |#PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar ) 
  ;If CreateGadgetList(WindowID(#Label2)) 
    StringGadget(#Text1, 10, 10, 250, 30, "") 
  ;EndIf 
EndProcedure 



;-Main //////////////////////////////////////////////////////////////////////////////// 

Open_Window() 

;Formular immer oben halten 
SetWindowPos_ (hwnd, #HWND_TOPMOST, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE) 

Repeat 
  Event = WaitWindowEvent() 
  getWindowUM() 

Until Event = #PB_Event_CloseWindow 
End

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
; EnableAsm
WindowFromPoint nochmal angepasst.

Im Foglendem mit Structure:

Code: Alles auswählen

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=906&highlight=
; Author: Volker (updated for PB 4.00 by Andre)
; Date: 06. May 2003
; OS: Windows
; Demo: No

; WindowFromPoint neu angepasst von Falko
; Klartext
;
; ändert die EM_SETPASSWORDCHAR-Eigenschaft eines Textfeldes via API,
; so dass das Auslesen des Passwortes im Klartext möglich wird.
; Nach dem Start den Cursor über ein Passwort-Textfeld bewegen.
;
; 06.05.2003 Volker
; Source von Volker here:  http://www.purearea.net/pb/CodeArchiv/Encode+Decode/Password-Finder.pb
; 24.07.2011 Falko (change WindowFromPoint) PB5B7 http://www.purebasic.fr/german/viewtopic.php?f=6&t=23458
; Change for PB5Beta8 and Windows 8 , 31.10.2012



EnableExplicit


#SWP_NOMOVE = $2
#SWP_NOSIZE = $1
#HWND_TOPMOST = -1
#HWND_NOTOPMOST = -2

#EM_SETPASSWORDCHAR = $CC

#Text1 = 1
#Label2 = 2

Global hwnd.l
Define Event.l

Structure Point64
  StructureUnion
    p.POINT
    q.q  
  EndStructureUnion
EndStructure 
Global Title.s

;///////////////////////////////////////////////////////////
Procedure getWindowUM()
;///////////////////////////////////////////////////////////
  Protected cursor.POINT64, lo.l;, Title.s
  
  GetCursorPos_(@cursor.POINT64) 
  lo = WindowFromPoint_( cursor\q );Den Titel auslesen
  
  Title = Str(GetWindowTextLength_(lo))
  GetWindowText_ (lo, Title, 100)
   
  ;Ergebnis anzeigen
   SetGadgetText(#Text1, Title)
 
  ;Den Passwortcharacter entfernen
  SendMessage_ (lo, #EM_SETPASSWORDCHAR, 0, "")

EndProcedure


;///////////////////////////////////////////////////////////
Procedure Open_Window()
;///////////////////////////////////////////////////////////
  hwnd = OpenWindow(#Label2, 352, 182, 270, 98, "Klartext", #PB_Window_MinimizeGadget |#PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
  StringGadget(#Text1, 10, 10, 250, 30, "")
EndProcedure



;-Main ////////////////////////////////////////////////////////////////////////////////

Open_Window()

;Formular immer oben halten
SetWindowPos_ (hwnd, #HWND_TOPMOST, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE)

Repeat
  Event.l = WaitWindowEvent()
  getWindowUM()
Until Event = #PB_Event_CloseWindow


Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: WindowFromPoint_() geändert?

Beitrag von Kiffi »

@Falko:

ts, ts, ts! Suchfunktion kaputt? ;-)

beispielsweise:
http://www.purebasic.fr/german/viewtopi ... FromPoint_

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: WindowFromPoint_() geändert?

Beitrag von Falko »

Kiffi hat geschrieben:@Falko:

ts, ts, ts! Suchfunktion kaputt? ;-)

beispielsweise:
http://www.purebasic.fr/german/viewtopi ... FromPoint_

Grüße ... Kiffi
Danke , die Suchfunktion wohl nicht, aber die Emailbenachrichtigung <)

Zwar habe ich die Suchfunktion benutzt, aber diesen Thread leider nicht gesehen bzw. übersehen.

Also musste ich nur folgendes ersetzen:

;lo = WindowFromPoint_(P(0)\X,P(0)\Y); dieses ging so leider nicht
lo=WindowFromPoint_(P(0)\y<<32|P(0)\x)

Funktioniert prima.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Regenduft
Beiträge: 574
Registriert: 25.03.2008 15:07
Wohnort: THE LÄÄÄND!

Re: WindowFromPoint_() geändert?

Beitrag von Regenduft »

Gehört der Thread nicht eher in "Betriebssystemspezifisch > Windows"?
Dieses Posting kann man gerne einfach löschen.
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von Falko »

Ich habe den Source oben nochmal angepasst.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von ts-soft »

Falko hat geschrieben:Ich habe den Source oben nochmal angepasst.

Gruß Falko
Was soll der Code den machen?
Mit den 2 Delays funktioniert ja erstmal garnichts :mrgreen:

(wer proggt so einen scheiss zusammen ?)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von Falko »

Eigentlich soll er unter dem Mauscursor den Text auslesen.
Dieser sollte die Kennwörter im Klartext anzeigen, was aber
irgendwie nicht funktioniert.

Gruß, Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von Falko »

Könnte jemand die obigen beiden Codes unter Windows7 und kleiner mit PB5B7 probieren?
Bei mir unter Windows8 wird das Programm im Debugmodus zwar gestartet und für
kurze Zeit funktioniert es, aber dann kommt ein Speicherfehler. Als Exe wird es sofort
abgebrochen. Ich weiß nun nicht warum. Darum der Test. Ich habe auch ältere PB-Versioinen,
wie 4.60 und 4.51 unter Windows8 Pro probiert.

Man kann hiermit z.B. unter Outlook sein Passwort hinter den Asterix sichtbar machen, wenn man
es vergessen hat.

Gruß,
Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von Kiffi »

Falko hat geschrieben:Könnte jemand die obigen beiden Codes unter Windows7 und kleiner mit PB5B7 probieren?
kein Absturz unter Windows Vista Business x86

(ist das so gewollt, dass der Fenster-Titel in der Textbox erscheint?)

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: WindowFromPoint_() geändert?[Erledigt]

Beitrag von Falko »

Danke @Kiffi,
dann liegt das wohl an Windows 8.
Den Source habe ich so von Volker übernommen und damals schon angepasst,
wegen dem Point-problem. Darum habe ich an den Titel nichts geändert.
Wenn es damit zu tun haben könnte, probiere ich mal den wegzulassen :)
Da werde ich wohl heute Abend nach meiner Spätschicht erst weitermachen können.

Gruß,
Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten