none
在sl4中如何直接往并口写数据? RRS feed

  • 问题

  • 在vb中可以直接   open   "LPT1:"   "string"   

    c#中也能通过 [DllImport("kernel32.dll")] 操作并口。  

    请问:


     在sl4 (Out-of-Browser)中 如何直接往并口写数据?

    2010年5月3日 8:38

答案

  • 你好,

       不好意思之前表达的不是很清楚,是使用整个Framework中的一些Class

      

       <Button x:Name="btnUseFullDotNet" Content="Use a class from the full .Net frameowrk" Click="btnUseFullDotNet_Click"/>

     

    private static int foo = 0;

    private void btnUseFullDotNet_Click(object sender, RoutedEventArgs e)

    {

        using (dynamic ReaderWriterLock = ComAutomationFactory.CreateObject("System.Threading.ReaderWriterLock"))

        {

            ReaderWriterLock.AcquireWriterLock(1);

            MessageBox.Show("System.Threading.ReaderWriterLock.AcquireWriterLock() - acquired lock");

            foo++;

            ReaderWriterLock.ReleaseWriterLock();

            MessageBox.Show("System.Threading.ReaderWriterLock.ReleaseWriterLock() - released lock");

            ReaderWriterLock.AcquireReaderLock(1);

            MessageBox.Show("While in reader lock - Foo value is " + foo);

            ReaderWriterLock.ReleaseReaderLock();

     

        }

    }

        这段代码是从这个Blog里copy的,你可以去看一下他的原文

        http://justinangel.net/  (Silverlight4 com+ feature那段)

    2010年5月11日 2:43

全部回复

  • 你好,

         在SL4的Elvated Trust中应该可以实现。

         在Elevated Trust中的SL app可以调用.net Framework class. 当然需要客户端已经安装的情况下。

         Silverlight本身的CLR没有类似的API支持。

    2010年5月10日 6:21
  • " SL app可以调用整个.net Framework class. "

    能举个例子吗?

     

    2010年5月10日 6:26
  • 你好,

       不好意思之前表达的不是很清楚,是使用整个Framework中的一些Class

      

       <Button x:Name="btnUseFullDotNet" Content="Use a class from the full .Net frameowrk" Click="btnUseFullDotNet_Click"/>

     

    private static int foo = 0;

    private void btnUseFullDotNet_Click(object sender, RoutedEventArgs e)

    {

        using (dynamic ReaderWriterLock = ComAutomationFactory.CreateObject("System.Threading.ReaderWriterLock"))

        {

            ReaderWriterLock.AcquireWriterLock(1);

            MessageBox.Show("System.Threading.ReaderWriterLock.AcquireWriterLock() - acquired lock");

            foo++;

            ReaderWriterLock.ReleaseWriterLock();

            MessageBox.Show("System.Threading.ReaderWriterLock.ReleaseWriterLock() - released lock");

            ReaderWriterLock.AcquireReaderLock(1);

            MessageBox.Show("While in reader lock - Foo value is " + foo);

            ReaderWriterLock.ReleaseReaderLock();

     

        }

    }

        这段代码是从这个Blog里copy的,你可以去看一下他的原文

        http://justinangel.net/  (Silverlight4 com+ feature那段)

    2010年5月11日 2:43