パスワード文字を取得(T)          <TOP>


SendMessage ウィンドウにメッセージを送信
ShowWindow 指定されたウィンドウの表示状態を設定
EM_GETPASSWORDCHAR(&HD2) エディットコントロールのパスワード文字を取得
EM_SETPASSWORDCHAR(&HCC) エディットコントロールのパスワード文字を設定または削除
SW_HIDE(0) 指定のウィンドウを非表示にし他のウィンドウをアクティブ化
SW_SHOW(5) ウィンドウをアクティブ化し現在の位置とサイズで表示
 

EditBoxのプロパティで「パスワードあり」に設定しています。パスワードを入力すると「*」が表示され、「実行」ボタンをクリックすると入力した文字が表示されます。

参照

パスワード文字を取得(U)

 

'================================================================
'= パスワード文字を取得(T)
'=    (EM_GETPASSWORDCHAR.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)

' 指定されたウィンドウの表示状態を設定
Declare Function Api_ShowWindow& Lib "user32" Alias "ShowWindow" (ByVal hWnd&, ByVal nCmdShow&)

#define EM_GETPASSWORDCHAR &HD2         'エディットコントロールのパスワード文字を取得する
#define EM_SETPASSWORDCHAR &HCC         'エディットコントロールのパスワード文字を設定または削除する
#define SW_HIDE 0                       '指定のウィンドウを非表示にし他のウィンドウをアクティブ化
#define SW_SHOW 5                       'ウィンドウをアクティブ化し現在の位置とサイズで表示

Var Shared Edit1 As Object
Var Shared Button1 As Object

Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    Ret = Api_SendMessage(Edit1.GethWnd, EM_GETPASSWORDCHAR, 0, 0)
    Ret = Api_SendMessage(Edit1.GethWnd, EM_SETPASSWORDCHAR, 0, 1)

    'Edit1リフレッシュ
    Ret = Api_ShowWindow(Edit1.GethWnd, SW_HIDE)    'Edit1.ShowWindow 0
    Ret = Api_ShowWindow(Edit1.GethWnd, SW_SHOW)    'Edit1.ShowWindow -1
 End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End