ถาม:
สวัสดีผู้เชี่ยวชาญสคริปต์! จะสร้าง HTA ได้อย่างไรโดยไม่ต้องใช้ปุ่ม "ปิด" ในแถบชื่อเรื่อง?
-คราด
คำตอบ:
สวัสดี AK คุณรู้ไหมว่าปัญหาของคุณทำให้เราอยู่ในภาวะที่กลืนไม่เข้าคายไม่ออกทางศีลธรรมและจริยธรรม ท้ายที่สุดถ้าเราให้คำตอบสำหรับคำถามนี้: โลกอาจถูกครอบงำด้วย HTA จำนวนมากที่ไม่สามารถปิดได้ ภาพจะปรากฏต่อหน้าต่อตาของเรา: HTA ซึ่งไม่สามารถปิดได้และไม่สามารถหยุดได้กวาดทั่วทั้งแผ่นดินอย่างเมามันและกลืนทรัพยากรระบบทั้งหมดไปพร้อมกัน และเราผู้เชี่ยวชาญด้านสคริปต์จะต้องรับผิดชอบเรื่องนี้ เราแค่รู้สึกว่าเราไม่สามารถรับความรู้สึกผิดในมโนธรรมของเราได้
แต่อะไรคือความแตกต่างระหว่างการเพิ่มความรู้สึกผิดอีกครั้งในมโนธรรมของเรา? หลังจากชี้แจงสิ่งนี้เราให้ HTA ต่อไปนี้ที่ไม่สามารถปิดได้ วิธีเดียวที่จะปิดคือการยุติกระบวนการ mshta.exe (หรือให้กองทัพอากาศยิงปืนลงจากด้านบนของอาคาร Empire State):
<html>
<head>
<title> ทดสอบ </title>
</head>
<HTA: แอปพลิเคชัน
sysmenu = "ไม่"
-
<body>
<p> Thishtahasnoclosebutton. </p>
</body>
</html>
เมื่อคุณเรียกใช้ผลลัพธ์ที่คุณเห็นควรจะคล้ายกับภาพต่อไปนี้:
ดังนั้นเราจะลบปุ่มปิดได้อย่างไร (ไม่ต้องพูดถึงปุ่มขยายและย่อที่สุด) และยังคงรักษาแถบชื่อหน้าต่างไว้? มันง่ายมาก: เพียงแค่ตั้งค่าคุณสมบัติ sysmenu เป็น NO:
<HTA: แอปพลิเคชัน
sysmenu = "ไม่"
-
นั่นคือ: การตั้งค่าค่าของ sysmenu เป็น NO (จะต้องทำภายใน HTA: แท็กแอปพลิเคชัน) จะลบปุ่มปิดการขยายปุ่มสูงสุดและย่อให้น้อยที่สุดและเมนูระบบ คุณยังสามารถย้ายหน้าต่างไปรอบ ๆ (คลิกที่แถบชื่อและลากมัน) แต่ไม่มีวิธีปิดหน้าต่าง
ใช่มโนธรรมของเราไม่สบายใจเล็กน้อยในขณะนี้ (แม้ว่านี่จะเป็นเพราะเราทำกาแฟถ้วยสุดท้ายเสร็จ แต่ก็ขี้เกียจเกินไปที่จะทำหม้อใหม่) ด้านล่างเป็น HTA ที่ได้รับการแก้ไขโดยไม่มีปุ่ม "ปิด" ในแถบชื่อเรื่อง อย่างไรก็ตามมีปุ่มทางออกที่ทำเครื่องหมายไว้ในร่างกาย คลิกปุ่มนี้และรูทีนย่อยที่ชื่อ ExitProgram จะปิดหน้าต่าง HTA:
<html>
<head>
<title> ทดสอบ </title>
</head>
<HTA: แอปพลิเคชัน
sysmenu = "ไม่"
-
<scriptLanguage = "vbscript">
subexitprogram
window.close ()
enddub
</script>