1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

Hỏi đáp Hỏi làm sao chuyển từ dword sang Unicode String[11] trong _MemoryPointerRead NomadMemory

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Huynh Thanh Dat, 24/4/18.

  1. Huynh Thanh Dat

    Huynh Thanh Dat Thành viên mới
    • 1/6

    Tham gia ngày:
    15/5/17
    Bài viết:
    7
    Đã được thích:
    0
    Mấy bác cho e hỏi sao chuyển từ dword sang Unicode String[11] trong _MemoryPointerRead vậy ? Thank mấy bác.
    [​IMG]
     
  2. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Trong AutoIt sẽ không có khái niem LPCWSTR (const wchat_t*) hoặc LPWSTR (wchar_t*). Vì các string chỉ được lưu trữ trong biến bình thường chứ không phai là một pointer.
    Theo câu hỏi của bạn thì mình se trả lời như sau:
    Nếu hàm trên trả về kieu DWORD (unsigned long long) thì xét theo C, nó là một pointer chứa chuch unicode.
    Code AutoIt như sau:
    $lpsz = ; result ở trên
    $sz = DllStructCreate ("wchar ret[11]", $lpsz)
    $str = $sz.ret ; => chuỗi string từ pointer

    Giá trị 11 ở trên là độ độ dài chuỗi+1 (vì nó là unicode wchar_t). Nếu bạn không muốn mất kí tự và chưa biết trước độ dài thì hãy đặt một giá trị lớn hơn (một wchar không tốn nhìu bộ nhớ đâu).

    Mình dùng đien thoại nên thông cảm nhé .
     
  3. Huynh Thanh Dat

    Huynh Thanh Dat Thành viên mới
    • 1/6

    Tham gia ngày:
    15/5/17
    Bài viết:
    7
    Đã được thích:
    0
    Cảm ơn bác nhiều
     

Chia sẻ trang này

Đang tải...