เนื่องจาก function บางฟังก์ชั่นบนวินโดว์ต้องการตัวแปร HWND หรือ Handle ของวินโดว์ไปใช้งาน เช่น GetDC, หรืออาจจะเป็นฟังก์ชั่นพวก WinProc หรือฟังก์ชั่นจัดการกับ message นั่นเอง แต่.... เราเขียนโปรแกรมแบบ console จะมี Handle ได้อย่างไร วิธีการมีง่ายๆ เพียง 4-5 ขั้นตอนเท่านั้น เรียกใช้ฟังก์ชั่น GetConsoleTitle() เพื่อเก็บค่าของ Title ของวินโดว์ปัจจุบันไว้ เรียกฟังก์ชั่น SetConsoleTitle() เพื่อเปลี่ยน Title ของ console ที่เราต้องการ ให้มัน delay 40 มิลลิวินาที โดยใช้ฟังก์ชั่น Sleep(40) เพื่อให้แน่ใจว่า title ของ โปรแกรมเรา update แล้ว เรียกใช้ฟังก์ชั่น FindWindow( NULL , uniquetitle ) ฟังก์ชั่นนี้ถือว่าเป็นฟังก์ชั่นหลักเลยทีเดียว เพื่อจะนำค่า HWND ของ โปรแกรมแบบ console หรือแบบ Win32 มา ค่าที่ retune กลัมาจะเป็น HWND หรือ NULL ในกรณีที่มันเกิดการผิดพลาดขึ้น เช่นหาโปรแกรมที่มี Title ตามที่เราต้องการไม่เจอ เรียกฟังก์ชั่น SetConsoleTitle() เซ็ทค่าที่ได้จากขั้นตอนที่ 1 ให้มันเหมือนเดิม หรือจะไม่เซ็ทกลับก็ได้ ตัวอย่างโค้ดพร้อม Comment #include <cstdlib> #include <iostream> #in...
Nerd, Digital Nomad, Experiences sharing