الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية تشغيل ملف تنفيذي لدى العميل ؟

بدأه mamababadada في 15 ديسمبر 2009 · 17 رد · 2,458 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته :

ارغب بتشغيل ملف تنفيذي لدى العميل وظيفة البرنامج هذا تشغيل الماسح الضوئي وبعد البحث وجدت المثال التالي ولكن لم يتم تشغيل البرنامج :

<script type="text/javascript" language="javascript">
function executeCommands()
   {
   var v;
   v = new ActiveXObject("Shell.Application");
   v.ShellExecute = "D:\\1\\RunCommand\\upload\\g.exe";   
   }
</script>


<asp:Button ID="Button1" runat="server" OnClientClick="executeCommands()" Text="Button"  />

مع العلم انني جربت التغيرات التاليه :

   v.ShellExecute = "g.exe","D:\\1\\RunCommand\\upload";   

وايضا 

   v.ShellExecute = "g.exe","http://localhost/mydoc/upload";

وجربت بوضع الاقواس وبدونها ولكن يوجد حلقه ناقصه ,,, فهل من حل أو طريقه مستخدمه لديكم وشكراً

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#3

طيب الملفات التي يتم تحميلها وتشغيلها عن طريق السماح لمحتوى الــ ActiveX بالمتصفحات كيف تعمل ؟ مثل تنصيب Flashplayer من موقع Adobe يتم تحميل الملف وتشغيل برنامج التنصيب في جهاز العميل .

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#4

ActiveX لا يعمل سوى على إنترنت إكسبلورر غير أنه غير مفعل عند العديد من المتصفحين بسبب مخاطره الأمنية

#5

طيب ما الحل هل استطيع التعامل مع الماسح الضوئي عن طريق ASP.NET .

لان ملخص الفكرة كانت بوجود ملف تنفيذي يقوم بمسح الصور الموجوده بالماسح الضوئي ووضعها بمجلد افتراضي على السي مثلا ومن ثم يأتي دول ASP.NET برفع تلك الصورة للخادم وعرضها للمستخدم لحفظها مع المعاملة ؟!

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#6

كلا. لا توجد طريقة مباشرة لربط السكانر (أو أي هاردوير) بتطبيقات الويب تعمل على جميع المتصفحات.

#7

السلام عليكم ورحمة الله

احتجت لنفس الامر في السابق وقد استخدمت الكود التالي (وضعته في ملف جافاسكريبت):

function runApp(scanExe)
{try {WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run (scanExe,1,false);
}catch(e){alert('حدث خطأ اثناء تشغيل البرنامج');} }

ولتشغيل الكود وضعت زر واضفت له الكود التالي في Page_Load :

او يمكن ان تضعه

 

            If Not IsPostBack Then
                Dim RptPath As String ="file:///c:/xxx/yyyy.exe"' ConfigurationManager.AppSettings("scan").ToString

                Button1.OnClientClick = String.Format("javascript:runApp('{0}');return false;", RptPath)
            End If

عند التشغيل وطلب الملف سيتم اعطاء المستخدم تحذير بموافق او عدم الموافقة على التنفيذ .

وقد تحتاج الى اضافة الموقع الى Trusted sites في خيارات الانترنت اكسبلورر .

1
#8

اخي الحبيب طارق في بي اشكرك لقد قمت بعمل التالي فهل من ملاحظات لديك على الكود لانه لم يحدث مع شي :

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>

<script type="text/javascript" language="javascript">
function runApp(scanExe)
{
try 
{
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run (scanExe,1,false);
}
catch(e)
{
alert('حدث خطأ اثناء تشغيل البرنامج');
}
}
</script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
    </form>
</body>
</html>

 
protected void Button1_Click(object sender, EventArgs e)
    {
       String RptPath ="file:///C:/upload/g.exe";  

       Button1.OnClientClick = String.Format("javascript:runApp('{0}');return false;", RptPath);
    }

علما أن الملف C:/upload/g.exe موجود بالمسار . وفيما يخص Trusted sites لقد قمت باضافته ولم الاحظ تحذير بموافق او عدم الموافقة على التنفيذ .

تم تعديل هذه المشاركة بواسطة mamababadada في 20 ديسمبر 2009 في 18:33

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#9

