C# 在C中使用运行CMD命令#

C# 在C中使用运行CMD命令#,c#,cmd,C#,Cmd,我有一个程序,我想发送cmd msg,最初从cmd发送一个msg是msg*Hello Worlld,我在C#中用同样的方法尝试过,但没有成功 Process WindowsProcess = new Process(); ProcessStartInfo PSI = new ProcessStartInfo(); private void WindowsNotifier(string msg) { PSI.FileName = "cmd.exe"; PSI.Arguments

我有一个程序,我想发送cmd msg,最初从cmd发送一个msg是
msg*Hello Worlld
,我在C#中用同样的方法尝试过,但没有成功

Process WindowsProcess = new Process();
ProcessStartInfo PSI = new ProcessStartInfo();

private void WindowsNotifier(string msg)
{
    PSI.FileName = "cmd.exe";
    PSI.Arguments = "/c msg * '"+msg+"'";
    WindowsProcess.StartInfo = PSI;
    WindowsProcess.Start();
}

谢谢你

我想你可以这么做:

private void WindowsNotifier(string msg)
{
    Process.Start("cmd", @"/c msg * " + msg);
}
/c
关闭cmd提示符,或
/k
保持其打开状态。 我假设您试图在cmd提示符中执行
msg*TEXT\u

或者,您可以在文本文件中键入命令,将其另存为.bat批处理文件。然后简单地运行:

System.Diagnostics.Process.Start(batchFilePath);

谢谢Liren,它使用的Windows服务在我启动服务时似乎无法显示消息service@KizitoSteven在正常情况下,Windows服务无法与包含cmd提示符的桌面交互。有一些步骤可以实现,但最好将消息放到日志文件中。