# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ >  نحوه بكارگيري اجزای فلش در برنامه هاي سی شارپ

## loads

سلام دوستان 
چجوری از flash در #c استفاده کنم 

ممنون

----------


## loads

میخوام از فلاش به عنوان background (تصویر فرم برنامه )استفاده کنم .

----------


## یاشار

خوب، خوشبختانه این کاری که می‌خواهید بکنید، کار سختی نیست.

کافیه یک Referece به Flash.ocx به فرمتون اضافه کنید. 

در toolbox روی General Tab کلیک کنید.
در یک جای خالی راست کلیک کنید و از منویی که باز می‌شه Add/remove Items رو انتخاب کنید.
روی COM tab کلیک کنید
در لیستی که ظاهر می‌شه Shockwave flash object  رو انتخاب کنید و ok رو بزنید ( با فرض اینکه حداقل flashplayer روی دستگاهتون نصب هست )
بعد هم میتونید از کنترلی که روی  toolbox اضافه شده رو مثل کنترل‌های دیگه استفاده کنید.

----------


## فاطمه هاشمیان

سلام 
برای اضافه کردن فایلهای Flash (پسوند SWF) به یک WidowsForm به چه صورت باید عمل کنم آیا Control یا Component خاصی برای این کار وجود دارد و اینکه آیا Process زیادی میگیرد (ممکن موجب کند شدن برنامه بشه؟)
با تشکر

----------


## فاطمه هاشمیان

جوابش را پیدا کردم با استفاده از Shockwave Flash Object میشه این کار را انجام داد  :)

----------


## فاطمه هاشمیان

در ToolBox رایت کلیک کرده و در پنجره Customize ToolBox که باز میشود در TabPage دوم Com Components گزینه Shockwave Flash Object 
را مارک دار کنید در Property Movie آدرس فایل فلش خود را بنویسید برای مثال :
axShockwaveFlash1.Movie = System.Environment.CurrentDirectory + @"\Clock.swf";
* مراقب باشید Property Playing در حالت True باشد :)

----------


## hassan_kahrizy

بسمه تعالی
با سلام
چطور می شه لیک راست فلش را در برنامه برداشت
با تشکر

----------


## null

سلام
از طریق برنامه نویسی نمی دونم ولی می تونی با برنامه resurce hacker منوی راست کلیک رو از
ocx  فلش پاک کنی

----------


## mahbod

راحترین کار اینه که در بخش کد نویسی فلش بنویسی:
Stage.showMenu=false;

----------


## bachemosbat

چطور می شه این OCX رو در دات اضافه کرد؟

----------


## ARA

flash.ocx را به عنوان یک refrence  وارد کن 
وارد نت میشود

----------


## EhsanKhafan

اینجا یه کامپوننت خوب داره ببینید بدرد میخوره:
http://www.e-iceblue.com/

اینم چند تا تاتوریال کامل:
http://www.devx.com/dotnet/Article/21033/1954?pf=true
http://www.codeproject.com/csharp/flashexternalapi.asp

----------


## dot_net_lover2

این همون Sample هست که گفتم

----------


## ***UNIQUE***

سلام
یه مشکل عجیب!!!
من از Object ShockwaveFlash استفاده کردم .حالا اگر برنامم رو روی سیستمی نصب کنم که flashPlayer8 نصب نباشه فایل Flash رو باز میکنه اما نوشته هاش و حروفش رو نمیاره وقتی FlashPlayer رو نصب میکنم درست میشه.حالا چیکار کنم احتیاجی به نصب Player نباشه؟؟؟؟
)Flash8.ocx و dll های لازمش هم اضافه شده اما نمیدونم چرا درست کار نمیکنه؟؟؟)
من تا فردا صبح جوابش رو لازم دارم .
ممنون میشم راهنمایی کنید

----------


## once4ever

باید ocx و dll تو مسیر ویندوز (اکسپلور ) هم کپی بشه. یعنی همون کاری که نصب flashplayer انجام میده.

----------


## ***UNIQUE***

سلام
الان تو شاخه C:\Windows کپی میشه اما باز هم کار نمیکنه ):
فکر کنم باید  Flash8.ocx رو سیستم کاربرم رجیستر بشه یا تو شاخه c:\Widows\System32\Macromde کپی بشه(چون FlashPlayer هم اینکارو میکنه) اما نمیدونم چطوری به VisualStudio بگم رو سیستم کاربرم موقع نصب اینکارو انجام بده؟
لطفا" راهنمایی کنید

----------


## once4ever

مطمئن نیستم که فقط این دوتا فایل نیازباشند!
روی File System on target machine راست کلیک کن و Windows folder  رو انتخاب کن
روی windows folder که به لیستت اضافه شده راست-کلیک کن و یک فولدرجدید اضافه کن: system32 (حتما باید همین نام باشه) و برای این فولدری که درست کردی دوباره یک فوادراضافه کن: Macromed و برای اینم یکی دیگه بنام: Flash
حالا باید یه همچین مسیری داشته باشی: Windows foldwr\system32\Macromed\Flash
به آخرین فولدر (flash) باید فایلهایی که تو مسیر C:\WINDOWS\system32\Macromed\Flash کامپیوترخودت هست اضافه کنی.
بازم میگم نمیدونم این کار کافی هست یا نه!
اگه کافی بود و کار کرد حتما اینجا بگو ;)

