AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String in byte Array

Ein Thema von EWeiss · begonnen am 22. Dez 2009 · letzter Beitrag vom 22. Dez 2009
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

String in byte Array

  Alt 22. Dez 2009, 04:57
Ich möchte Testen warum in Xp WM_GETTEXT funktioniert und in Win7 nicht.
Es bietet sich an über SendMessageA/W den String als Bytearray ausgeben zu lassen.

Mein Problem bin nicht der Mathematiker
Kann mir jemand sagen wie das aussehen könnte ?

Die Enkodierung sollte hierbei in ANSI bzw in UTF-16 sein. (bietet sich D2009 an)
Nein es ist keine Hausaufgabe auch wenn es so aussieht.

Wäre schön wenn mir jemand dabei helfen könnte.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: String in byte Array

  Alt 22. Dez 2009, 07:55
Warum sollte WM_GETTEXT nicht funktionieren?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.098 Beiträge
 
Delphi 12 Athens
 
#3

Re: String in byte Array

  Alt 22. Dez 2009, 08:00
In/Ab D2009 kannst du ganz einfach TEncoding für diese Convertierung nutzen.

Ansonsten kann man es sich in vielen Threads angucken.

PS: Wozu erst umwandelnt?
Ob du nun per Sendmessage einen Zeiger auf ein ByteArray oder auf einen String (UnicodeString) versendest, ist doch egal, da der Empfänger eh nur den Zeiger empfängt und somit der ursprüngliche Typ egal ist.

PSS: SendMessage und Zeiger gehen direkt nur prozessintern, da ein anderes Programm einen eigenen Speicherbereich hat. (OK, ReadProcessMemory und WM_COPYDATA bringen Abhilfe, aber auch hier ist der Ursprungstyp egal)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

Re: String in byte Array

  Alt 22. Dez 2009, 08:08
Zitat von Daniel G:
Warum sollte WM_GETTEXT nicht funktionieren?
Weil ich mit der gleichen Funktion unter XP in meinen Caption den Songtitel angezeigt bekomme
und unter Windows 7 das nicht funktioniert.

In XP arbeitet die Winproc WM_GETTEXTLENGTH ab und in Windows 7 springt er gar nicht erst rein.

gruss Emil
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: String in byte Array

  Alt 22. Dez 2009, 08:10
@himitsu

Zitat:
somit der ursprüngliche Typ egal ist.
Ich möchte aber genau sehen was da ab geht.
Spy++ oder Winspector zeigen mir keine strings an daher kann ich nicht genau prüfen was nun ankommt.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.098 Beiträge
 
Delphi 12 Athens
 
#6

Re: String in byte Array

  Alt 22. Dez 2009, 09:01
Zitat von EWeiss:
Ich möchte aber genau sehen was da ab geht.
Spy++ oder Winspector zeigen mir keine strings an daher kann ich nicht genau prüfen was nun ankommt
Da bringt aber eine Typumwandlung nichts, da ja der Inhalt gleich bleibt und sich somit an dieser Situation nichts ändern würde

PS: prozessübergreifendes SendMessage/PostMessage geht seit Vista etwas schwerer/garnicht mehr, da man dort nicht einfach so jedem Prozess etwas senden darf ... hier kommt es drauf an, daß man dafür dann auch die nötigen Rechte hat.

z.B. darf ein Prozeß mit "billigen" Benutzerrechten keinem Admin-Prozeß etwas schicken.
ist zumbeispiel bemerkbar, wenn man vom Explorer (ohne Adminrechte) seinem Programm mit Adminrechten via Drag&Drop Dateien zuschieben will.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

Re: String in byte Array

  Alt 22. Dez 2009, 10:07
Zitat:
z.B. darf ein Prozeß mit "billigen" Benutzerrechten keinem Admin-Prozeß etwas schicken.
ist zumbeispiel bemerkbar, wenn man vom Explorer (ohne Adminrechte) seinem Programm mit Adminrechten via Drag&Drop Dateien zuschieben will
In wie weit das sinn macht ?
Aber gut generell funktioniert die WM_GETTEXT Message ansonsten würde ich ja in den Plugins keine Titel angezeigt bekommen.
Sie hat halt nur keine auswirkung mehr auf das Caption.

Denke das dies in Win7 geblockt wird warum auch immer.

gruss Emil
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz