การส่งข้อความแจ้งคอมพิวเตอร์ เปิด และ shutdown ผ่าน Line notify ด้วย Visual Studio
สำหรับในโครงการนี้ผมได้วางเป้าหมายไว้ว่า ผมต้องสามารถตรวจสอบการทำงานของคอมพิวเตอร์ในเรื่องของการเปิดขึ้นมาทำงานและการ Shutdown ในระยะไกลโดยการทำงานจะต้องเงียบและไร้ร่องรอย
ก็ได้ทำการทดลองการส่งข้อความผ่าน LINE ในรูปแบบต่างๆ และมาจบตรงที่การใช้โค้ด LINE notify ด้วย Visual Studio ( Visual Studio 2015) ในส่วนตัวของ CODE เราก็สามารถหาได้จากเว็บไซต์ต่างๆ เพียงแต่นำมาประติดประต่อ ประกอบเข้าด้วยกันเพื่อให้ทำงานตามที่เราต้องการ
สิ่งแรกที่เราต้องทำเลยคือ สร้าง LINE กลุ่มใน App Line ในสมาร์ทโฟนของเราก่อนนะครับ
(หลายๆท่านที่มีพื้นฐานอยู่แล้วหรือยังไม่มีก็สามารถดูรายละเอียดจากเว็บไซต์ต่างๆที่เขานำเสนอเกี่ยวกับเรื่องนี้ได้นะครับ แต่ในส่วนของผมเองคือผมอยากจะทำเป็นข้อมูลของผมเพื่อเก็บเอาไว้และให้ทุกท่านที่สนใจได้ดูรายละเอียดไปพร้อมๆ กัน)
และที่สำคัญคือเราต้อง Add LINE Notify ของเราเข้ามาด้วยนะครับ ไม่อย่างนั้นมันจะฟ้องแบบนี้ครับ
การ Add ทำตามนี้ครับ กดเลือก Line กลุ่มของเรา จากนั้นเลือกตามรูป
หลังจากเสร็จ ขั้นตอนนี้แล้วเข้าไปสร้าง LINE notify โดยเข้าไปที่ https://notify-bot.line.me/th/
จากนั้นคลิกปุ่มเข้าสู่ระบบ
และป้อนอีเมลและรหัสผ่านที่เราใช้ใน LINE ของสมาร์ทโฟนและกดปุ่มเข้าสู่ระบบ
หลังจากนั้น ข้อความเข้าสู่ระบบ จะเปลี่ยนเป็นชื่อ Line ปกติของเราที่ใช้งานอยู่ ใน สมาร์ทโฟน คลิกไปที่หน้าของฉัน ให้คลิกไปที่ปุ่มออก Token ก็จะเจอหน้าต่าง ออก Token ใส่ชื่อที่เราต้องการเมื่อมีการแจ้งเตือนเข้าไป แล้วคลิกเลือก ชื่อ Line กลุ่มที่เราได้สร้างจากสมาร์ทโฟนมาก่อนหน้านี้ เสร็จแล้วคลิกปุ่ม ออก Token
ระบบจะออกหมายเลข Token ให้เรา ให้ Copy เก็บเอาไว้เพื่อใช้ในการเขียนโค้ด และกดปุ่มปิด
LINE ก็จะแสดงผลลัพธ์บริการที่เชื่อมต่อให้เราได้ทราบ
จากนั้นก็ให้ออกจากระบบ เป็นอันเสร็จสิ้นการสร้างไลน์กลุ่ม
สำหรับการประยุกต์ใช้งาน ผมมี code ตัวอย่างการใช้งานจริงแต่ต้องเปิดด้วยโปรแกรม Visual Studio (2015 ) นะครับ และอีกอย่างฝ่ายผมก็ยังไม่ได้ทำ Package ตัวเต็มเอาไว้ทุกท่านที่ลองใช้งานก็สามารถปรับตัว code ได้ตามใจชอบไม่ว่าจะเป็นเรื่องของเวลาหรือข้อความที่จะส่งผ่าน Line
สำหรับโฟลเดอร์ ตามรูปผมจะเก็บไว้ในไดร์ C
สำหรับไฟล์ .exe ที่จะให้ทำงาน จะอยู่ในตำแหน่งนี้ครับ
C:\LineMessage\COMOFF\WindowsApplication1\bin\Debug\COMOFF.exe
C:\LineMessage\COMON\WindowsApplication1\bin\Debug\COMON.exe
ส่วนไฟล์ที่ใช้แก้ไขจะอยู่ในตำแหน่งนี้
C:\LineMessage\COMOFF\WindowsApplication1.sln
C:\LineMessage\COMON\WindowsApplication1.sln
ดูในส่วนของตัว code นี้ผมจะไม่ขอพูดถึงนะครับทุกท่านสามารถเข้าไปดูและศึกษาเองได้แต่สิ่งที่ผมพูดถึงก็คือ เราจะทำยังไงให้มันส่งข้อความตอนที่คอมพิวเตอร์เปิดและทำยังไงให้ส่งข้อความเมื่อคอมพิวเตอร์ shutdown ซึ่งในส่วนนี้ผมมีไอเดียในการทำดังนี้ครับ
ตัวอย่าง Code COMON
Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs)
End Sub
Private Function internetConnection() As Boolean
Dim req As System.Net.WebRequest = System.Net.WebRequest.Create("http://www.google.co.th")
Dim resp As System.Net.WebResponse
Try
resp = req.GetResponse()
resp.Close()
req = Nothing
Return True
Catch ex As Exception
req = Nothing
Return False
End Try
End Function
Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
If internetConnection() = False Then
Me.Close()
Else
Dim request = DirectCast(WebRequest.Create("https://notify-api.line.me/api/notify"), HttpWebRequest)
Dim postData = String.Format("message={0}", "COMPUTER XXX เปิดเข้าสู่หน้า Desktop แล้ว")
Dim data = Encoding.UTF8.GetBytes(postData)
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = data.Length
request.Headers.Add("Authorization", "Bearer QerWyEZdBShylI3iTTxKz1Pk8Zo1vLy2NQaxxxFgYLM")
Using stream = request.GetRequestStream()
stream.Write(data, 0, data.Length)
End Using
Dim response = DirectCast(request.GetResponse(), HttpWebResponse)
Dim responseString = New StreamReader(response.GetResponseStream()).ReadToEnd()
End
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Class
1 สร้างไฟล์ Run อัตโนมัติใน registry เมื่อคอมพิวเตอร์เปิดขึ้นมาทำงาน คลิกขวาที่เมนู start เลือก Run และพิมพ์คำสั่ง regedit เข้าไป
จะปรากฏหน้าต่าง registry editor ให้คลิกไปตามตำแหน่งที่ผมให้ไว้
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ให้เราดูพื้นที่ทางด้านขวาคลิกขวาเลือก New และเลือก String value
จะมีหน้าต่าง Edit String ปรากฏขึ้นมาช่อง Value name ให้ใส่ชื่อตามต้องการในที่นี้ผมจะใส่ชื่อเป็น COMRUN ส่วน Value Data ก็คือที่อยู่ของไฟล์นามสกุล.exe ของ COMRUN นั่นเอง
ตำแหน่งที่อยู่ของไฟล์ COMRUN. exe ก็คือตำแหน่งนี้
C:\LineMessage\COMON\WindowsApplication1\bin\Debug\COMON.exe
ให้เรา Copy ไปวางไว้ในช่อง Value Data ได้เลย เมื่อทำเสร็จแล้วชื่อจริงก็จะปรากฏออกมาดังรูป
- สำหรับขั้นตอนนี้จะเป็นการส่งข้อความเมื่อเรากดปุ่ม shutdown ซึ่งในคอมพิวเตอร์ทั่วไปก็จะมีปุ่ม shutdown ในเมนู start และหน้า log on อยู่แล้ว ดังนั้นถ้าเราต้องการจะจำกัดให้ผู้ใช้งานสามารถกดปุ่ม Shutdown ที่เราสร้างขึ้นได้อย่างเดียวเท่านั้น เราต้องทำการ เอาปุ่ม Shutdown ที่อยู่ในเมนู start และหน้า log on ออกไป มีวิธีการดังนี้
2.1 การเอาปุ่ม Shutdown หน้า log on ออก ให้เราเข้าไปที่ registry Edit (วิธีการเข้าเหมือนข้อที่ 1) จากนั้นให้คลิกไปตามตำแหน่งที่ผมให้ไว้ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System หา EDIT DWord ชื่อ shutdownwithoutlogon คลิกขวาเลือก Modity… ที่ช่อง valve data เปลี่ยนตัวเลขจาก 1 เป็น 0 และกดปุ่ม OK และลอง Sign Out ดู จะเห็นว่าปุ่ม Shutdown หายไปแล้ว
2.2 การเอาปุ่ม Shutdown จากเมนู start และ ปุ่ม อื่นๆออก มีวิธีการทำดังนี้ คลิกขวาที่เมนู start เลือก Run และพิมพ์คำสั่ง gpedit.msc เข้าไป จะปรากฏหน้าต่าง Local Group policy editor ทำตามลูกศรชี้
แล้วกดปุ่ม OK ทดสอบเข้าไปที่เมนู start เลือกปุ่ม Shutdown จะเห็นว่าไม่มีคำสั่งในการ Shutdown และคำสั่งอื่นๆแล้ว
จากนั้นเราจะทำ Shortcut icon ของ COMOFF.EXE เข้ามาที่หน้า desktop และใส่รูปไอคอนตามนี้
จากนั้นก็ให้เริ่มทดสอบโดยการกดปุ่ม shutdown จากการตั้งเวลาในตัวโปรแกรมผมจะตั้งเวลาไว้ 10 วินาทีเราก็จะได้รับข้อความว่า คอมพิวเตอร์มีการ Shutdown จากนั้นคอมพิวเตอร์จะ shutdown และเปิดคอมพิวเตอร์ขึ้นมาใหม่และเมื่อถึงหน้า desktop เราก็จะได้รับข้อความตามผลลัพธ์ในรูปครับ