Silverlight Open File using the default application


การพัฒนาโปรแกรม Silverlight(SL) ให้เปิดไฟล์โปรแกรมอื่นๆ ได้นั้น สามารถทำได้
โดยการ Enable Require elevated trust… เพื่อให้ SL มีสิทธิเข้าถึงทรัพยากร ของไคลเอ็นต์(เครื่องของผู้ใช้)


ในบทความนี้ จะยกตัวอย่าง การเปิดไฟล์ของโปรแกรม ต่างๆ ด้วย SL ตามขั้นตอน ดังนี้

 

สร้างโปรเจ็กต์ SL

1. สร้างโปรเจ็กต์ SL

image

 

2. โครงสร้างโซลูชั่น SilverlightApplication1 ของ SL

image

 

ออกแบบหน้าจอ

3. บนโปรเจ็กต์ SilverlightApplication1 เปิดไฟล์ MainPage.xaml
แล้วทำการออกแบบหน้าจอดังรูป

image

 

4.อ้างอิง ไลบรารี่ Microsoft.CSharp เนื่องจาก จะใช้ การประกาศตัวแปรแบบ dynamic หนึ่งในฟีเจอร์
ที่มาใน C# 4.0 (สามารถอ่านเพิ่มเตอมได้ที่:New Features in C# 4.0 http://bit.ly/RxYT9e )

image

 

5.ติ๊กเลือก…เพื่อให้โปรแกรม SL สามารถเข้าถึง ทรัพยากรต่างๆ ของเครื่องผู้ใช้

  • Enable running application out of the browser
  • Require elevated trust when running in-browser

image

 

6. จากข้อ 5 คลิกปุ่ม Out-of-Browser settings(OOB)…จากนั้น

  • ไม่ติ๊ก Show install menu (ไม่ต้องติตั้ง OOB )
  • ติ๊กเลือก Require elevated trust when running outside the browser

image

 

เขียนโค้ด

7. แล้วเขียนโค้ดบนปุ่ม OPEN ดังนี้ :

 

//…
using System.Runtime.InteropServices.Automation;

//…

private void btOPEN_Click(object sender, RoutedEventArgs e)
        {
            if ((AutomationFactory.IsAvailable))
            {
                dynamic shell = AutomationFactory.CreateObject(“Shell.Application”);

                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Filter = “Text files (*.text)|*.txt|All Files (*.*)|*.*”;
                if (dlg.ShowDialog() == true )
                {
                    txtFileExtension.Text = dlg.File.Extension;
                    txtPath.Text = dlg.File.FullName;
                   
                    shell.ShellExecute(dlg.File.FullName );
                   
                }

            }
        }

//…

 

 

 

รันโปรแกรม

8. กำหนดให้รันโปรแกรมที่โปรเจ็กต์ ASP.NET (SilverlightApplication1.Web)
โดยการคลิกขวา => เลือกเมนู Set as StartUp Project

image

 

9. กำหนดให้รันไฟล์ SilverlightApplication1TestPage.html โดย
การคลิก ขวาบนไฟล์ SilverlightApplication1TestPage.html => แล้วเลือกเมนู
Set As Start Page

image

 

10. กด F5 รันโปรแกรม…

image

 

11. ทดสอบเปิดไฟล์ต่างๆ โดยการกดปุ่ม OPEN
แล้วเลือกไฟล์ที่ต้องการ เช่นไฟล์ PowerPoint

image

 

12. โปรแกรม Shell จะไปเปิด โปรแกรม Microsoft PowerPoint เปิดไฟล์ ขึ้นมาดังรูป
#บนเครื่องผู้ใช้ ต้องติดตั้งโปรแกรม PowerPoint อยู่ก่อนแล้ว จึงจะใช้กรณีนี้ได้ 

image

 

ซึ่งการพัฒนาโปรแกรม SL ให้สามารถเปิดไฟล์ ด้วยโปรแกรมดีฟอลต์ นั้น

บนเครื่องผู้ใช้งาน ต้องมีโปรแกรม ดีฟอลต์ ดังกล่าวติดตั้งอยู่ก่อน แล้วจึงสามารถใช้งานได้

 

แหล่งข้อมููลดาวน์โหลด:

 


 

ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: https://janawat.wordpress.com
Nuchit’s Profile @microsoft
https://mvp.support.microsoft.com/profile/nuchit
Facebook:
https://www.facebook.com/nuchit
Twitter:
http://twitter.com/janawat

เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

Tagged with:
เขียนใน Silverlight

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: