相关疑难解决方法(0)

如何在隐藏控制台的情况下运行C#控制台应用程序

有没有办法在执行控制台应用程序时隐藏控制台窗口?

我目前正在使用Windows窗体应用程序来启动控制台进程,但我不希望在任务运行时显示控制台窗口.

c# console-application

135
推荐指数
6
解决办法
16万
查看次数

在C#控制台应用程序中隐藏控制台窗口

问题是,我真的不希望控制台窗口出现......但解决方案应该正在运行.我的观点是,我想让应用程序在后台运行,没有任何窗口出现.

.net console-application

95
推荐指数
4
解决办法
8万
查看次数

在Windows应用程序中显示控制台

有没有办法在Windows应用程序中显示控制台?

我想做这样的事情:

static class Program
{
    [STAThread]
    static void Main(string[] args) {
        bool consoleMode = Boolean.Parse(args[0]);

        if (consoleMode) {
            Console.WriteLine("consolemode started");
            // ...
        } else {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# console winforms

80
推荐指数
5
解决办法
14万
查看次数

如何在C#中隐藏控制台应用程序

我在C#中有一个控制台应用程序,我想用户将无法看到它.

我怎样才能做到这一点?

c# console-application hide

27
推荐指数
4
解决办法
2万
查看次数

使我的控制台应用程序不可见

我正在为我的公共图书馆开发一个控制台应用程序作为学校项目.控制台应用程序将在用户登录后立即运行并执行一些后台工作.

问题是,我不希望控制台应用程序真正出现.我需要它隐形.我需要的最后一件事就是投诉,因为有些人因为CMD窗口打开和关闭而感到害怕,除了图书馆希望它尽可能不可见.

我试着按照这个帖子中的代码:http: //social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/ea8b0fd5-a660-46f9-9dcb-d525cc22dcbd

但无济于事,我仍然可以看到控制台应用程序在完成所有工作后弹出和关闭.

有没有更好的方法来阻止控制台出现?谢谢.

c# invisible console-application

19
推荐指数
3
解决办法
3万
查看次数

WPF /控制台混合应用程序

我编写的应用程序可以在命令行上运行,也可以使用WPF UI运行.

[STAThread]
static void Main(string[] args)
{
    // Does magic parse args and sets IsCommandLine to true if flag is present
    ParseArgs(args);     

    if(IsCommandLine)
    {
        // Write a bunch of things to the console
    }
    else
    {
        var app = new App();
        app.Run(new Window());
    }
}
Run Code Online (Sandbox Code Playgroud)

我将项目的输出类型设置为控制台应用程序,如果我尝试通过双击exe来执行它,我会弹出一个控制台窗口.如果未设置标志(通过命令args传入),我不想向用户显示控制台窗口.

但是,如果我将项目的输出类型设置为Windows应用程序,则双击行为很好,但是当我在控制台中运行它时,我没有控制台输出(Console.Writeline)

c# wpf

15
推荐指数
2
解决办法
2万
查看次数

启动 C# Windows 应用程序并等待在命令行中退出

通常,在命令提示符下调用 Windows 应用程序不会等待其退出。一旦我输入myFormApp.exe并按回车键,就会显示一个表单,并且命令提示符立即移动到下一行。

C:\> myFormApp.exe
C:\>     # this line will display immediately
Run Code Online (Sandbox Code Playgroud)

我知道使用cmd /c将等待应用程序退出。

C:\> cmd /c myFormApp.exe
C:\>     # this line will display after myFormApp.exe closed
Run Code Online (Sandbox Code Playgroud)

但即使没有,我也想等待cmd /c

有没有办法通过编辑 myFormApp.exe 源代码来防止命令提示符移动到新行?

添加AllocConsole到Windows应用程序将显示控制台,但它不会使命令提示符等待退出。

if (args.Length > 0)
{
    // Command line given, display console
    AllocConsole();
}
else
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
}
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。谢谢!

c# windows console-application

6
推荐指数
1
解决办法
5729
查看次数

如何动态控制台应用程序或Windows应用程序

我有一个小应用程序,应该以两种模式执行:非UI或WPF窗口.它应该依赖于命令行参数.

在每种模式中,我都需要显示一些反馈日志:

  1. 在WPF窗口模式下,WPF将负责可视化日志,
  2. 在没有UI模式下,我需要一个控制台来显示日志.如果我的应用程序是从控制台(主要是cmd.exe)启动的,我想在不打开新的应用程序的情况下使用它.如果我的应用程序已在控制台外启动(双击资源管理器,CreateProcess,...),我需要创建一个新的控制台来输出我的结果并等待Readkey关闭它.

我已经找到:

而且我知道我可以在项目属性中静态选择"Windows应用程序"或"控制台应用程序".

选择"Windows应用程序",GetConsoleWindow()始终为0,我看不到如何重用以前的控制台.

选择"控制台应用程序",我可以重用以前的控制台,但是当在WPF窗口模式下从资源管理器启动时,会在我的WPF主窗口下创建一个控制台.

问题是:应用程序如何真正动态?在WPF窗口模式下,只有一个WPF窗口(根本没有控制台)或非UI,只有一个控制台(启动一个或新创建的控制台).

.net c#

4
推荐指数
1
解决办法
1385
查看次数

显示控制台应用程序窗口,用于调试DLL

我们有一个扩展第三方应用程序的DLL.我希望这个DLL在启动纯粹用于调试目的时打开一个控制台窗口.我知道使用Windows应用程序执行此操作的技巧(将输出类型更改为控制台应用程序).有没有办法用类库做到这一点?

.net c# class-library .net-4.0 visual-studio-2010

3
推荐指数
1
解决办法
1217
查看次数

在 WPF 应用程序中,您如何覆盖控制台关闭命令?

在我的 WPF 应用程序中,我使用控制台窗口作为调试/消息窗口 - 我有选项设置来根据用户的需要显示和隐藏窗口,一切都很好。唯一的问题是,当用户关闭控制台窗口时,它会退出整个程序。如何覆盖它,以便当用户单击 X 时它只是隐藏控制台而不是退出应用程序?

这是我到目前为止:

const int SW_HIDE = 0;
const int SW_SHOW = 5;
public static bool ConsoleVisible { get; private set; }

[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();

[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);


public static void HideConsole()
{
    var handle = GetConsoleWindow();
    ShowWindow(handle, SW_HIDE);
    ConsoleVisible = false;

}
public static void ShowConsole()
{
    var handle = GetConsoleWindow();
    ShowWindow(handle, SW_SHOW);
    ConsoleVisible = true;
}
Run Code Online (Sandbox Code Playgroud)

** 对于想要使用它的人,您需要: using System.Runtime.InteropServices;

此代码源自此答案:https : //stackoverflow.com/a/3571628/649382

** 编辑 …

c# wpf console

3
推荐指数
1
解决办法
1219
查看次数