将输出打印到cmd

时间:2014-06-26 09:55:10

标签: c# cmd output

有人可以提供一个工作示例,说明如何打印命令行变量fg。

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Foreground {
  class GetForegroundWindowTest {

    [DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
    public static extern IntPtr GetForegroundWindow();

    [DllImport("user32.dll", CharSet=CharSet.Unicode, SetLastError=true)]
    public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);

    public static void Main(string[] args){
        IntPtr fg = GetForegroundWindow(); //use fg for some purpose

        /// PRINT fg TO COMMAND LINE

    }
  }
}

需要使用的项目的一部分:

要编译cs文件并在cmd中运行。该程序将检索用户前景窗口的名称,并将该窗口的标题输出为cmd。

我试过了:

Console.WriteLine(fg)

[DllImport( "kernel32.dll" )]
static extern bool AttachConsole( int dwProcessId );
private const int ATTACH_PARENT_PROCESS = -1;

3 个答案:

答案 0 :(得分:1)

您可以使用

Console.WriteLine(fg); 

答案 1 :(得分:1)

问题不是很清楚,但我认为你是在尝试这样做:

IntPtr fg = GetForegroundWindow(); //use fg for some purpose

var bufferSize = 1000;
var sb = new StringBuilder(bufferSize);

GetWindowText(fg, sb, bufferSize);

Console.WriteLine(sb.ToString());

答案 2 :(得分:0)

System.Diagnostics.Process.Start("CMD.exe",fg);