PDA

View Full Version : سوال: ستاره اي كردن Notepad



abulfazl
پنج شنبه 15 اسفند 1387, 17:42 عصر
سلام خدمت شما دوستان عزيز ايا با vb مي شه كاري كرد كه چيزهايي كه در notepad ريخته ايم يعني با vb چيزي در notepad ريخته باشيم اون مطالب به صورت ستاره اي بشود مثل خود vb كه خاصيت password chr دارد منظورم اين هست
با تشكر:قلب:

xxxxx_xxxxx
پنج شنبه 15 اسفند 1387, 18:31 عصر
به اون صورت كه با textbox كار مي كنيد نه.
ولي اگه هدفتون مخفي موندن اطلاعات از ديد كاربر هست مي تونيد مي تونيد يك روال براي كد كردن اطلاعات بنويسيد وقتي چيزي مي خواد تو فايل متني ذخيره بشه كد بشه بعد ذخيره شه.
و براي خوندن هم مي تونيد يك روال ديگه براي Decode كردن بنويسيد.

aidin1386
پنج شنبه 15 اسفند 1387, 19:11 عصر
با تشكر از دوست عزيز، آقاي xxxxx_xxxxx، بنده بايد بگم كه اين كار ممكنه اما نه به صورتي كه در تكست باكس ممكنه. در حقيقت همون Decode هست. اما شما بايدبراي اين كار يه سيستم ديكود جديد ارائه بديد كه داخل اون تعدادي از ستاره ها نشان دهنده ي يه سري از حروف مخصوص باشن. اين طوري از طريق اين سيستم اطلاعات(ستاره ها) رو داخل فايل تكست مي ريزين و اون ها رو به وسيله ي سيستم خودتون داخل برنامه بازخواني مي كنيد. در ضمن اين مطلب راي تكميل حرف هاي دوست عزيز، آقاي xxxxx_xxxxx بود.

abulfazl
پنج شنبه 15 اسفند 1387, 20:22 عصر
به اون صورت كه با textbox كار مي كنيد نه.
ولي اگه هدفتون مخفي موندن اطلاعات از ديد كاربر هست مي تونيد مي تونيد يك روال براي كد كردن اطلاعات بنويسيد وقتي چيزي مي خواد تو فايل متني ذخيره بشه كد بشه بعد ذخيره شه.
و براي خوندن هم مي تونيد يك روال ديگه براي Decode كردن بنويسيد.

دوست عزيز سلام. ميشه با يك مثال كارم رو راه بياندازي يعني يك برنامه اي چيزي برايم بنويسي
مرسي:قلب:

xxxxx_xxxxx
پنج شنبه 15 اسفند 1387, 22:28 عصر
من روال كد كردنش رو نوشتم، شما خودتون زحمت decode كردنش رو بكشيد.


Private Sub Text2Code(ByVal Text As String)
Dim Code As String
For i = 1 To Len(Text)
ch = Mid(Text, i, 1)
Code = Code + Chr(Asc(ch) + 1)
Next i
Open "C:\text.txt" For Output As #1
Print #1, Code
Close #1
End Sub

البته كدتون به همين سادگي نباشه. اين تنها يه مثاله.

r0ot$harp
جمعه 16 اسفند 1387, 11:37 صبح
دوست عزیز اینم خدمت شما :


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_SETTEXT = &HC

Private Const WM_GETTEXT = &HD

Private Const WM_GETTEXTLENGTH = &HE

Private Const EM_SETPASSWORDCHAR = &HCC

Private Const EM_GETPASSWORDCHAR = &HD2

Dim Mhwnd As Long

Dim ChildClass As Long

Private Sub Form_Load()
Mhwnd = FindWindow(vbNullString, "Untitled - Notepad")
If Mhwnd <> 0 Then
ChildClass = FindWindowEx(Mhwnd, 0&, "Edit", vbNullString)
End If
End Sub

Private Sub CmdDecode_Click()
If ChildClass <> 0 Then
Dim Nret As Long
Nret = SendMessage(ChildClass, EM_GETPASSWORDCHAR, 0&, 0&)
If Nret <> 0 Then
Decode ChildClass
End If
End If
End Sub

Private Sub CmdEncode_Click()
If ChildClass <> 0 Then
Dim Nret As Long
Nret = SendMessage(ChildClass, EM_GETPASSWORDCHAR, 0&, 0&)
If Nret = 0 Then
Encode ChildClass
End If
End If
End Sub

Private Function Decode(Mhwnd)
PostMessage Mhwnd, EM_SETPASSWORDCHAR, 0&, 0&
End Function

Private Function Encode(Mhwnd)
PostMessage Mhwnd, EM_SETPASSWORDCHAR, Asc("*"), 0&
End Function


باتشکر احسان

ayub_coder
جمعه 16 اسفند 1387, 11:39 صبح
اگه بخوای اطلاعات رو کد کنی همین روشی که دوستان گفتنه ولی نه اگه بخوای فقط با برنامت فقط متن داخل notepad ستاره بشه باید از توابع ویندوز api استفاده کنی SendMessage

r0ot$harp
جمعه 16 اسفند 1387, 12:04 عصر
اگه بخوای اطلاعات رو کد کنی همین روشی که دوستان گفتنه ولی نه اگه بخوای فقط با برنامت فقط متن داخل notepad ستاره بشه باید از توابع ویندوز api استفاده کنی SendMessage

دوست عزیز لطفا یه نگاهی به پست 6بندازین :قهقهه::قهقهه::قهقهه::قهقهه:: امزه::گیج::گیج: .

در ضمن بحث به یه Sendmesage منتهی نمی شود .
باتشکر احسان

modirmasool
جمعه 22 مرداد 1389, 11:09 صبح
دوست عزیز اینم خدمت شما :


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_SETTEXT = &HC

Private Const WM_GETTEXT = &HD

Private Const WM_GETTEXTLENGTH = &HE

Private Const EM_SETPASSWORDCHAR = &HCC

Private Const EM_GETPASSWORDCHAR = &HD2

Dim Mhwnd As Long

Dim ChildClass As Long

Private Sub Form_Load()
Mhwnd = FindWindow(vbNullString, "Untitled - Notepad")
If Mhwnd <> 0 Then
ChildClass = FindWindowEx(Mhwnd, 0&, "Edit", vbNullString)
End If
End Sub

Private Sub CmdDecode_Click()
If ChildClass <> 0 Then
Dim Nret As Long
Nret = SendMessage(ChildClass, EM_GETPASSWORDCHAR, 0&, 0&)
If Nret <> 0 Then
Decode ChildClass
End If
End If
End Sub

Private Sub CmdEncode_Click()
If ChildClass <> 0 Then
Dim Nret As Long
Nret = SendMessage(ChildClass, EM_GETPASSWORDCHAR, 0&, 0&)
If Nret = 0 Then
Encode ChildClass
End If
End If
End Sub

Private Function Decode(Mhwnd)
PostMessage Mhwnd, EM_SETPASSWORDCHAR, 0&, 0&
End Function

Private Function Encode(Mhwnd)
PostMessage Mhwnd, EM_SETPASSWORDCHAR, Asc("*"), 0&
End Function


باتشکر احسان


ممنون.
مبشه کاری کرد که save هم بشه؟