----------


## hassan_kahrizy

بسمه تعالی
با سلام
در آدرس C:\WINDOWS\system32\Macromed\Flash یک فایل به نامGetFlash هست اون رو اجرا کنید تو نسخه های 7 که این جوری بود نهایتا اگر نشد قابلیت نصب خود فلش 8 رو قرار بدید

----------


## RED-C0DE

سلام..
من از چند تا فایل فلش ( swf.)  توی فرمم استفاده کردم...
اما امکان اینکه بتونم منوی راست کلیک رو در برنامه ام برای فایلهای فلش از بین ببرم ندارم...یعنی بطور کامل.
کسی راهی برای این مشکل داره..
البته من خودم یه کارایی کردم...من یک فرم رو با Opacity=0% رو روی اون تیکه های فلش قرار می دم.اما یکمی حالگیری هم داره...
کسی راهی به ذهنش می رسه؟..

----------


## endofcsharp

سلام

اگر به تاپیک از کار انداختن راست کلیک ها مراجعه کنی هم بد نیست !!!

از کد زیر میتونی استفاده کنی



public partial class FlashControl :  AxShockwaveFlash
    {
        public FlashControl()
        {
            InitializeComponent();
        }

        public FlashControl(IContainer container)
        {
            container.Add(this);

            InitializeComponent();
        }

        const int WM_RBUTTONDOWN = 0x204;
        const int WM_CONTEXTMENU = 0x7B;

        protected override void WndProc(ref System.Windows.Forms.Message m)
        {
            
            if (m.Msg == WM_CONTEXTMENU || m.Msg == WM_RBUTTONDOWN)
                return;

            base.WndProc(ref m);
        }
    }

----------


## benyamin_pc

بازم سلام
چه جوری میشه از فلش در سی شارپ استفاده کرد؟
به نحوی که داخل محیط سی شارپ به شی های فایل فلش دسترسی داشت :متعجب:  
یا حداقل یک منو باش ساخت و داخل سی شارپ ازش استفاده کرد؟ :خجالت:

----------


## behzad_monadi

این کار خیلی راحته یه فایل ocx میزارم برات حال کن .

----------


## ***UNIQUE***

شما این OCX رو به عنوان یه Refrence به پروژتون Add کنید (در SolutionExplorer روی Refrences رایت کلیک کنید AddRefrence وسپس Ocx مورد نظر رو انتخاب کنید)
بعد در قسمت toolBox رایت کلیک کن و با انتخاب منوی ChooseItems از صفحه باز شده در تب ComComponents آبجکت MKFlashPlayer.MKFlash رو انتخاب کن تا به ابزارهات اضافه بشه

----------


## benyamin_pc

سلام
وارد کردن فایل Swf به پروژه سی شارپ اصلا سخت نیست اما مانور دادن روی اون خیلی سخته و انگار تنها راهش Fscommande که با اونم زیاد حرفه ای نمیشه کار کرد جالبم در نمیاد
اگه مثلا یه فایل فلش ساخته باشیم که یه انیمیشن پخش شه بعد برسه به دو تا دکمه حالا روی این دکمه ها که -->کلیک<-- کنیم یه منو باز شه با چند دکمه حالا چه طوری میشه برای هر دکمه با سی شارپ کد نوشت؟مثلا کار هایی که با فلش نمیشه انجام داد رو توشت سی شارپ انجام داد 
البته همچین کاری خیلی وقت پیشا انجام شده !!(یاهو مسنجر-محصول مشترک فلش و سی شارپ)
ولی چه طوری؟
یا حتی یه دکمه با کلیکک به یه فریم دیگه بره و وقتی تو اون فریم بود بتونیم یه کد با سی شارپ براش بنویسیم

-------لطفا هر کی هر اطلاعاتی داره دریغ نکنه پیشاپیش از همگی متشکرم-------

----------


## benyamin_pc

منظورتون از شفاف همون Transparete دیگه نه؟
منم هر چی این کار رو کردم نشد با اینکه امکان این کارو داره تو کامپوننتش !!

----------


## morteza57

سلام ، من این مشکل رو حل کردم.
پس از اینکه خطا رو مشاهده کردید ، به داخل دایرکتوری برنامه خود بروید و سپس به داخل فولدر obj-->Debug و فایل های داخل فولدر Debug رو حذف کنید (نگران نباشید با اجرای برنامه این فایل ها مجددا ایجاد خواهند شد) . اکنون اگر دوباره سعی کنید که کامپوننت فلش رو به برنامه اضافه کنید دیگر خطایی مشاهده نمی کنید.
موفق باشید

----------


## hamid_isf_1360

سلام بچه ها کسی می تونه *کلیک راست* به طور کامل از *کامپوننت فلش* حذف کنه
من تو این سایت در مورد سوالم جستجو کردم ولی به نتیجه ای نرسیدم
در ضمن تاکید می کنم که برای حذف کلیک راست نمی خوام از نرم افزار ResourceHacker ویا
برنامه های مشابه استفاده کنم.صرفا می خوام بدونم که از *طریق کد نوسی* می شه یانه

داخل دلفی می شد این کارو کرد ولی در سی شارپ هرچی می گردم و می پرسم از اینو اون
ظاهرا کسی ایده ای نداره

از علمای دات نت تقاضا می کنم اگه در این زمینه اطلاعاتی دارند دریغ نکنند .پروژه ای نوشتم 
با ترکیب فلش و سی شارپ که الان لنگ این کلیک راست موندم
ممنونم
یا علی

----------


## aryan770

using System;
using System.Collections.Generic;
using System.Text;

namespace FlashTest
{
    struct Mouse_xy
    {
        public float X, Y;
    }

    class Rm_Flash:AxShockwaveFlashObjects.AxShockwaveFlash
    {
        #region Const 
        const int   WM_RBUTTONDOWN = 0x0204;
        const int  WM_RBUTTONDBLCLK = 0x0206;
        const int WM_ACTIVATE =0x06;
        const int WM_KEYDOWN = 0x0100;
        #endregion
        
        Mouse_xy mp;

        public Rm_Flash()
        {
            mp=new Mouse_xy();
        }
       
        #region Property
        
        
        public Mouse_xy Mouse_Position
        {
            get
            {
                return mp;
            }
            set
            {
                mp=value;
            }
        }

        #endregion

        //protected override void Fina
        protected override void OnTabIndexChanged(EventArgs e)
        {
            try
            {
                System.Windows.Forms.Application.OpenForms[0].Text= e.ToString();
            }
            catch
            {
                return;
            }
            base.OnTabIndexChanged(e);
        }

        protected override void WndProc(ref System.Windows.Forms.Message m)
       {
           switch (m.Msg)
           {
               case WM_RBUTTONDOWN:
                   System.Windows.Forms.Application.OpenForms[0].Text="Right Mouse Down";
                   m.Msg=0;
                   break;
               case WM_RBUTTONDBLCLK:
                   System.Windows.Forms.Application.OpenForms[0].Text="Right Mouse Click";
                   break;
               case WM_KEYDOWN:
                   System.Windows.Forms.Application.OpenForms[0].Text="Press Key Down : ";
                   break;

           }
           
           base.WndProc(ref m);
       }

        protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs e)
        {
            //if (e.KeyCode ==System.Windows.Forms.Keys.Tab)
            System.Windows.Forms.Application.OpenForms[0].Text+=e.KeyCode.ToString();//          "Press Tab";
            base.OnKeyDown(e);
        }

        protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
        {
            System.Windows.Forms.Application.OpenForms[0].Text = "X: " + e.X.ToString() + "  Y: " + e.Y.ToString();
           // MousePosition.X=e.X;
           // MousePosition.Y=e.Y;
            base.OnMouseMove(e);
        }
    }
}

----------


## saeed_rezaei

نمی تونی یه ContextMenuStrip  خالی بهش نصبت بدی؟

----------


## aryan770

using System;
using System.Collections.Generic;
using System.Text;

namespace FlashTest
{
     class aryan_Flash:AxShockwaveFlashObjects.AxShockwaveFla  sh
    {
        #region Const 
        const int   WM_RBUTTONDOWN = 0x0204;
        const int  WM_RBUTTONDBLCLK = 0x0206;
        const int WM_ACTIVATE =0x06;
        const int WM_KEYDOWN = 0x0100;
        #endregion
        
       
        public aryan_Flash()
        {
           
        }
       
        protected override void WndProc(ref System.Windows.Forms.Message m)
       {
           switch (m.Msg)
           {
	// Right ButtonDown
               case WM_RBUTTONDOWN:
                   m.Msg=0;
                   break;
           }

           base.WndProc(ref m);
       }
    }
}

از این راه میتونی استفاده کنی البته میتونی کلیدهای دیگرو هم کنترل کنی و بیشتر ور بری باهاش ولی این کارتو راه می ندازه بعد این که یه کلاس جدید اضافه کردی این کدو جایگرین کن و از این یه شی جدید به ساز بقیه کاره شبیه همون می مونه

----------


## hamid_isf_1360

عذر می خوام آریان عزیز
من کلاس فوق را ایجاد و از اون new هم گرفتم
آیا الان کافیه که برم و به متد movie آن آدرس فلش مورد نظرم را بدم
اگه اینطوری من انجام دادم ولی خطا می ده

منو شرمنده می کنید اگه سورس برنامتون را برام بفرستید باور کنید مدتهاست دارم دنبال این تکنیک میگردم 
موفق باشید

----------


## aryan770

اینم برنامه نمونه که خواسته بودین

اینم خود فایل FlashTest.rar

----------


## oVERfLOW

کجا رو جستجو کرده بودید؟
:
http://www.barnamenevis.org/showthread.php?p=301782#post301782

----------


## newgoldenman

> من تونستم پیداش کنم اما نمیدونم وقتی میخواهم استفاده کنم پیغام زیر را میده 
> Failed to import the activX control . pleased ensure it is properly registered


 
پروژه ای ساخته ایم با نام WindowsApplication1 ، پس از اضافه کردن کامپوننت فلش، با اخطاری که اشاره کردید مواجه میشویم. به محلی که پروژه خود را ذخیره کرده ایم میرویم:

Visual Studio 2005\Projects\WindowsApplication1\WindowsApplicati  on1\obj\Debug

