หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถา...
2015-07-29 13:35:58
  ถ้าผมต้องกา...
2015-01-18 15:33:54
  ถ้าผมต้องกา...
2015-01-18 15:32:51
  ติดต่อสอบถา...
2014-01-06 12:47:38
  ถ้ายังหาคนส...
2013-07-06 01:04:37
  สนใจส่งขอบเ...
2013-03-24 18:54:20
  ถ้ายังไม่มี...
2012-12-16 19:18:14
  สนใจคะ ติดต่...
2012-11-12 11:07:46
  รับทำโปรเจ็...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  ระบบจองตั...
2017-11-18 15:42:48
  โปรแกรมจอ...
2017-11-18 15:40:29
  ผมลอง gotoxy แ...
2017-08-28 11:45:52
  ลองสร้างต...
2017-08-27 20:09:01
  #define GLUT_DISABLE_ATEXIT...
2017-08-27 12:53:17
  ผมมีคลิปส...
2017-08-27 10:50:02
  รับ สอน matlab ...
2017-06-03 16:27:23
  เฉพาะทางข...
2017-05-25 16:18:08
  โห เครื่อ...
2017-05-25 16:12:47
  ถ้าเขียน ph...
2017-04-20 01:04:20
  Homework comment
  โค้ดตัวอย่...
2017-11-26 14:50:05
  คำนวณค่าน้...
2017-11-20 23:15:26
  ขอบคุณมากค...
2017-08-16 18:27:25
  ทำเอง งง เอ...
2017-04-18 18:40:46
  ทำเอง งง เอ...
2017-04-18 18:37:54
  ประเด็นแรก...
2017-04-18 17:43:33
  อยากได้ flowchar...
2017-04-18 16:25:29
  kungking คำถามคื...
2017-03-18 23:28:36
  จงเขียนโปร...
2017-03-06 10:56:25
  ก็โค้ดทำงา...
2016-09-06 01:00:12
  Article comment
  มีcode ของ VB ไห...
2017-09-28 16:50:02
  น่าจะได้คร...
2017-07-11 09:59:35
  สามารถใช้ต...
2017-07-05 10:12:35
  ครับ คุณ "ติ...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำ...
2016-06-17 14:37:44
  ต้องวิเครา...
2016-03-12 23:36:05
  ผมส่งข้อคว...
2016-03-12 18:25:42
  โปรแกรม Terminal...
2016-02-16 11:02:01
  โปรแกรม Terminal...
2016-02-16 05:58:21
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
การเข้าถึงเอกสาร HTML ผ่านทาง WebBrowser Control (อ่าน 17,541)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 3,735 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

พบกันอีกครั้ง สำหรับบทความที่เกี่ยวข้องกับ Visual Basic งานนี้ผมมากับคอนโทรลที่ชื่อว่า WebBrowser Control ซึ่งเป็น คอมโพเนนท์ที่ให้เราสามารถที่จะสร้างส่วนของ WebBrowser เอาไว้ข้างในได้ แถมยังหากได้ศึกษาการเขียนโปรแกรมนี้ แบบลึกๆแล้ว ผมคิดว่าคงเกิดแนวคิดใหม่ๆในการพัฒนาโปรแกรมต่างๆ ได้อีกมากมาก

สำหรับต้นตอของบทความนี้ เกิดจากการที่ผมได้ข่าวไปอ่านกระทู้ที่ Pantip.com ซึ่งมีผู้ตั้งกระทู้ถาม เรื่องการ Disable การคลิกเมาส์ขวาบน WebBrowser ที่สร้างในโปรแกรมของตัวเอง ช่วงแรกที่ผมยังไม่ได้ศึกษาเรื่องเกี่ยวกับ IHTTPDocument ก็เลยตอบไป 1 วิธี(ที่คิดออกในตอนนั้น) คือใช้วิธี Get ไฟล์ html นั้นๆมา แล้วทำการแก้ไข โดยใส่ code ที่เป็น JavaScript ที่ใช้การตรวจสอบการคลิกของผู้ใช้ เข้าไป จากนั้นก็ใช้ WebBrowser โหลดไฟล์นั้นขึ้นมา แต่...ดูเหมือนว่า วิธีดังกล่าวไม่ค่อยเวิร์คเท่าไหร่ เลยหาข้อมูลไปเรื่อยๆ จนไปพบบทความที่เขียนโดย Mr. Richie Simenetti ก็พบคำตอบ ถึงวิธีการ ที่ทำได้อีกวิธีนึง

พูดกันมาซะยาว งานนี้ก็มาทดลองเขียนโปรแกรมกัน เลยและกันครับ โดยเริ่มจากเปิดโปรแกรม Microsoft Visual Basic เลือกสร้างโปรเจ็ก Standard EXE แล้วทำตามขั้นตอนดังนี้

1. ทำการเลือก Internet WebBrowser Control และ Microsoft HTML Object Library จากเมนู Project->Components ดังแสดงในรูป

2. จะปรากฏ Control ที่เราเลือกที่ไว้จากขั้นตอนที่แล้วบน ToolBox ให้ทำการเลือก Control ต่างๆตามตาราง แล้วจัดวางดังรูป

Name Property Value
Text1 Text [ว่าง]
CommandButton1 Caption &Go
WebBrowser1

3. ทำการคัดลอกโค้ดนำไปใส่ในส่วน View Code

Private WithEvents HDoc As HTMLDocument

Private Sub Command1_Click()
 If Text1.Text <> "" Then WebBrowser1.Navigate Text1.Text
End Sub

Private Sub Form_Load()
 WebBrowser1.Navigate "about:blank"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
 If (pDisp Is WebBrowser1.Object) Then
  Set HDoc = WebBrowser1.Document
 End If
End Sub

Private Sub HDoc_onMouseDown()
 Dim Elem As IHTMLElement
 Set Elem = HDoc.parentWindow.event.srcElement
 If HDoc.parentWindow.event.button = 2 Then
  Dim msg As String
  Select Case UCase$(Elem.tagName)
   Case "A": MsgBox "tag : A href= " & Elem.href
   Case "BODY": MsgBox "tag : BODY"
   Case "IMG": MsgBox "tag : IMG src= " & Elem.src
  End Select
  
 End If
End Sub

4. เมื่อเสร็จแล้ว ก็ทดลอง Run โปรแกรมกันเลยครับ ทดลองพิมพ์ URL ที่ต้องการแล้วกดปุ่ม Go , และเมื่อทำการโหลด Web ที่ต้องการเป็นที่เรียบร้อยแล้ว ให้ทดลองคลิกขวาไปยังส่วนต่างๆ จะปรากฏผลดังรูป
***หมายเหตุ หากคุณทดสอบกับบางเว็บที่ใช้ Frame จะไม่ได้ผลดังรูปนะครับ (ไม่เชื่อลองกับ www.sourcecode.in.th ดูสิ) เหตุผล อยู่ในช่วงของการอธิบายโปรแกรมครับ

อธิบายโปรแกรม
มาถึงช่วงของการอธิบายโปรแกรมกันแล้วนะครับ จะได้รู้กันซะทีว่าอะไรมันเป็นอะไร ก่อนอื่นเรามาเริ่มจาก

Private WithEvents HDoc As HTMLDocument

เป็นส่วนของการประกาศตัวแปรแบบ HTMLDocument เพื่อใช้ในการติดต่อกับไฟล์ HTML พร้อมทั้งสามารถเขียนโปรแกรม ในส่วน Event ได้ด้วย ดังแสดงอยู่ในส่วนของ Private Sub HDoc_onMouseDown ซึ่งเป็น Event ที่เกิดขึ้น เมื่อมีการ คลิกบนเอกสาร HTML

ส่วนสำคัญอีก 1อย่าง ก็คือ Event WebBrowser1_DocumentComplete ที่จะเกิดขึ้นเมื่อWebBrowser ทำการ โหลด เอกสาร HTML มาเรียบร้อยแล้ว ต่อมาเราจะทำการตรวจสอบว่าเอกสารที่ได้มานั้นเป็นเอกสาร ที่เป็น HTML อย่างเดียวหรือเปล่า ถ้าใช่ จะทำการกำหนด เอกสารที่ได้ให้กับ ตัวแปร HDoc ที่เราสร้างขึ้น (ในบางกรณีที่ไม่ใช่ เกิดจาก ไฟล์ HTML ที่เราโหลดนั้นมีการแบ่ง Frame ครับ ทดลองดูได้ครับอันนี้)

และสุดท้ายที่เราจะพูดถึงกันก็คือส่วนของ Sub HDoc_onMouseDown ที่จะถูกเรียกใช้มือมีการคลิกที่เอกสาร เราจะทำการ สร้างตัวแปร แบบ IHTMLElement มารับค่าของ Object ที่ถูก Event ต่างๆ กระทำ ทำให้เรารู้ถึง tag และ property ของเอกสาร HTML ครับ

ปิดท้าย
โปรแกรมนี้อธิบายได้ค่อนข้างยากขึ้นมานิดหน่อยนะครับ ก็อยากให้เพื่อนๆลองไล่โค้ดดู ก็คงพอจะเข้าใจกันนะครับ หากมีข้อสงสัย ก็เมล์มาถามกันได้ที่ webmaster@sourcecode.in.th แล้วพบกันใหม่ กับ 9'M ครับ:-P

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 3,735 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI)
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI) ความละเอียดระดับ 4K
หัวแปลง Mini DisplayPort to HDMI Adapter หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

บันทึกภาพจาก WebCam

เขียนโปรแกรม visual basic 6 แสดงภาพจาก กล้อง WebCam ของคุณ

การ Ping หมายเลข IP

View Source ของเว็บด้วย Inet (Microsoft Internet Tranfer Control)

ส่ง Broadcast ข้อมูล ด้วย VB

Client/Server โดยใช้ UDP ผ่านทาง MS Winsock

โปรแกรม Daytime (ตัวอย่างการใช้ Winsock Control)

การใช้งาน Winsock Control

แสดงสถานะการดาวน์โหลดเว็บเพจ
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th