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

Source [UDF + Source] Cefau3 - Tích hợp Chromium vào AutoIt3.

Thảo luận trong 'Chia sẻ mã nguồn' bắt đầu bởi wuuyi123, 28/4/18.

  1. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Hiện tại mình đang viết lại project này hoàn toàn bằng C, bạn có thể theo dõi trên Github nhé.
    Nếu không build được thì có thể tải binary tại đây, trong file bin release đã bao gồm UDF, example + libcef.
     
  2. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    không được thým ạ. e chạy trên autoit. sao chạy ví dụ nó không lên trình duyệt nhỉ
     
  3. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Bản trước gặp tí lỗi, mình đã update lại rồi. Release.
     
    thuandinh thích bài này.
  4. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    giờ không cài gì nữa a b. mở cái lên luôn. :)). cảm ơn b đã nhiệt tình giúp đỡ
     
  5. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    cho em hỏi cái thằng này user agrent nó lấy từ đâu b. thay đổi mấy thông số thế nào b ơi.
     
  6. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Hiện tại chỉ mới trong giai đoạn thử nghiệm thôi, phần documents mình chưa viết xong nữa, phần cú pháp để code CEF trong AutoIt tương tự như C++, nên bạn có thể search Google để tham khảo thêm.

    Mã (AutoIt):
    $settings = $Cef.new('Settings')
    $settings.user_agent= "user_agent"
    [​IMG]
     
    Chỉnh sửa cuối: 11/10/18
    thuandinh thích bài này.
  7. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    b thật nhiệt tình. cảm ơn bác. bác xem qua cái này có thể thay đổi Hash of WebGL fingerprint, Hash of canvas fingerprint, Screen Size and Color Depth không nhỉ. mỗi lần mở lên 1 tap có khác nhau được không b.
     
  8. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Mình chỉ là wrap từ C/C++ qua AutoIt nên cũng chưa khám phá hết các features, bạn nên xem source C/C++ của CEF (phần comment //) kết hợp với Google để tìm hiểu sâu hơn nhé.
     
    thuandinh thích bài này.
  9. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    pro cho minh hỏi thêm để thay đổi phương thức Cef Render Handler thì như thế nào nhỉ. mình mò mãi ko ra. tài liệu C thì mình không biết xem.
     
  10. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    CefRenderHandler dùng cho xử lý các chức năng về render của browser, có một tính năng khá hay mà các browser embedded/web engine khác không có đó là off-screen rendering (windowless rendering - không sử dụng cửa sổ để render lên), có thể xuất các bit đồ họa ra ngoài rồi dùng nó để add vào app/game graphics.

    CefRenderHandler thuộc vào phần CefClient, bạn chỉ việc implement vào property .GetRenderHandler của client (xem trong file: base/client.au3) là xong, tương tự như CefLifeSpanHandler hay CefDisplayHandler vậy.

    Mã (AutoIt):
    ...
    ; create
    $clientH =  $cef.new('Client')
    $renderH = $cef.new('RenderHandler')

    ; implement
    $clientH.GetRenderHandler = __getRenderHandler

    ...

    func __getRenderHandler()
        return $renderH.__ptr ; return its pointer
    endfunc
    ...
     
    Có rất nhiều người bảo Cefau3 này thực sự khó sử dụng và chỉ dành cho những project lớn, ban đầu mình viết ra cái này cũng thừa nhận đó là 1 sai lầm (fail ở bản C++, giờ rewrite bằng C & sử dụng native method), cộng với việc version chưa stable, không có document nên càng gây khó khăn hơn. Không biết bạn sử dụng phần render này cho mục đích như thế nào, mình chỉ thử phần off-screen rendering cũng thấy rất khó ăn. Theo mình nghĩ nên đi sâu vào kết hợp giữa V8 engine với AutoIt, bạn sẽ có một interface đẹp với HTML, CSS... kèm theo đó là sử dụng được native API (WinAPI) ngay từ Javascript, tương tự như NodeJS vậy. Ở đây là một ví dụ nhỏ về web browser sử dụng Cefau3 cho bạn tham khảo: https://github.com/wy3/mb
     
  11. thuandinh

    thuandinh Thành viên mới
    • 1/6

    Tham gia ngày:
    12/9/18
    Bài viết:
    15
    Đã được thích:
    0
    thým updete them cho anh em tham khảo với.
     
  12. giang1992

    giang1992 Thành viên mới
    • 1/6

    Tham gia ngày:
    3/5/19
    Bài viết:
    1
    Đã được thích:
    0
    Bản cập nhật này dùng js như thế nào nhỉ
     
  13. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Bạn có thể xem qua repo này: https://github.com/wy3/mb
    API: cefau3/api/v8.au3

    Mặc dù đã code gần xong nhưng do gặp một số vấn đề về hiệu năng nên đã tạm dừng. Mình sẽ code tiếp project này trong thời gian sớm nhất.

    Hiện tại thì phần syntax code của Cefau3 (Autoit) khá sát với bản CEF gốc (C/C++) nên rất khó để sử dụng cho cả người mới bắt đầu lẫn người thành thạo Autoit.
    Trong thời gian tới, có thể sẽ chuyển hướng thành auto-browser (gần giống Webdriver, Selenium) hoặc build UI (user interface).
     
  14. aasfsdfg

    aasfsdfg Thành viên mới
    • 1/6

    Tham gia ngày:
    4/5/19
    Bài viết:
    6
    Đã được thích:
    0
    Em có thể tìm thấy func clear cache, cookies ở đâu ạ?
     
  15. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Do chưa implement phần CefCookieManager nên không thể quản lý được cookie.
    Ngoài ra trong CefSettings, nếu set cache_path thì cookie & bộ nhớ đệm sẽ được lưu vào drive, nếu không (mặc định không set) thì session của Cef browser sẽ ở chế độ ẩn danh (incognito mode).

    Ref: cefau3/api/types.au3:line 67

    Mã (AutoIt):

    ...
    $settings = $cef.new('Settings')
    $settings.cache_path = @scriptDir & '\cache\'
    ...
    if ($cef.Initialize(..., $settings.__ptr, ...) == 0) then exit
    ...
     
     
  16. aasfsdfg

    aasfsdfg Thành viên mới
    • 1/6

    Tham gia ngày:
    4/5/19
    Bài viết:
    6
    Đã được thích:
    0
    Dạ em cảm ơn ạ
     
  17. dinhhiepdung

    dinhhiepdung Thành viên mới
    • 1/6

    Tham gia ngày:
    27/10/18
    Bài viết:
    2
    Đã được thích:
    0
    làm sao để tạo thanh menu bookmarks vậy các bác
     
  18. wuuyi123

    wuuyi123 Thành viên
    • 18/23

    Tham gia ngày:
    18/6/16
    Bài viết:
    54
    Đã được thích:
    98
    Bạn có thể tham khảo tại đây: https://github.com/small-autoit/mb

    [​IMG]
     
  19. dinhhiepdung

    dinhhiepdung Thành viên mới
    • 1/6

    Tham gia ngày:
    27/10/18
    Bài viết:
    2
    Đã được thích:
    0
    [​IMG]
    làm sao để tạo menu kéo thả như thế này ạ
     
  20. bnlock

    bnlock Thành viên mới
    • 1/6

    Tham gia ngày:
    5/7/19
    Bài viết:
    6
    Đã được thích:
    0
    quan tâm
     

Chia sẻ trang này

Đang tải...