در این فولدر فایل Interop.ShockwaveFlashObjects.dll را پیدا کرده و Delete می کنیم!
به Visual Studio بازگشته و اینبار کامپوننت فلش را که به فرم مورد نظر اضافه کنیم، بدون هیچ مشکلی میتوانیم از آن استفاده کنیم.

توجه: این کار را برای هر پروژه جدید که قصد استفاده از این کامپوننت را دارید الزامیست!


قابل توجه اهالی برنامه نویس:
بنده به کامپوننت ShockwaveFlash تقریباً تسلط دارم. خوشحال میشم هر گونه سوالی در رابطه با این کامپوننت دارید، کمکی هر چند ناچیز ارائه کنم.( اگر فوری هست، پیام بدین!)

----------


## once4ever

شما میدونید چجوری میشه از transparent استفاده کرد؟
یعنی swf ترانسپرنت روی فرم قرار بدم

----------


## newgoldenman

اگر منظور شما استفاده از TransparencyKey هست(!)، این امکان وجود نداره! یعنی نمیتونید با استفاده از این خاصیت که در فرم استفاده میکنید، برای کامپوننت فلش هم استفاده کنید!

----------


## once4ever

> اگر منظور شما استفاده از TransparencyKey هست(!)، این امکان وجود نداره! یعنی نمیتونید با استفاده از این خاصیت که در فرم استفاده میکنید، برای کامپوننت فلش هم استفاده کنید!





> قابل توجه اهالی برنامه نویس:
> بنده به کامپوننت ShockwaveFlash تقریباً تسلط دارم. خوشحال میشم هر گونه سوالی در رابطه با این کامپوننت دارید، کمکی هر چند ناچیز ارائه کنم.( اگر فوری هست، پیام بدین!)


.

نه منظورم همون خاصیت Transparent که خود swf داره و این امکان میده که کلیپهای فلش بدون background نمایش داده بشه. ولی فعلا که در دات نت نتونستم از این امکان استفاده کنم.

موفق باشید دوست من

----------


## benyamin_pc

> .
> 
> نه منظورم همون خاصیت Transparent که خود swf داره و این امکان میده که کلیپهای فلش بدون background نمایش داده بشه. ولی فعلا که در دات نت نتونستم از این امکان استفاده کنم.
> 
> موفق باشید دوست من


کاملا" درسته من هم همین مشکل رو دارم خاصیت transparent تو خود activex فلش هست اما کار نمی کنه

----------


## newgoldenman

> من کامپوننت رو به toolbox اضافه کردم ولی وقتی روی فرم می زارم همون error گفته شده رو میده ولی اصلا dll توی debug نیست که پاک کنم تنها فایلی که اونجا هست اینه playFLASH.vshost


 
دوست عزیز یک پروژه ی جدید ایجاد کنید، اینکار را تکرار کنید. اگر در زیر شاخه ی obj\Debug نبود، در زیر شاخه bin\Debug  آن را جستجو کنید!
نمیدونم دوستان دیگه مشکلشون با این روش حل شده یا نه؟

----------


## newgoldenman

> .
> 
> نه منظورم همون خاصیت Transparent که خود swf داره و این امکان میده که کلیپهای فلش بدون background نمایش داده بشه. ولی فعلا که در دات نت نتونستم از این امکان استفاده کنم.
> 
> موفق باشید دوست من


 
منظور بنده هم همینی هست که شما فرمودین.
خود من هم زیاد دنبال این ترفند بوده و هستم، اما با نگاهی به این نمونه متن که بیندازیم، به جوابی که در بالا به آن اشاره کردم، نزدیک میشویم:

WModeWide string - 'window', 'opaque', 'transparent'. Sets the Window Mode property of the Flash movie for transparency, layering, and positioning in the browser. 
'Window' movie plays in its own rectangular window on a web page.
'Opaque' the movie hides everything on the page behind it .
'Transparent' the background of the HTML page shows through all transparent portions of the movie, this may slow animation performance.
Note: This property is not supported in .NET

امیدوارم که بتونم به این سوال پاسخ بدم...

----------


## newgoldenman

سلام دوستان
من با استفاده از برنامه نویسی و OverLoad  کردن کامپوننت shockwaveFlash این کار رو به سادگی انجام دادم. شما میتونید با روشی که من این کار رو انجام دادم، حتی کنترل RightClick رو به دست بگیرید! مثلاً وقتی کسی روی فلشتون RightClick کرد، یک پیام بهش بدین!

با توجه به پست های قبلی و البته کمی قدیمی این بحث، گویا کارتون راه افتاده و مشکلی ندارید.
اگر دوست دارید این روش رو براتون آموزش بدم

----------


## once4ever

یک کنترلی هست که البته برای من جالب نیست کارش

----------


## jeus

دوستان 
من این کامپوننت را به Tools اضافه کردم اما وقتی میخواهم به صفحه اضافه اش کنم  پیغام زیر را نشان میدهد 



> Failed  to import the ActiveX control.  Please ensure it is properly registered.


 مشکلش چیه آیا طبیعیه 
من و من میخوتاهم بدونم که اصلا این کامپوننت از کجا می آید و آیا برنامه های فلش را نصب میکنیم این هم به پوشه زیر اضافه میشه 



> system32\macromedia\Flash

----------


## ARA

برنامه flash palyer رو نصب کنی کافیه 
اگه باز error میده باید دستی اکتیو رو rigester کنی  
cmd 

