パスワードの米印を見れるようにするソフトをつくりたいのですが
WinSightで先に調べたのですが、OutLookなどのメールパスワードの
Edit部分のテキストが表示されません。
FindWindow GetWindowTextでいけるのかなっと思っていたのですが
他の方法があるのですか?
よろしくお願いします。
MSDN によると GetWindowText のところで
ただし、他のアプリケーションのコントロールのテキストを取得することはできません。
となっています。
http://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_win32_getwindowtext.asp?frame=true
WM_GETTEXT メッセージを使ったらどうでしょう。
WM_GETTEXTで取得できます。が
その前にEM_SETPASSWORDCHARで差替文字を解除して
WM_GETTEXTしないといけません
ちなみにEM_SETPASSWORDCHARはPoseMessageで送らないといけません・・・
PostThreadじゃないのには意味があるんですかね?
回答有難うございました
m(_ _)m
まだコードも書いていませんが、解決にさせていただきます。
詳しいサンプルなどありませんか?
>OutLookなどのメールパスワードの
OutLookつつきましたが
私のパコパコでは余裕で表示できてますが・・・
(OutLookを直接解除も当然可能ですけどね)
> 詳しいサンプルなどありませんか?
初級レベルだから自分で頑張ろうヨ
ハンドルが分かっている状態で
解除
2行
テキスト取得
数行
つつきたいなら ハンドルのお勉強だね
マウス関係とWindowFromPointもお勉強しないとね
>>はーくしょん
さんがおっしゃる様にSpyイメージで
マウスカーソルからハンドルを握るのが楽かもしれません。。
ちなみにInvalidateRectを実行すると
解除された状態で見える様になります。。
ちょっとだけよん。
HandleStore : TStringList; // create,freeは自分でしてね
procedure ...
var i,Now : integer;
begin
HandleStore.Clear;
HandleStore.Duplicates := dupIgnore;
HandleStore.Sorted := True;
Now := ひみつ(^_-);
if (ひみつ(^_-)) then
HandleStore.Add(IntToStr( Now ));
..
..ひみつ(^_-)
..
if (HandleStore.Count>0)then
if (
MessageDlg(Format('お星さま%d個発見♪。望遠鏡で観察しますか♪'
+#13#10+'%s',[HandleStore.Count, HandleStore.Text]),
mtConfirmation ,[mbYes,mbNo],0) =mrYes) then
for i := 0 to HandleStore.Count-1 do
MitemiteOhosisama(StrToInt(HandleStore.Strings[i]));
ツイート | ![]() |