c# 杂项

//主机小喇叭报警:

using System.Runtime.InteropServices;

 

 public class APIFunctions
    {
        // APIFunctions 包含系统中对API的调用的类
        public const int FREQ = 2000;   // PCI喇叭的频率
        public const int DURATION = 1000;   // PCI喇叭的持续时间

 

        [DllImport("kernel32.dll", EntryPoint = "Beep")]
        public static extern int Beep(int dwFreq, int dwDuration);

 

        /// <summary>
        /// 通过此方法发出声音通知用户
        /// </summary>


        public  void CollateBeep()
        {
            Beep(FREQ, DURATION);
        }
    }

 

 

 

 

 ==================================================

 

 

播放音频:

           添加引用: Windows Media Player , 于是 Bin 目录下就有了 Interop.WMPLib.dll 文件  

            WMPLib.WindowsMediaPlayerClass player = new WMPLib.WindowsMediaPlayerClass();
            player.URL = @"F:/ding.wav";
            player.uiMode = "None";
            player.settings.volume = 100;
            player.settings.playCount = 1;
            player.play();


WMPLib.WindowsMediaPlayer 的用法

属性/方法名: 说明:
[基本属性]  
URL: String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
enableContextMenu:Boolean; 启用/禁用右键菜单
fullScreen:boolean; 是否全屏显示
[controls] wmp.controls //播放器基本控制
controls.play; 播放
controls.pause; 暂停
controls.stop; 停止
controls.currentPosition:double; 当前进度
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
controls.fastForward; 快进
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
[settings] wmp.settings //播放器基本设置
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自动播放
settings.mute:Boolean; 是否静音
settings.playCount:integer; 播放次数
[currentMedia] wmp.currentMedia //当前媒体属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性
currentPlaylist.count:integer; 当前播放列表所包含媒体数
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia

 

 

 

 

 ============================================================

 

 

 

 

串口通信:

引用Microsoft.VisualBasic.dll

 

            Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
            foreach (string s in pc.Ports.SerialPortNames)
            {
                this.listBox1.Items.Add(s);
            }

 

             System.IO.Ports.SerialPort com = new System.IO.Ports.SerialPort(this.listBox1.SelectedItem.ToString());
            // SerialPort(String, Int32, Parity, Int32) 使用指定的端口名称、波特率、校验位和数据位
            com.Open();
            com.Write("something");

           com.Close();

 

 

 

 

 

 ========================================================

 

 

 

socket接收字符

 

using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;

public class GetSocket
{
    static void Main(string[] args)
    {
        Console.WriteLine("使用Silverlight Socket 发送信息演示:");
        Console.WriteLine("==================================================");
        Console.WriteLine("");
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        socket.Bind(new IPEndPoint(IPAddress.Any, 4502));
        socket.Listen(5);
        string page="";
        byte[] buffer = new byte[1024];
        while (true)
        {
            Socket s = socket.Accept();
            int receive;
           
            Thread t = new Thread(() =>
            {
                try
                {
                    while (true)
                    {
                            do
                            {
                               receive = s.Receive(buffer, buffer.Length, 0);
                               page = page + Encoding.ASCII.GetString(buffer, 0, receive);
                            } while (receive < 0);

                            Console.WriteLine(page);
                    }
                }
                finally
                {
                    s.Close();
                }
            });

            t.Start();
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您想要将现有的 C# 项目迁移到 C# Core 吗?如果是这样,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了 .NET Core SDK,您可以在 Microsoft 的官方网站上下载并安装它。 2. 打开您的 C# 项目,并确保它在 Visual Studio 中可正常编译和运行。 3. 创建一个新的 C# Core 项目。您可以使用 Visual Studio 或者使用命令行工具(如 dotnet CLI)来完成这一步骤。 4. 将原有项目中的代码和文件复制到新的 C# Core 项目中。请注意,某些特定的功能、类库或者 API 可能需要进行适当的修改或者替换,以适应 C# Core 的要求。 5. 更新项目的依赖项。C# Core 使用 NuGet 包管理器来管理依赖项。您可以使用 Visual Studio 或者 dotnet CLI 来添加、更新或者删除项目的依赖项。 6. 对于任何特定于平台的代码,您可能需要进行一些调整。C# Core 是跨平台的,因此某些特定于平台的 API 或者功能可能需要进行适当的修改。 7. 进行测试并调试。确保您的 C# Core 项目能够正确地编译、运行和提供预期的功能。 8. 最后,根据需要,您可以部署和发布您的 C# Core 项目。您可以将其打包为一个独立的可执行文件,或者作为一个 ASP.NET Core Web 应用程序进行部署。 这些是一般的步骤,具体的迁移过程可能会因项目的复杂性和特定要求而有所不同。请确保在迁移之前备份您的现有项目,并在迁移过程中进行适当的测试和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值