ถ้าอยากให้ ตั้ง คำถามตอนเปิดคอม ถ้าตอบถูก หมด ถึงจะเข้าเล่นได้ต้องทำอย่างไรครับ

  • 3 ตอบ
  • 3590 อ่าน
*

basicallstar

  • Newbie
  • *
  • 1
  • 0
    • ดูรายละเอียด
เนื่องจาก ผมอยากให้น้องผมอ่านหนังสือ ซึ่ง น้องผมติดเกมส์ กลัวมันโง่ ครับ เลยอยากจะเขียนโปรแกรมตัวหนึ่ง เมื่อเปิดคอม จะตั้งคำถาม 10 ข้อ แล้วให้ ตอบคำถาม ถ้าตอบถูก ครบ 10 ข้อก็จะได้เล่นเกมส์ ครับ

*

Mr.Fusion

  • บุคคลทั่วไป


เข้ามาดู


เป็นไอเดียที่ดีมากครับ ขอชื่นชม

ลองเขียนโปรแกรมขึ้นมาสักตัวนึงเป็น Form แบบ Always on top

ปิดการทำงานของปุ่ม Alt+F4 และไม่ให้มีปุ่ม Minimize, Maximize, Restore, Close


ขึ้นโจทย์คำถามให้ตอบใน textbox ถ้าตอบถูก ก็จบโปรแกรม


สักวันนึงเขาจะหาทางออกแบบทางอ้อมได้เสมอ เช่น กด Ctrl + Alt + Del สั่ง End task เป็นต้น

*

Mr.Fusion

  • บุคคลทั่วไป
คัดลอกเนื้อหาจาก http://www.instructables.com/id/Screen-Lock-VBNET/

แนวทางเขียนโปรแกรมด้วย VB.NET นะครับ

ตั้งฟอร์มให้อยู่บนสุด

อ้างถึง
me.topmost = true


TextBox1 เป็นช่องที่กรอกรหัสผ่านนะครับ
ใน property เราไม่ต้องซ่อนข้อความเหมือนรหัสผ่านทั่วไป

โค๊ด: [Select]
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = Form1.TextBox1.Text Then

Dim process As System.Diagnostics.Process = Nothing
Dim psi As New ProcessStartInfo
psi.UseShellExecute = True
psi.FileName = "taskkill.exe"
psi.Arguments = "/F /IM taskmgr.exe"
process = System.Diagnostics.Process.Start(psi)

Shell("explorer.exe")

Form1.Close()
End If
End Sub



โค๊ด: [Select]

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim process As System.Diagnostics.Process = Nothing
Dim psi As New ProcessStartInfo
psi.UseShellExecute = True
psi.FileName = "taskkill.exe"
psi.Arguments = "/F /IM explorer.exe"
process = System.Diagnostics.Process.Start(psi)

If Form1.CheckBox1.Checked = True Then
Me.Opacity = 0.5
Else
Button1.Show()
End If
End Sub



ป้องกันการกด Ctrl + Alt + Del

โค๊ด: [Select]
Private Sub Form2_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus
Dim k As Long
k = Shell("c:\windows\system32\taskmgr.exe", vbHide)
End Sub

โค๊ด: [Select]
Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean

Select Case (keyData)
Case Keys.Control
Return True
Case Keys.Alt Or Keys.F4
Return True
End Select
Return MyBase.ProcessDialogKey(keyData)
End Function

*

smpksme

  • Newbie
  • *
  • 15
  • 1
    • ดูรายละเอียด
Re:
« ตอบกลับ #3 เมื่อ: 07 พฤศจิกายน 2013, 08:57:23 AM »

สมมุติว่าน้องของคุณเล่นเกมส์วันละ 8 ชั่วโมง

ปัญหานี้แก้โดย "ใช้ความรักและความอดทนครับ" อันดับแรก
1. ขอเขาแค่วันละ 1 ชั่วโมง บอกเขาว่า ไปดูหนังไหม? อยากกินอะไรไหม? ไปหาเพื่อนไหม? อยากได้ Iphone/Ipad/Windows Phone?
    และให้ตังค์เขาไป (คุณต้องเต็มใจมันถึงจะได้ผล)
2. ถ้าข้อที่ 1. ตัวของคุณเองยังทำไม่ได้ ก็เลิกคุยครับ
3.
4.
5.
...
...
x. น้องชายของคุณจะเป็น มนุษย์ที่สมบูรณ์แบบ (รู้ดี/รู้ชั่ว)