نمایش نتایج 1 تا 2 از 2

نام تاپیک: نوشتن یا خواندن از مموری به صورت String

  1. #1

    نوشتن یا خواندن از مموری به صورت String

    سلام کسی میدونه چطور میشه اینکارو انجام داد؟
    من خودم میتونم عدد Integer یا Long و یا Float رو از مموری بخونم یا بنویسم ولی رشته رو نمیتونم کسی میتونه کمک کنه.

    این خوندن از مموری به صورت لانگ:
        Private Declare Function ReadProcessMemory3 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long


    Public Function ReadLong(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Long
    If ProcessName.EndsWith(".exe") Then
    ProcessName = ProcessName.Replace(".exe", "")
    End If
    Dim MyP As Process() = Process.GetProcessesByName(ProcessName)
    If MyP.Length = 0 Then
    MessageBox.Show(ProcessName & " isn't open!")
    Exit Function
    End If
    Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id)
    If hProcess = IntPtr.Zero Then
    MessageBox.Show("Failed to open " & ProcessName & "!")
    Exit Function
    End If

    Dim hAddress As Integer
    Dim vBuffer As Long

    hAddress = Address
    ReadProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0)
    Return vBuffer
    End Function


    کسی میتونه همین رو تبدیل به String کنه که استرینگ بر گردونه؟
    البته خودم تبدیلش کردم ولی ارور میده :|
    آخرین ویرایش به وسیله Reza-HNA : یک شنبه 20 مهر 1393 در 19:14 عصر

  2. #2
    مدیر بخش آواتار مهرداد صفا
    تاریخ عضویت
    تیر 1391
    محل زندگی
    select Country,City From World where Country.Name=IRAN and City.Contains(حضرت معصومه(ع))
    پست
    1,499

    نقل قول: نوشتن یا خواندن از مموری به صورت String

    با سلام.
    شما در تعریف تابع آرگومنت buffer رو از نوع Byte() (آرایه بایت) در نظر بگیرید و پارامتر تعداد را دوبرابر کاراکتر های مورد نیاز قرار بدید. مثلا برای 2 کاراکتر مقدار 4 رو به ازای nsize ارسال کنید.
    بعد از گرفتن آرایه با استفاده از System.Text.Encoding داده ها رو به متن تبدیل کنید.
    در ضمن فراموش نکنید وقتی نوع داده رو از integer به آرایه تغییر میدید باید حالت ارسال رو از ByRef به ByVal تغییر بدید. چرا که آرایه ها reference type هستند (نیاز به توضیح داشت بفرمایید).
    و باز هم فراموش نکنید که این نوع تعریف متغیر مربوط به vb6 هست و در vb.net باید از integer به جای long استفاده کنید.
    چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست
    **********
    اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ

تاپیک های مشابه

  1. سوال : خواندن از XML به صورت node به node
    نوشته شده توسط aligator در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 07 مهر 1384, 19:01 عصر
  2. خواندن دو کلید به صورت همزمان
    نوشته شده توسط علی اکبر اله داغی در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: یک شنبه 15 خرداد 1384, 09:59 صبح
  3. خواندن کل xmlReader یکجا توی string
    نوشته شده توسط titbasoft در بخش VB.NET
    پاسخ: 4
    آخرین پست: دوشنبه 22 فروردین 1384, 17:30 عصر
  4. نوشتن یک متن رنگی درون یک خانه String Grid
    نوشته شده توسط مجتبی حسینی در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 17 آبان 1383, 10:13 صبح
  5. نوشتن و خواندن یک تصویر در بانک اطلاعاتی پارادوکسdelphi5
    نوشته شده توسط moeen amirlatifi در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 10 دی 1382, 09:49 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •