Shellexec هو تطبيق وحدة تحكم يتيح لك تشغيل البرامج (كمستخدم أو مسؤول حالي) ، ومستندات مفتوحة في التطبيقات المرتبطة بها ، وعرض صفحات الويب في متصفحك الافتراضي ، والمزيد. إنه "غلاف وحدة تحكم" لوظيفة Shellexecuteex.

الثنائيات المترجمة:
Shellexec_win64.zip (~ 96 كيلو بايت)
Shellexec_win32.zip (~ 72 كيلو بايت)
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 ، فسيتم استخدام Infinite ( -t=infinite ). انظر الوصف أدناه.
-t ، --wait-time=TIME
فاصل زمني مهلة (لخيار -w ). الوحدات الزمنية المتاحة: ms (milliseconds) ، s (ثانية) ، m (دقائق) ، h (ساعات) ، d (أيام). إذا لم يتم تحديد أي وحدة ، فسيتم استخدام المللي ثانية. القيمة اللانهائية تعني أي حد زمني.
-hwnd ، --window-handle=INT
مقبض مع النافذة الأصل المستخدمة لعرض واجهة المستخدم أو رسائل الخطأ.
-h ، --help
عرض المساعدة.
-V ، --version
عرض إصدار التطبيق.
--license
عرض ترخيص البرنامج.
--home
يفتح الصفحة الرئيسية للبرنامج في المتصفح الافتراضي.
--source
يفتح صفحة البرنامج على github مع ملفات مصدر البرنامج.
اسم الملف أو الدليل أو عنوان URL أو كائن لتنفيذ العملية المحددة.
يفتح
يفتح العنصر المحدد بواسطة معلمة الملف. يمكن أن يكون العنصر ملفًا أو مجلد أو عنوان URL.
يحرر
يطلق محررًا ويفتح المستند للتحرير. إذا لم يكن الملف ملف مستند ، فسوف يفشل Shellexec.
يستكشف
يستكشف مجلد محدد حسب الملف.
يجد
يبدأ بحث يبدأ في الدليل المحدد -d الخيار.
مطبعة
يطبع الملف المحدد حسب الملف. إذا لم يكن الملف ملف مستند ، فإن البرنامج يفشل.
راناس
يطلق تطبيق كمسؤول. سيؤدي التحكم في حساب المستخدم (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-showwindow#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-waitforinputle
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 أو أحدث (إصدار المجتمع المجاني هو EUGH).
تحتاج أيضًا إلى عدد قليل من الوحدات من مكتبة JPLIB.