regsvr32  filename
?/ regsvr32 رو نگاه کن

----------


## newgoldenman

> دوستان 
> من این کامپوننت را به Tools اضافه کردم اما وقتی میخواهم به صفحه اضافه اش کنم پیغام زیر را نشان میدهد 
> 
> 
> مشکلش چیه آیا طبیعیه 
> 
> من و من میخوتاهم بدونم که اصلا این کامپوننت از کجا می آید و آیا برنامه های فلش را نصب میکنیم این هم به پوشه زیر اضافه میشه


سلام
ابتدا جستجو کنید دوست عزیز!
https://barnamenevis.org/showthread.php?t=71621

سوال دیگه ای هم داشتین بفرمایید.

----------


## hamid_isf_1360

سلام
دوست عزیز اگه هنگام اضافه کردن کامپوننت فلش به فرم پیغام زیر را دیدید:
Failed  to import the ActiveX control.  Please ensure it is properly registered
کافیه که از پنجره *سولوشن اکسپلورر* چندین بار بر روی نام پروژه کلیک راست کرده و پروژه را *بیلد* کنید.

با این کار دیگه پیغام بالا را مشاهده نخواهید کرد و فلش بر روی فرم قرار می گیره

----------


## mina1363

من از فایل های فلش تو windows application استفاده کردم ولی فکر کنم فرقی نداره من اون فایل ها رو به پسوند gif تبدیل میکردم بعد توی .net استفاده میکردم

----------


## reza.palang

> من از فایل های فلش تو windows application استفاده کردم ولی فکر کنم فرقی نداره من اون فایل ها رو به پسوند gif تبدیل میکردم بعد توی .net استفاده میکردم


این که استفاده از فلش نیست. استفاده از gif هست.




> با چه نرم‏افزاری؟


کانورتور های زیادی هست. flash 2 gif رو سرچ کن. اما با خود  adobe flash این کار به راحتی امکان پذیر هست

----------


## hassan_kahrizy

بسمه تعالی
با سلام
چرا تبدیل به راحتی می شه خود فلش رو نشون داد
این هم مثالهای خودم در این زمینه

----------


## reza.palang

> میتونید بیشتر توضیح بدهید . من اطلاعات کمی در این زمینه دارم.


البته با کانورتورها من کار نگردم فقط میدونم همچین چیزی هست.
اما مراحل تبدیل فایل فلش (swf.*) توی محیط Adobe Flash اینطوری هست:
       1 - file> Import> Import to stage یا ctrl+R رو میزنید.
       2 -  بعد از تنظیم اندازه کادر File> Export> Export Movie رو میزنید و در لیست مربوط به فرمت ذخیره فایل gif رو انتخاب میکنید.

اما همونطور که دوستمون گفتن فایل های فلش هم میتونن توی صفحات استفاده بشن. و نیازی به تبدیل نیست مگر در مواردی که حجم رو بخواید پایین بیارید. که در بعضی مواقع زیاد هم میشه

----------


## Programmer.G

سلام











> using System;
> using System.Drawing;
> using System.Collections;
> using System.ComponentModel;
> using System.Windows.Forms;
> using System.Data;
> using System.IO;
> namespace dotNet
> {
> ...

----------


## PC2st

باید این کنترل رو به لیست کنترلها اضافه کنید.

روی ToolBox کلیک راست کنید و سپس گزینه Choose Items رو انتخاب کنید. صبر کنید تا پنجره ظاهر بشه و از اونجا تب (زبانه) COM Components رو انتخاب کنید. از لیست موجود، گزینه Shockwave Flash Object رو انتخاب کرده و روی OK کلیک کنید. حالا میتونید از این کنترل استفاده نمایید.

اگر به مشکلاتی در حین استفاده از این کنترل برخوردید، شاید لازم باشه که آخرین ورژن macromedia Flash Player رو هم نسب کنید و برای اطلاعات بیشتر، لینک زیر رو ببینید:
http://forums.microsoft.com/MSDN/Sho...68433&SiteID=1

----------


## ARA

البته فکر کنم تنها کپی کردن کافی نباشه و باید رجیسترش کنی با دستور 
 regsvr32

نپرس چه جوری که اگه سرچ کنی همینجا پیداش میکنی

----------


## hassan razavi

از تابع fscommand استفاده کنید.
این مثال مشکلتون را کامل حل میکنه
http://www.codeproject.com/csharp/fscommand.asp

----------


## ll_anis_ll

سلام.چطور می تونم عکسی که با فلش ساختم رو داخل یک image بذارم؟اصلا میشه روش دیگه ای داره؟من هر عکسی رو که با فلش ساختم رو وقتی داخل یک image مسیر می دم نمیاد؟؟؟؟؟؟؟؟

----------


## PC2st

نمیشه :-) بجاش از همون کنترل Shockwave Flash Object استفاده کنید.

----------


## jome ramezani

در چه صورت رویداد(event)
fscoomand 
در برنامه تحریک می گردد 
یعنی فایل فلش باید چه ویژگی داشته باشد تا این event
تحریک گردد

----------


## hassan razavi

فلش شما نیاز به ویژگی خاصی نداره، هرجا که شما توسط Actiob Script در فلشتون fscommand را فراخونی کنید (مثلا در on press یک دکمه یا در یک فریم خاص یا ... ) رویداد fscommand کنترل Flash Player برنامه شما تحریک میشه

----------


## jome ramezani

> فلش شما نیاز به ویژگی خاصی نداره، هرجا که شما توسط Actiob Script در فلشتون fscommand را فراخونی کنید (مثلا در on press یک دکمه یا در یک فریم خاص یا ... ) رویداد fscommand کنترل Flash Player برنامه شما تحریک میشه



لطفا یه خورده بیشتر توضیح بدید
من این کار را کردم ولی این رویداد تحریک نشد
نمونه آن را هم در اینجا قرار داده ام همراه با فایل Swish 
لطفا کمکم کنید

----------


## babak23

سلام

برای اجرای فایل فلش swf در هنگام لود شدن یک فرم باید چی کار کرد

من از این کد استفاده کردم اما فایل فلش اجرا نشد


string FlashFilePath=c:\\flash\\movei.swf
this.axShockwaveFlash1.EmbedMovie = true;
this.axShockwaveFlash1.Movie = FlashFilePath;

----------


## hassan razavi

بابک جان البته نیازی به صدا زدن متد Play نیست ، منهم فقط با مشخص کردن خاصیت Movie فایل رو اجرا میکنم. ولی برای اطمینان متد Play رو هم تست کنید بد نیست.

----------


## babak23

> بابک جان البته نیازی به صدا زدن متد Play نیست ، منهم فقط با مشخص کردن خاصیت Movie فایل رو اجرا میکنم. ولی برای اطمینان متد Play رو هم تست کنید بد نیست.


این کد هم جواب نداد

String FlashFilePath = "c:\\fash\\movie.swf";
this.axShockwaveFlash1.EmbedMovie = true;
this.axShockwaveFlash1.Movie = FlashFilePath;
this.axShockwaveFlash1.Play();


ببینید مثلا کد پائینی در هنگام لود شدن فرم اجرا میشه و هیچ مشکلی نداره اما وقتی همین دستور ها را در لود شدن فرم مینویسم فلش اجرا نمیشه؟

privatevoid ButtonPlayFlashFileFromFile_Click(object sender, System.EventArgs e)
{
if (openFileDialogFlashFile.ShowDialog() == DialogResult.OK)
{
String FlashFilePath = openFileDialogFlashFile.FileName;
 
this.axShockwaveFlash1.EmbedMovie = true;
this.axShockwaveFlash1.Movie = FlashFilePath;
}
}

با توجه به این موارد چه نتیجه ای باید گرفت؟ :متفکر:

----------


## hassan razavi

با استفاده از دستور regsvr32 در Command Prompt باید آن را رجیستر کنید.

برای مثال:

regsvr32  c:\windows\system32\media\fals8.ocx

----------


## hassan razavi

1- اول مسیر Windows\system32\macromed رو برید و ببینید نام دقیق ocx تون چیه.
2- برید در Command Prompt ویندوز و دستور regsvr32 path را اجرا کنید.
3- بجای path مسیر کامل ocx رو که در مرحله اول پیدا کردید رو بگذارید.
4- موفق باشید

----------


## Himalaya

4 تا گزینه ocx برای flash هست ...
flash6 ...flash8...flash9b...flash
6,9b رو رجیستر میکنه ولی واسه دوتای دیگه که فکر کنم flash.ocx همونیه که باید رجیستر بشه ای error میده...
DllRegisterServer in C:\WINDOWS\system32\Macromed\Flash\Flash.ocx failed.
Return code was: 0x8002801c

----------


## hassan razavi

یک خاصیت بنام فکر کنم ShowMenue یا یه چیزی شبیه به آن هست. که کلی منوی باز شده رو محدود میکنه. 
ولی اگه بخواهید که بطور کامل حذف بشه ، باید توسط Context Menue یه کلکی پیاده سازی کنید.

----------


## application_13

سلام دوست عزیز.
از نظر من (البته به گفته جناب رضوی) یه contexmenu خالی بساز. یعنی هیچ گزینه ای توش نذار. بعد در قسمت context menu فایلی که add کردی اسم منوی جدیدی رو که ساختی بذار. اینجوری هروقت کاربر راست کلیک کنه هیچی نمایش نمیده.

----------


## hassan razavi

کلی پست کاملا به جواب رسیده در این مورد وجود داره.
برای مشکل پیام خطا ، شما باید با regsvr32 فایل ocx تون رو رجیستر کنید.
برای استفاده از دکمه های فلش هم ، شما باید از fscommand در فلش و رویداد fscommand در کنترل player ان در #C استفاده کنید.
تاپیکهای قبلی رو پیدا کنید ، کلی توضیح داده شده.

----------


## newgoldenman

با تشکر از آقای رضوی و در تکمیل پاسخ ایشون:

از منوی Tools گزینه ی Cshoose Toolbox Items رو اتخاب کنید.
سپس از تب Com Components این کامپوننت رو پیدا کنید و تیک بزنید، سپس Ok کنید...
Shockwave Flash Object

این کامپوننت به لیست ابزارهای شما اضافه میشه.