قمت بالتعديل البسيط التالي والذي أصبح دائما يظهر مربع الحوار ( حدث خطأ اثناء تشغيل البرنامج ) فهل هناك مرجع يجب اضافته :

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script type="text/javascript" language="javascript">
function runApp()
{
try 
{
var shell = new ActiveXObject("WScript.shell"); 
shell.Run("file:///C:/upload/g.exe",1,true);
}
catch(e)
{
alert('حدث خطأ اثناء تشغيل البرنامج');
}
}
</script>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>


</head>
<body>
    <form id="form1" runat="server">


 <asp:button id="Button2" text="Open Web site" onclientclick="runApp()" runat="server" onclick="Button1_Click" />

    </form>
</body>
</html>

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#10

السلام عليكم

ادخل على خيارات IE ثم على Trusted sites ( التي اضفت الموقع عليها ) هناك تجد زر Custom Level اضغط عليه فتظهر شاشة جديدة . في هذه الشاشة اذهب الى الفرع activex controls and plug in وهناك اعمل Enable تفعيل لجميع الخيارات التي تحت هذا البند وبعد ذلك ستعمل بشكل صحيح .

طبعا هذه التغييرات ل Trusted sites فقط وستقوم بهذا الامر علي اي جهاز سيقوم بتشغيل هذا التطبيق .

#11

السلام عليكم

شكرا لكم جميعا على هذه الردود الطيبية

انا جرب اخر مثال و غيرت من اعدادات الاكسبلورر كما كتب الاخ TareqVB و اشتغل المثال

لكن تحت fire fox لم يعمل

هل بالامكان ان يعمل تحت firefox ?

و شكرا سلفا

و الله في عون العبد ما دام العبد في عون أخيه

#12

هذا الكود يعتمد على الـActiveX لذا هو لا يعمل سوى على انترنت اكسبلورر. و حسب ما أعرف لا توجد طريقة مماثلة على أي متصفح آخر، بما فيه فايرفوكس.

#13

شكرررررررررررررا عزيزي طارق بصراحة هذا ما كنت ابحث عنه فنحن نعتمد على متصفح الاكسبلورر وذلك بسبب ان الاستخدام مقتصر على الادارة التي نعمل بها وتستخدم خطوط مؤجرة سرعة 10 ميجابايت نستخدم عليها تطلبيقاتنا فيما يخص اتصالات ادارية وشئون عاملين ومتابعة موظفين بين المناطق الموزعه بها فروع الادارة .

Many of life’s failures are people who did not realize how close they were to success when they gave up

Thomas Edison

#14

اخي العزيز TareqVB ممكن لو سمحت مثال كامل يوضح ما شرحته وشكرا

#16

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله مركاته

أخي العزيز TareqVB أشكرك يا اخي جدا ولكن لي استفسار بسيط انا جربت على ملف تشغيل الكاميرا وبالفعل تم تشغيل الكاميرا عند الضغط على الزر ولكن تظهر رسالة الخطأ مع تشغيل الكاميرا يوجد مثال ارجو الاطلاع عليه لو تكرمت ولي استفسار بسيط بالنسبة للاسكانر هل لو وضعنا الملف التنفيذي للاسكانر سيتم تشغيله وفي حالة تشغيله اين سيتم حفظ الصورة التي اخذت بالاسكانر وهل ينجح هذا عند سحب اكثر من ورقة مرة واحدة كيف يتم الحفظ واشكرك مرة اخرى

WebSite5.rar

#17

اخي لي استفسار بسيط

هل الملف التنفيذي الذي نضعه داخل الاسكريبت هو ملف يتم عمله بواسطة windows application ويتم تنفيذه عند الضغط علي الزرopen web site الموجود في صفحة الويب ارجوا الايضاح

#18

السلام عليكم

اخي الكريم

ما قمنا بعمله هو فقط شغلنا برنامج من جهاز الكلينت اي ان العمل سيتم على جهاز الكلينت من تخزين الملفات او افلام او غير ذلك . وبالتالي يتحتم عليك بعد ذلك تحميل هذه الملفات الى السيرفر بعد ان يقوم المستخدم باختيارها .

حلول اخرى ادوات من شركات خارجية مثل :

http://www.atalasoft.com/products/dottwain/

مواضيع مشابهة