Shellexec เป็นแอปพลิเคชั่นคอนโซลที่ช่วยให้คุณเรียกใช้โปรแกรม (ในฐานะผู้ใช้หรือผู้ดูแลระบบปัจจุบัน), เอกสารเปิดในแอปพลิเคชันที่เกี่ยวข้อง, ดูเว็บเพจในเบราว์เซอร์เริ่มต้นของคุณและอื่น ๆ มันเป็น "คอนโซลห่อหุ้ม" สำหรับฟังก์ชั่น Shellexecutex

คอมไพล์ไบนารี:
shellexec_win64.zip (~ 96 kb)
shellexec_win32.zip (~ 72 kb)
ShellExec FILE [-o Operation] [-p Parameters] [-d Directory] [-s ShowCommand]
[-w [finish|idle]] [-t TIME] [-hwnd WindowHandle] [-h] [-V] [--license] [--home] [--source]
ตัวเลือกคือตัวพิมพ์ใหญ่ ตัวเลือกในวงเล็บเหลี่ยมเป็นทางเลือก
-o , --operation=STR
การดำเนินการที่จะดำเนินการ การดำเนินการเริ่มต้น เปิด ดูคำอธิบายด้านล่าง
-p , --params=STR
หาก ไฟล์ ระบุไฟล์ที่เรียกใช้งานพารามิเตอร์นี้เป็นสตริงที่ระบุพารามิเตอร์ที่จะส่งผ่านไปยังแอปพลิเคชัน
-d , --directory=DIR
ไดเรกทอรีการทำงานสำหรับการกระทำ
-s , --show-cmd=STR
พารามิเตอร์นี้ระบุว่าจะแสดงแอปพลิเคชันอย่างไรเมื่อเปิด คำสั่งแสดงเริ่มต้นคือ sw_shownormal ดูคำอธิบายด้านล่าง
-w , --wait=[FOR]
เสร็จสิ้น หรือ ไม่ได้ใช้งาน ค่าเริ่มต้น: เสร็จสิ้น หากคุณไม่ได้ระบุเวลารออยู่ในตัวเลือก -t จะใช้ อนันต์ ( -t=infinite ) ดูคำอธิบายด้านล่าง
-t , --wait-time=TIME
ช่วงเวลาหมด (สำหรับตัวเลือก -w ) หน่วยเวลาที่มีอยู่: ms (มิลลิวินาที), s (วินาที), m (นาที), h (ชั่วโมง), d (วัน) หากไม่มีการระบุหน่วยจะใช้มิลลิวินาที ค่า ไม่มีที่สิ้นสุด หมายถึงไม่มีการ จำกัด เวลา
-hwnd , --window-handle=INT
ที่จับไปยังหน้าต่างพาเรนต์ที่ใช้สำหรับการแสดง UI หรือข้อความแสดงข้อผิดพลาด
-h , --help
แสดงความช่วยเหลือ
-V , --version
แสดงเวอร์ชันแอปพลิเคชัน
--license
แสดงใบอนุญาตโปรแกรม
--home
เปิดโฮมเพจโปรแกรมในเบราว์เซอร์เริ่มต้น
--source
เปิดหน้าโปรแกรมบน GitHub ด้วยไฟล์ต้นฉบับของโปรแกรม
ชื่อไฟล์หรือไดเรกทอรีหรือ URL หรือวัตถุที่จะดำเนินการดำเนินการที่ระบุ
เปิด
เปิดรายการที่ระบุโดยพารามิเตอร์ไฟล์ รายการอาจเป็นไฟล์หรือโฟลเดอร์หรือ URL
แก้ไข
เปิดตัวบรรณาธิการและเปิดเอกสารสำหรับการแก้ไข หากไฟล์ไม่ใช่ไฟล์เอกสาร Shellexec จะล้มเหลว
สำรวจ
สำรวจโฟลเดอร์ที่ระบุโดยไฟล์
หา
เริ่มต้นการค้นหาเริ่มต้นในไดเรกทอรีที่ระบุโดยตัวเลือก -d
พิมพ์
พิมพ์ไฟล์ที่ระบุโดยไฟล์ หากไฟล์ไม่ใช่ไฟล์เอกสารโปรแกรมจะล้มเหลว
Runas
เปิดตัวแอปพลิเคชันเป็นผู้ดูแลระบบ การควบคุมบัญชีผู้ใช้ (UAC) จะแจ้งให้ผู้ใช้ขอความยินยอมให้เรียกใช้แอปพลิเคชันยกระดับหรือป้อนข้อมูลรับรองของบัญชีผู้ดูแลระบบที่ใช้ในการเรียกใช้แอปพลิเคชัน
คุณสมบัติ
แสดงคุณสมบัติของไฟล์หรือโฟลเดอร์
ข้อมูลเพิ่มเติม (lpoperation): https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew
ข้อมูลเพิ่มเติม (lpverb): https://docs.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shellexecuteinfow
0 | SW_HIDE | Hide
ซ่อนหน้าต่างและเปิดใช้งานหน้าต่างอื่น
1 | SW_SHOWNORMAL | ShowNormal SW_NORMAL | Normal
เปิดใช้งานและแสดงหน้าต่าง หากหน้าต่างลดลงหรือขยายให้ใหญ่สุดระบบจะคืนค่าให้เป็นขนาดและตำแหน่งเดิม แอปพลิเคชันควรระบุสถานะนี้เมื่อแสดงหน้าต่างเป็นครั้งแรก
2 | SW_SHOWMINIMIZED | ShowMinimized | Minimized
เปิดใช้งานหน้าต่างและแสดงเป็นหน้าต่างที่ย่อเล็กสุด
3 | SW_SHOWMAXIMIZED | ShowMaximized | Maximized | Maximize
เปิดใช้งานหน้าต่างและแสดงเป็นหน้าต่างที่ขยายใหญ่ที่สุด
4 | SW_SHOWNOACTIVATE | ShowNoActivate NoActivate
แสดงหน้าต่างในขนาดและตำแหน่งล่าสุด ค่านี้คล้ายกับ sw_shownormal ยกเว้นว่าหน้าต่างไม่ได้เปิดใช้งาน
5 | SW_SHOW | Show
เปิดใช้งานหน้าต่างและแสดงในขนาดและตำแหน่งปัจจุบัน
6 | SW_MINIMIZE | Minimize
ลดหน้าต่างที่ระบุให้น้อยที่สุดและเปิดใช้งานหน้าต่างระดับบนสุดถัดไปในลำดับ Z
7 | SW_SHOWMINNOACTIVE | ShowMinNoActive | MinNoActive
แสดงหน้าต่างเป็นหน้าต่างที่เล็กที่สุด ค่านี้คล้ายกับ sw_showminimized ยกเว้นหน้าต่างจะไม่เปิดใช้งาน
8 | SW_SHOWNA | ShowNA
แสดงหน้าต่างในขนาดและตำแหน่งปัจจุบัน ค่านี้คล้ายกับ sw_show ยกเว้นว่าหน้าต่างไม่ได้เปิดใช้งาน
9 | SW_RESTORE | Restore
เปิดใช้งานและแสดงหน้าต่าง หากหน้าต่างลดลงหรือขยายให้ใหญ่สุดระบบจะคืนค่าให้เป็นขนาดและตำแหน่งเดิม แอปพลิเคชันควรระบุสถานะนี้เมื่อกู้คืนหน้าต่างที่ย่อเล็กสุด
10 | SW_SHOWDEFAULT | ShowDefault
ตั้งค่าสถานะการแสดงตามค่า SW_ ที่ระบุในโครงสร้าง startupInfo ที่ส่งผ่านไปยังฟังก์ชั่น CreateProcess โดยโปรแกรมที่เริ่มต้นแอปพลิเคชัน
11 | SW_FORCEMINIMIZE | ForceMinimize
ลดหน้าต่างให้น้อยที่สุดแม้ว่าเธรดที่เป็นเจ้าของหน้าต่างจะไม่ตอบสนอง ควรใช้แฟล็กนี้เมื่อลดหน้าต่างจากเธรดอื่นให้น้อยที่สุด
ข้อมูลเพิ่มเติม: https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-howwindow#parameters
เสร็จ
รอจนกว่าโปรแกรมที่กำลังทำงาน (ระบุไว้ในพารามิเตอร์ไฟล์) เสร็จสิ้นการดำเนินการหรือจนกว่าจะถึงช่วงเวลาหมด (ตัวเลือก -t ) ได้ผ่านไปแล้ว
ไม่ได้ใช้งาน
รอจนกว่าโปรแกรมที่ระบุจะเสร็จสิ้นการประมวลผลอินพุตเริ่มต้นและกำลังรอการป้อนข้อมูลผู้ใช้โดยไม่มีการป้อนข้อมูลที่รอดำเนินการหรือจนกว่าจะถึงช่วงเวลาหมด (ตัวเลือก -t ) ได้ผ่านไปแล้ว
ข้อมูลเพิ่มเติม:
https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitforsingleobject
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-waitforinputidle
0 - ความสำเร็จ
ค่าอื่น ๆ - ข้อผิดพลาด
เริ่มเครื่องคิดเลขระบบ:
ShellExec calc
เปิดไฟล์ "โฮสต์" ในตัวแก้ไขข้อความระบบ Notepad:
ShellExec notepad -o runas -p "C:WindowsSystem32driversetchosts"
แสดงเว็บไซต์ที่กำหนดในเบราว์เซอร์เริ่มต้น:
ShellExec https://example.com
เปิดไฟล์ "win.ini" ในตัวแก้ไขข้อความที่เชื่อมโยงกับไฟล์ INI:
ShellExec "C:Windowswin.ini"
เปิดไฟล์ JPG ในตัวชมกราฟิกเริ่มต้น:
ShellExec "D:picturesmy picture.jpg"
เปิดไฟล์ BAT สำหรับการแก้ไขในตัวแก้ไขเริ่มต้นและรอให้โปรแกรมเสร็จสิ้น:
ShellExec "D:batch_filestest.bat" -o edit -w=finish
โดเมนสาธารณะ
คุณต้องมี Embarcadero Delphi XE2 หรือใหม่กว่า (เวอร์ชันชุมชนฟรีคือ Eough)
คุณต้องใช้ไม่กี่หน่วยจากห้องสมุด JPLIB