mIRC脚本正在运行C#程序,但出现FileNotFound错误

本文关键字:FileNotFound 错误 程序 脚本 运行 mIRC | 更新日期: 2023-09-27 18:28:23

我正试图为我的频道设置一个mIRC机器人,每当发生特定事件时,我当前的项目都会在我的计算机上播放音频文件。

我写了一个简短的C#控制台应用程序,它从参数中获取文件名,并播放该文件。

这可以从cmd或使用快捷方式运行它,但当我在通道上输入命令时,程序会出现,但会抛出FileNotFound异常。

我写了一些代码,使用try{}catch}来查看到底发生了什么。如果文件无法播放,它将首先列出提供的参数、扩展名(我稍后会更改),最后列出组合字符串。它的结果是:

args[0]: audiofile
extension: .wav
filename: audiofile.wav

这正是文件名,从命令行中可以完美地播放。

有人知道这里发生了什么吗?

static void Main(string[] args)
{
    string extension = ".wav";
    string filename = "null";
    if (args == null || args.Length == 0)
    {
        Console.WriteLine("No arguments provided!");
        Console.ReadLine();
        return;
    }
    filename = args[0] + extension;
    Console.Write("Press enter to play grenade... ");
    Console.ReadLine();
    try
    {
        Console.WriteLine("Playing file " + filename);
        (new SoundPlayer(filename)).Play();
    }
    catch 
    {
        Console.WriteLine("Error!");
        Console.WriteLine("args[0]: " + args[0]);
        Console.WriteLine("extension: " + extension);
        Console.WriteLine("filename: " + filename);
    }
    Console.ReadLine();
}

mIRC脚本:

on $*:text:!grenade:#: {
  /run "c:/users/electrospeed/documents/visual studio 2013/projects/audioplayer/audioplayer/bin/debug/audioplayer.exe" audiofile
}

mIRC脚本正在运行C#程序,但出现FileNotFound错误

在mIRC代码的末尾,您写了audiofile,如果我错了,请纠正我,但我猜您的意思是%audiofile,就像变量中一样。

我认为目录路径中不需要引号。