แชร์ผ่าน

แสดงข้อกำหนดนโยบายรหัสผ่านในหน้าจอเปลี่ยนรหัสผ่าน Ctrl+Alt+Del

Anan Sukhum 0 แต้มความนิยม
2026-05-20T05:35:19.3666667+00:00

สวัสดีครับ/ค่ะ มีใครสามารถแชร์ตัวอย่างโค้ด Delphi RAD Studio ที่แสดงวิธีโหลดไฟล์ C:\Windows\System32\jscript.dll แบบไดนามิกผ่าน COM และเรียกใช้ฟังก์ชันเพื่อเริ่มรันสคริปต์ได้ไหมครับ/คะ? ผม/ฉันต้องการใช้วิธีนี้เพื่อประมวลผลไฟล์สคริปต์สำหรับแอปพลิเคชันใหม่ของบริษัท ขอบคุณครับ/ค่ะ

Windows สําหรับธุรกิจ | Windows 365 Business
0 ความคิดเห็น ไม่มีข้อคิดเห็น

1 คำตอบ

เรียงลำดับตาม: มีประโยชน์มากที่สุด
  1. Harry Phan 23,755 แต้มความนิยม ที่ปรึกษาอิสระ
    2026-05-20T05:50:31.5466667+00:00

    Hi Anan,

    การโหลด jscript.dll โดยตรงผ่าน COM เพื่อเรียกใช้ฟังก์ชันภายใน DLL ไม่ใช่วิธีที่ Microsoft แนะนำ เนื่องจาก jscript.dll เป็นส่วนหนึ่งของ Windows Script Host และไม่ได้ expose ฟังก์ชันสาธารณะให้เรียกตรง ๆ ผ่าน Delphi หรือภาษาอื่น ๆ โดยตรง การเข้าถึงควรทำผ่าน COM Automation Interfaces ที่ Microsoft จัดเตรียมไว้ เช่น MSScriptControl.ScriptControl หรือ ActiveXObject("JScript") ซึ่งเป็นวิธีที่ปลอดภัยและรองรับอย่างเป็นทางการในการรัน JavaScript ภายในแอปพลิเคชัน Windows

    ใน Delphi RAD Studio คุณสามารถใช้ MS Script Control ได้โดยเพิ่ม COM reference ไปที่ MSScriptControl.ScriptControl (ไฟล์ msscript.ocx) แล้วสร้าง instance ผ่าน CreateOleObject('MSScriptControl.ScriptControl') จากนั้นตั้งค่า Language := 'JScript' และใช้ ExecuteStatement หรือ Eval เพื่อรันโค้ด JavaScript ได้ทันที วิธีนี้ไม่ต้องโหลด jscript.dll เอง แต่เบื้องหลัง COM จะจัดการให้โดยอัตโนมัติ

    หากคุณต้องการประมวลผลสคริปต์ในแอปพลิเคชันใหม่ของบริษัท วิธีที่ถูกต้องคือใช้ COM Automation ผ่าน MSScriptControl หรือย้ายไปใช้ Microsoft Edge WebView2 ซึ่งรองรับ JavaScript engine รุ่นใหม่และมีการดูแลความปลอดภัยต่อเนื่องจาก Microsoft แทนที่จะเรียก DLL โดยตรง ซึ่งถือว่าไม่ปลอดภัยและไม่รองรับในอนาคต

    Harry.

    คำตอบนี้มีประโยชน์หรือไม่

    0 ความคิดเห็น ไม่มีข้อคิดเห็น

คำตอบของคุณ

คำตอบสามารถทำเครื่องหมายว่า “ยอมรับ” โดยผู้เขียนคำถาม และ “แนะนำ” โดยผู้ดูแลระบบ ซึ่งจะช่วยให้ผู้ใช้ทราบว่าคำตอบนั้นแก้ไขปัญหาของผู้เขียนได้