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 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Bật firefox với link cho trước trong VC++?

    mình muốn Open 1 trang web lên bằng firefox , và truyền commandline là 1 link trang web bất kỳ để ngay khi khởi động firefox là nó sẽ bật lên trang đó, nhưng làm mãi ko được ko rõ nguyên nhân tại sao, ai giúp mình sửa nhé, thanks
    Mã:
    #define DEFAULT_BROWSER "explorer.exe"
    int ExeGotoLink(__in char* szLink)
    {
    	STARTUPINFOA si;
    	PROCESS_INFORMATION pi;	
    	ZeroMemory( &si, sizeof(si) );
    	si.cb = sizeof(si);
    	si.dwFlags = STARTF_USESHOWWINDOW;
    	si.wShowWindow = SW_SHOW;
    	ZeroMemory( &pi, sizeof(pi) );
    	char szCommandline[MAX_PATH];
    	wsprintfA(szCommandline,"%s %s",DEFAULT_BROWSER,szLink);
    	if(!CreateProcessA("C:\\Program Files\\Mozilla Firefox\\firefox.exe",
    		szLink,
    		NULL,           // Process handle not inheritable
    		NULL,               // Thread handle not inheritable
    		FALSE,				// Set handle inheritance to FALSE
    		NORMAL_PRIORITY_CLASS,              // No creation flags
    		NULL,           // Use parent's environment block
    		NULL,           // Use parent's starting directory
    		&si,            // Pointer to STARTUPINFO structure
    		&pi ))           // Pointer to PROCESS_INFORMATION structure
    
    	{
    		return 0;
    	}
    	return 0;
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    DEFAULT_BROWSER "explorer.exe"
    Tự nhiên explorer.exe ở đâu nhảy vô đây ? Copy code ở đâu à ? Biến szCommandLine chả được dùng ở đâu cả ?
    Mở help CreateProcess ra đọc lại cho kỹ !

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cần gì phải copy ở đâu, cái đó viết theo hứong khác chưa xóa đi thôi, có quan trọng phải để đến nỗi phải nêu ra cái vớ vẩn đó không ?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vậy à, GetLastError trả ra cái gì, CreateProcess return gì ? Debug đi rồi mới hỏi chứ !
    Đang build mở mode nào mà lúc thì xxxA, lúc thì không ?
    Tại sao không dùng ShellExecute/Ex... ?
    Nếu máy user Firefox không instal ở C:\Program Files\Mozilla Firefox thì sao (vd máy tui, nó là D:\Program Files\FF) ? Làm sao tìm được path của FireFox ?
    Nếu FireFox không phải là default browser (mà là IE) thì sao ?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đường dẫn có dấu cách thì phải thêm quote (") ở 2 đầu mới được! Nếu mà không được thì chuyển hết sang cho tham số thứ 2 để sử dụng trong môi trường command.

  6. #6
    Chỉ cần thế này là đủ


    Mã:
    int ret = (int)ShellExecute (0, _T("open"), _T("firefox"), _T("http://congdongcviet.com"), NULL, SW_SHOW); if (ret <= 32) printf(" Failed. ");
    Nguyên nhân ư. Tại firefox đã đăng ký tên gọi tắt trong Registry (Nếu máy bạn đã cài firefox). Ta cũng ko cần quan tâm lắm đến đường dẫn cài đặt, trình duyệt web mặc định, ...

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ồh, lạ thật, máy công ty mình firefox 3.6.6 không chạy được mà về nhà dùng firefox 4.0 thì chạy được, hazi

 

 

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
  •