ورود

View Full Version : سوال: اجرای نرم افزار از ویندوز با دستورات اسکریپت در HTML



ROSTAM2
شنبه 20 مرداد 1403, 11:19 صبح
سلام

برای اجرای یک نرم افزار از طریق اسکریپت و HTML چه کدی هست؟!
من یکی پیدا کردم ولی کار نمی کند....


<html>
<script src="./jquery-2.2.3.min.js"></script>
<script language="JavaScript" type="text/javascript"> var $jQuery = jQuery.noConflict(); </script>

<script type="text/javascript">
jQuery(document).ready(function()
{
jQuery("#example_link").on("click", function (event)
{
event.preventDefault(); // Recommended to stop the link from doing anything else
document.dispatchEvent(new CustomEvent('funcIntraLaunch',
{
'detail': { task: 'run',
program: 'C:\\Windows\\notepad.exe',
workingfolder: '',
switches: '%MY_DOCUMENTS%\\switch.txt',
windowstate: 'max',
recallapp: '',
options: '',
log: '',
playsound: 'https://www.yourdomain.com/sound.wav',
showerrors: 'true'
}
}));
});
});
</script>

<body>
<a href="#" id="example_link">Click me</a>
</body>
</html>

mazoolagh
شنبه 20 مرداد 1403, 13:20 عصر
برای اجرای یک نرم افزار از طریق اسکریپت و HTML چه کدی هست؟!

سلام و روز خوش

خب به جز activex در ie
عملا هیچ راهی نیست که در مرورگر بشه کد جاوااسکریپت مستقل و بدون تمهیدات قبلی
به منابع سیستم دسترسی داشته باشه (کار با فایل، اجرای برنامه، ...)

این کد اگر قرار باشه کار کنه،
حتما قبلش باید چیزی روی سیستم آماده شده باشه (اون funcIntraLaunch کاملا نشون میده این موضوع رو).
ظاهر داستان شبیه این هست که یک برنامه جداگانه (یا اکستنشن روی مرورگر) نصب شده که اجازه دسترسی ها رو هم کاربر بهش داده.

راه بهتر هست:
یک custom protocol بسازین و به یک برنامه اجرایی منتسب کنین.

ولی در هر صورت کاربر باید اجازه بده یا با برنامه اینستالر باشه (چون باید از طریق رجیستری انجام بشه).

پس از انجام این کار، همونجور که که مرورگرها پروتوکل هایی مثل http , https , ftp , file , mailto , ... رو میشناسن و طبق اون عمل میکنن،
اگر در url از این کاستوم پروتوکل استفاده کنین خودکار اون برنامه اجرایی رو که براش تعریف شده باز میکنن.

Registering an Application to a URI Scheme (https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85)?redirectedfrom=MSDN)