و اما برای آماده سازی:
Drag And Drop! همین! اما...
وقتی که این کامپوننت رو برای اولین بار، تیو هر کدوم از پروژه هاتون که استفاده میکنید، اخطار میده! نگران نباشید، اون رو Ok کنید و به مسیری که پروژتون هست بروید.
داخل پوشه ی 
\obj\Debugفایلی DLL با نام AxInterop.ShockwaveFlashObjects.dll اضافه شده، اون رو Delete کنید.
حالا باز به پروژتون برگردید و یکبار دیگه این کامپوننت رو به فرمتون اضافه کنید...

برای استفاده کردن:
خیلی امکانات و توابع مختلف برای برقراری ارتباط دو طرفه بین #‍C و Flash وجود داره. اما، ابتدایی ترین و مهم ترینش اینه که بتونید یک فایل فلش رو داخل این کامپوننت Open کنید!

از Properties و سپس آیتم Movie میتونید آدرس فایل فلشی که دوست دارین نمایش بدین رو وارد کنید.
به صورت دستی هم میشه اینکار رو انجام داد:
axShockwaveGame1.Movie = "‍C:\\a.swf";

----------


## hassan razavi

*also trying to send data from C#‎ to flash* 
تا جایی که یادمه از #C هم به Flash پارامتر ارسال میکرد.

----------


## jome ramezani

زاستی این مثال هم جالب است
http://www.codeproject.com/KB/graphi...BInteract.aspx

----------


## sinpin

در راستای اجرای طرح بهینه سازی تالار :

+ 23 تاپیک مختلف در زمینه ی کار با فلش در یکدیگر ادغام
+ و تمامی پستهای بیهوده - 97 مورد - حذف
+ و نام تاپیک نهایی به "*مرجع مشکلات متداول در کار با اجزای فلش در سی شارپ * " تغییر یافت.

----------


## RED-C0DE

با سلام...

***برای فرستادن پارامتر رشته ای از یک فایل فلش به یک برنامه (مثلا C#‎) :
(مثال)
- برنامه ای که فایل فلش خود را درست می کنید ، یک Button قرار دهید که در رویداد OnPress و یا OnRelease اون می تونید با استفاده از متد :
FSCommand(string command,  string parameter)
که دو تا پارامتر رشته ای می گیره ( string Command,string Parameter) مقدار مورد نظرتون رو به برنامه میزبان (در اینجا C#‎) بفرستید

-سپس در برنامه میزبان ، در رویداد FSCommand مربوط به شیئ ShockwaveFlash (که پس از کلیک روی Button ای که برای رویداد OnPress اش در ActionScript چیزی نوشتین اجرا می شه) ، با استفاده از پارامتر e می تونید به مقادیر ارسالی از فلش، دسترسی پیدا کنید...

- همچنین با استفاده از متد :
GetVariable(string variableName) که یک مقدار رشته ای بر می گردونه، می تونید بطور مستقیم یه مقدار یک متغیر با دانستم نامش در فایل فلش، دسترسی داشته باشین...(برای مثال می تونین به textBox.text هم به همین روش دسترسی داشته باشین)


***برای ارسال پارامتر رشته ای از برنامه میزبان (در اینجا C#‎) به یک فایل فلش :
-با استفاده از متد 
SetVariable(string variableName,  string variableValue)می تونین اینکار رو انجام بدین...

موفق باشین...

----
برنامه زیر، اینکارا رو انجام میده  و همینطور حاوی فایل فلش (test.fla) هست که می تونین در یک برنامه ادیتور مخصوص فلش اونو باز کنین و دستورات ساده ای که در ActionScript استفاده شده رو ببینید...

----------


## teshnehab

> در ToolBox رایت کلیک کرده و در پنجره Customize ToolBox که باز میشود در TabPage دوم Com Components گزینه Shockwave Flash Object 
> را مارک دار کنید


من تا اينجا را انجام مي دم ولي بعد نمي دونم چي کار کنم ؟؟؟
ميشه دقيقا توضيح بديد؟
 اين Shockwave Flash Objec  کجا قرار مي گيرد؟

يادم رفت بگم که تحت وب کار مي کنم آيا اين مراحل را بايد طي کنم 
يا روشي ديگري دارد؟؟؟؟؟؟؟

با تشکر

----------


## teshnehab

دوستان گرامي کسي نمي خواد جواب ما رو بده؟؟
آوردن فايل swf  در  asp.net ؟؟؟؟؟ تحت وب هستا .

----------


## teshnehab

سلام
من جواب سوالم رو پيدا کردم ، گفتم بذارم اينجا بقيه هم استفاده کنند.

اضافه کردن فايل هاي فلش به صورت تگ نويسي:



برای این کار لازمه شما کد زیر را در درون صفحه مورد نظر قرار بدین

 <embed src="Flash.swf" quality=high  width="800" height="200" name="FlashTest" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">

embed>

راه کاملتر

<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#

version=6,0,0,0"width="800" height="200" id="FlashTest" align="">

<param name=movie value="Flash.swf"><param name=quality value=high>

<embed src="Flash.swf" quality=high  width="800" height="200" name="ebad" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
< SPAN><object>


اگر سوالي بود ، در خدمتم.[:)]

----------


## Mojtaba shabani

سلام دوستان،من از C#‎ 2008 استفاده می کنم اصلا مشکلی برای قرار دادن کامپوننت

----------


## Mojtaba shabani

سلام دوستان،من از C#‎ 2008 استفاده می کنم ویندوزم Vista ست.  اصلا مشکلی برای قرار دادن کامپوننت AxShockWave Flash ندارم ولی وقتی از برنامه اجرا میگیرم قبل از نشون دادن فرم با Exception روبرو میشم متنش اینه



> COMException Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))


