วิธีกำหนดเวลาเปิดแอปพลิเคชันในเวลาที่กำหนด แต่เฉพาะในกรณีที่ แอปพลิเคชันไม่ได้ทำงานอยู่แล้ว?

วิธีกำหนดเวลาเปิดแอปพลิเคชันตามเวลาที่กำหนด แต่เฉพาะในกรณีที่ แอปพลิเคชันไม่ได้ทำงานอยู่แล้ว?

บทนำ

ด้วย Scheduled Tasks คุณสามารถกำหนดเวลาสคริปต์ โปรแกรม หรือเอกสารใดๆ ได้ ในเวลาที่สะดวกที่สุดสำหรับคุณ มีสถานการณ์ที่คุณ ไม่ต้องการให้โปรแกรมเปิดขึ้น หากมีอินสแตนซ์ของโปรแกรมอยู่แล้ว วิ่ง. ดูคำถามด้านล่าง:

ฉันได้กำหนดเวลาให้ Microsoft Outlook ทำงานในเวลาเหล่านี้:

  • เวลาที่กำหนด เช่น 6 โมงเช้า
  • Windows Startup

ฉันจะจัดเรียงได้อย่างไรเพื่อให้ถ้าโปรแกรมกำลังทำงานอยู่สักครู่ อินสแตนซ์ของโปรแกรมจะไม่เริ่มทำงาน ตัวอย่างเช่น ถ้าฉันเข้าสู่ระบบตอนตี 5 และไฟล์. โปรแกรมเริ่มต้นขึ้น เวลา 6 โมงเช้า ฉันจะไม่ต้องการให้เริ่มใหม่อีกเพราะเป็นแล้ว วิ่งอยู่แล้ว ฉันจะทำภารกิจนี้ให้สำเร็จได้อย่างไร

ปณิธาน

สามารถทำได้ง่ายมากโดยใช้ Windows Scripting ดังต่อไปนี้ สคริปต์ตรวจสอบว่าแอปพลิเคชันกำลังทำงานอยู่หรือไม่และดำเนินการ ตามนั้น ถ้า Outlook.exe ไม่ได้ทำงานอยู่ แสดงว่าเปิดขึ้นมา คัดลอก. บรรทัดต่อไปนี้ไปยัง Notepad และบันทึกเป็น "msolunch.vbs" (กับ. เครื่องหมายคำพูดคู่) ไปยังเดสก์ท็อป จากนั้นคุณสามารถกำหนดเวลาให้สคริปต์นี้ทำงานที่ เวลาที่กำหนด

'ราเมซ. Srinivasan - 13 ธ.ค. 2548

ตั้งค่า WshShell = WScript CreateObject("WScript. เปลือก")

strComputer = "."

ตั้งค่า objWMIService = GetObject("winmgmts:" _

 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

ตั้งค่า colProcesses = objWMIService แบบสอบถาม _

 ("เลือก * จาก Win32_Process โดยที่ชื่อ = 'outlook.exe'")

ถ้า colProcesses. นับ = 0 แล้ว

วอชเชลล์. เรียกใช้ chr (34) & _

"%Programfiles%\Microsoft Office\Office10\Outlook.exe" & Chr (34)

จบถ้า

โค้ดด้านบนนี้เหมาะสำหรับ Outlook 2002 หากคุณมีรุ่นอื่น ของ Outlook จากนั้นเส้นทางของแอปพลิเคชันจะแตกต่างกันไป จดบันทึกค่าเริ่มต้น ตำแหน่งของโปรแกรมปฏิบัติการ Microsoft Outlook เลือกรุ่นของคุณตามลำดับ:

OL98 และ OL2000
%Programfiles%\Microsoft Office\Office\outlook.exe

OL2002
%Programfiles%\Microsoft Office\Office10\Outlook.exe

OL2003
%Programfiles%\Microsoft Office\Office11\Outlook.exe