ซึ่งสามารถทำได้ผ่าน addon / plugin หรือผ่านการแก้ไขรีจิสทรีและการเขียนสคริปต์อย่างง่าย
การเตือน การแก้ไขรีจิสทรีไม่ถูกต้องอาจทำลายระบบปฏิบัติการของคุณโดยบังคับให้ทำการคืนค่าอย่างเต็มประสิทธิภาพ อย่าโคลนเข้าไปที่นี่และพิจารณาสร้างจุดคืนค่าระบบก่อนดำเนินการต่อ นอกจากนี้วิธีนี้จะคัดลอกส่วนที่เลือกไปยังแป้นพิมพ์ แต่จะไม่วางลงบนคุณ
- ที่กล่าวว่ากดปุ่มเริ่มของคุณและพิมพ์ regedit และเปิดตัว
แอป
- เรียกดู Explorer \ MenuExt \ HKEY_CURRENT_USER \ Software \ Microsoft \ Internet
หาก MenuExt ควรมีอยู่สำหรับคุณอยู่แล้วเพราะคุณมีส่วนขยาย Onenote แล้ว แต่ฉันต้องสร้างของฉัน (คีย์ใหม่)
- จากนั้นในคีย์ MenuExt สร้างคีย์ใหม่อีกอันด้วยชื่อที่คุณต้องการแสดงในเมนูคลิกขวาของคุณเช่น "ส่งออกเป็น Word"
- สร้างรหัสในชื่อ "บริบท" และตั้งค่าข้อมูล (ค่าเริ่มต้น) เป็น 0x10 ตัวเลือกนี้จะบอกให้ตัวเลือกแสดงเฉพาะเมื่อคุณคลิกขวาที่เนื้อหาที่เน้นสี
- สร้างคีย์อื่นที่เรียกว่า "ค่าสถานะ" และตั้งค่าข้อมูล (ค่าเริ่มต้น) เป็น 0x1 นี่จะทำให้สคริปต์สามารถเข้าถึงข้อมูลที่คุณเลือก
- ต่อไปเราจะต้องสร้างสคริปต์เพื่อชี้เมนูของเราไปยังฉันทำไฟล์ชื่อ c: \ Users \ ชื่อผู้ใช้ \ Documents \ simple.htm
- ในตัวอย่างนี้ฉันจะตั้งค่าเริ่มต้นของ "ส่งออกเป็น Word" เป็น "ไฟล์: // C: \ Users \ ชื่อผู้ใช้ \ Documents \ simple.htm"
- เท่าที่ฉันพบ notepad, wordpad และ word ทั้งหมดไม่มีวิธีรับการป้อนข้อความโดยตรงเฉพาะไฟล์เท่านั้น ดังนั้นเพื่อหลีกเลี่ยงการพยายามให้สคริปต์เขียนไฟล์ temp นี้เราสามารถลองใช้วิธีการคัดลอกวาง
simple.htm ควรมีลักษณะเช่นนี้
<SCRIPT LANGUAGE="JScript">
//find our selected content
var selection = external.menuArguments.document.getSelection();
external.menuArguments.clipboardData.setData("Text", selection.toString());
//create a shell and open wordpad
var WshShell = new ActiveXObject("WScript.Shell");
objExec = WshShell.Exec("notepad.exe");
//give it a second to open then paste
WshShell.AppActivate(objExec.ProcessID);
while (objExec.Status != 0)
{
delayedSendKeys("^V");
}
delayedSendKeys("^V");
//sending keys works better with a delay
function delayedSendKeys(str)
{
WshShell.SendKeys(str);
external.menuArguments.console.log("window","sent keys");
}
</SCRIPT>
และนี่คือที่ฉันติดอยู่ คุณสามารถกด ctrl + v และวางส่วนที่คุณเลือกในหน้าต่างที่เปิด แต่จากสิ่งที่ฉันได้อ่าน sendkeys ชอบล่าช้า แต่ setTimeout ไม่ทำงานและนั่นคือไม่ให้เราเข้าถึงวัตถุ WScript เพื่อให้เราสามารถนอนหลับ ประมาณ 100ms หรือมากกว่านั้น