از regsvr32 هم استفاده کردم ocx فلش رو هم رجیستر کردم ولی مشکل همچنان باقیست.اگه راهنمایی کنید ممنون میشم

----------


## Mojtaba shabani

دوستان عزیز باید بگم که پشیمون شدم سوالم رو گفتم. مثل اینکه اینجا کسی جواب سوالا رو نمیده

----------


## danial82

شاید این به کارت بیاد
https://barnamenevis.org/attach...1&d=1226600148

----------


## mostafapro

سلام من نیاز به کمک فوری برای استفاده از فایلهی فلش در سی شارپ دارم.برای ساخت بازی

----------


## mostafapro

امکان داره یک بازی فلشو در سی شارپ لود کرد و براش برنامه نوشت

----------


## hasan_esfahan

اگر منظوت اینه که بتونی پارامتری از C#‎ به فلش یا برعکس ارسال کنی این کار شدنی است و کمی کار کوچیک دیگه اما نه در ان حد

----------


## mostafapro

اگر امکان داره نحوه اتصال C#‎ و فایل فلشو به طور کامل توضیح بدید.مخصوصا کد نویسی در فلشو.ممنون

----------


## hamid.afzalnejad

اگر کسی Smart Device بلده به سوال مربوطه در سوالات جواب بده. خیلی فوری است.

----------


## behnam25214

با سلام
از کامپونت F in Box
استفاده کن اگه تونستم می زارم

----------


## ftm.amoozegar

سلام
من از flash تو پروژم استفاده کرده بودم
کاملا  جواب می داد
اما بعد از یه مدت وختی دوباره رو همون سیستم debug کردم warning داد
warning اینه:
Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))b
منظورش از not registered چیه؟
چیکارش کنم؟ :-?

----------


## Tintirio

با سلام خدمت همگی... من میخواستم از کلید های یک فایل فلش بعنوان button در سی شارپ استفاده کنم و روی اونها بتونم برنامه بنویسم .. کسی هست کمکم کنه خیلی خیلی ممنون میشم.

----------


## dr_jacky_2005

> در ToolBox رایت کلیک کرده و در پنجره Customize ToolBox که باز میشود در TabPage دوم Com Components گزینه Shockwave Flash Object 
> را مارک دار کنید در Property Movie آدرس فایل فلش خود را بنویسید برای مثال :
> axShockwaveFlash1.Movie = System.Environment.CurrentDirectory + @"\Clock.swf";* مراقب باشید Property Playing در حالت True باشد :)


من مجبورم که طریق کد قلش رو اجرا کنم.
یهنی از طریق کد آدرس فلش رو بدم.


SupportPath = "masir.swf";
            AxShockwaveFlashObjects.AxShockwaveFlash fl = new AxShockwaveFlashObjects.AxShockwaveFlash();
            fl.Movie = SupportPath;

اما این ارور رو میده:

Exception of type 'System.Windows.Forms.AxHost+InvalidActiveXStateEx  ception' was thrown.

----------


## dr_jacky_2005

آقا من مشکل بالام حل شد...
الآن میخوام اینطوری باشه:

توو برنامم نمیتونم دی ال ال  رو اضافه کنم.به دلایلی!مهم نیست حالا.
من قصدم اینه که موقع Setup   ، 

shockWave رو نصب کنم....بعد برنامم بره دی ال ال رو روو سیستم طرف پیدا کنه،از اون استفاده کنه.
چطور؟ :متفکر:

----------


## sogoli

من از دستور 
 this.axShockwaveFlash1.Stop();
برای توقف فلش استفاده می کنم که متاسفانه فقط تصویر فلش متوقف میشه و صداش هنوز پخش میشه .فکر می کنید علتش چی می تونه باشه؟

----------


## mohsenmoradian

سلام
بچه ها شرمنده من هر کاری میکنم فایل ocx به ابزارام اضافه نمی شه به نظرتون مشکل از کجاست؟

----------


## vahid_z

با stop کردن کنترل شما فقط روند اجرای پشت سر هم فریمهای فلش رو متوقف می کنید.
اما برای توقف صدا بسگتی به نحوه ی اجرای صدای پخش شده در فایل فلش دارد.
اگر صدا درون فریم های ریخته شده باید از stop استفاده کنید.
اگر با کد صدا پخش شده می تونید قبل از stop کنترل از fscommand زیر استفاده کنید.
اگر اشتباه نکنم 
stopAllSounds

----------


## vorodi88

سلام دوستان 
فرض کنید که یه برنامه نوشته شده و پارامترا به فایل فلش ارسال شده پریویوو هم مشاهده شده و حالا میخایم با یه فرمت خاص ویدئویی ذخیرش کنیم ؟
چکار کنیم ؟!!!!!!!

----------


## vorodi88

دوستان کسی نبود کمک کنه !!!!!

----------


## s-vakili

با سلام
چطور می شود فایل swf را داخل exe گذاشت ؟ نه اینکه در به عنوان فایل همراه. منظور  standalone  است.

----------

