2010-05-16 29 views
7

Tôi biết trong delphi bạn có thể mở trình duyệt mặc định với:mở trình duyệt mặc định với một bài đăng trong Delphi

ShellExecute(self.WindowHandle,'open','www.website.com',nil,nil, SW_SHOWNORMAL); 

nhưng tôi muốn biết nếu có một cách để tự động gửi dữ liệu trên mới mở cửa sổ Brower HOẶC tự động điền vào các dữ liệu đăng nhập (ngay cả trong firefox, safari, vv)

Cảm ơn

-Brad

Trả lời

4

bạn có thể khởi chạy trình duyệt của bạn với OLE và sử dụng chức năng navigate để chuyển dữ liệu và ngữ cảnh tới url.

Mở IE với OLE

MyBrowser := CreateOleObject('InternetExplorer.Application') as IWebBrowser2; 

Gửi dữ liệu để url

MyBrowser.Navigate('http://mysite.com', Flags, EmptyParam, PostData, Headers); 

Xem ở đây cho một ví dụ về chức năng điều hướng: http://forums.devshed.com/showpost.php?p=2408145&postcount=2

Tôi hy vọng điều này sẽ giúp!

+0

Không muốn chỉ có IE, nhưng đó có thể là lựa chọn duy nhất của tôi. Cảm ơn bạn đã thông tin. – Brad

2

Bạn cần phải thêm "Http: //" trước tên của trang web, nếu không hệ điều hành không biết ứng dụng nào sẽ mở.

ShellExecute (Application.Handle, 'open', 'http://www.bjmsoftware.com', nil, nil, SW_SHOWNORMAL);

hoạt động với tôi trong ứng dụng bảng điều khiển.

+0

Đúng, nhưng câu hỏi của anh ta là liệu anh ta có thể chỉ định dữ liệu nào cần được đăng hoặc điền vào trường nào. –

+0

@Lars, yep, thấy rằng sau khi nhấn enter và cố gắng xóa câu trả lời của riêng tôi, nhưng nó chỉ đăng ký xóa "... –

2

Không, không thể POST dữ liệu bằng url hoặc điền vào các trường bằng ShellExecute. Không có API chung tất cả các trình duyệt phải được điều khiển từ xa. Các giải pháp thay thế đang sử dụng GET (mã hóa chính url) hoặc nói chuyện trực tiếp với các trình duyệt cụ thể, như TridenT suggests.

+0

Tôi đã tìm được nhiều. Cảm ơn. – Brad

Các vấn đề liên quan