Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Tớ hay dùng IE Com, lúc trước với FF cũ nghe đồn có 1 cái lib để control.

    Vấn đề không hẳn chỉ là để capture, mà là control tất cả, ví dụ như trường hợp gh+ có nói, nhiều tab active thì làm sao lấy tất cả thông tin các tab ? Làm sao chuyển tab ? Làm sao auto event trên từng tab ? ...

    Đấy chính là lúc nghĩ đến 1 vài thứ khác ...

    Trở lại với vấn đề của FF, mình không rành lắm, cho hỏi gh+ đã từng làm với FF, có thử EnumChildWindows lần nào chưa ? Và có khả quan không ?

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Capture WebBrowser URL (IE, Firefox, Opera, ...)

    Mô tả: Đoạn code lấy đường dẫn hiện hành (URL) của trình duyệt web
    Ghi chú: Nếu có nhiều trình duyệt sử dụng nhiều thẻ (tab), thì nó lấy URL của thẻ đang được kích hoạt (active tab)


    Mã:
    /**********************************************************     Description:    Capture WebBrowser URL    Author:         gianghoplus [gianghoplus@gmail.com]    Date:           23/08/2010    Copyright © 2010 www.congdongcviet.com ***********************************************************/ #include <windows.h>#include <ddeml.h>#include <stdio.h> BOOL GetBrowserURL(IN LPCSTR szName, OUT LPSTR szURL){    DWORD dwInst = 0, Long;    DdeInitializeA (&dwInst, NULL, APPCLASS_STANDARD | APPCMD_CLIENTONLY, 0ul);     HSZ hszService = DdeCreateStringHandleA (dwInst, szName, CP_WINANSI);    HSZ hszTopic = DdeCreateStringHandleA (dwInst, "WWW_GetWindowInfo", CP_WINANSI);    HSZ hszItem = DdeCreateStringHandleA (dwInst, "-1", CP_WINANSI);    HCONV hConv = DdeConnect (dwInst, hszService, hszTopic, NULL);     DdeFreeStringHandle (dwInst, hszService);    DdeFreeStringHandle (dwInst, hszTopic);     if (!hConv) return FALSE;     HDDEDATA hRetVal = DdeClientTransaction (NULL, 0, hConv, hszItem, CF_TEXT, XTYP_REQUEST, 10000L, NULL);    DdeFreeStringHandle(dwInst,hszItem);     if (hRetVal > 0)         sprintf(szURL,(LPSTR)DdeAccessData(hRetVal,(LPDWORD)&Long));        DdeUnaccessData(hRetVal);    DdeFreeDataHandle(hRetVal);    DdeDisconnect(hConv);    return TRUE;} void main(){    CHAR szName[255] = "firefox"; // Ex: "iexplore", "opera", ...    while (true)    {        CHAR szURL[255] = {0};        BOOL bRet = GetBrowserURL(szName, szURL);         if (bRet) printf("%s
    ", szURL);        else printf("Error: Cannot connect to %s.
    ", szName);         Sleep(1000);    }}

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •