c#中隐藏控制台的方法

来源:互联网 发布:企业站cms哪个好 编辑:程序博客网 时间:2024/05/22 03:31
using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Configuration;using System.Collections;using System.Runtime.InteropServices; //黄色using System.Diagnostics; //黄色namespace Qisda.OTM.AutoJob{ class Program { [DllImport("user32.dll")] //黄色 private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); //黄色 static void Main(string[] args) { Process current = Process.GetCurrentProcess(); //黄色 ShowWindowAsync(current.MainWindowHandle,0); //黄色 string baseDirectory = AppDomain.CurrentDomain.BaseDirectory; log4net.Config.XmlConfigurator.Configure(new FileInfo(Path.Combine(baseDirectory, ConfigurationManager.AppSettings["log4net-config-file"]))); PURToOTMJob job = new PURToOTMJob(); Hashtable parameter = new Hashtable(); parameter.Add("SITE","QMX"); job.Run(parameter); } }}黄色底色部分的代码为完成该功能的代码,其中:ShowWindowAsync(current.MainWindowHandle,0)中的函数资料如下(网上摘抄):Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer 参数 类型及说明 hwnd Long,窗口句柄,要向这个窗口应用由nCmdShow指定的命令 nCmdShow Long,为窗口指定可视性方面的一个命令。请用下述任何一个常数 SW_HIDE 隐藏窗口,活动状态给令一个窗口 SW_MINIMIZE 最小化窗口,活动状态给令一个窗口 SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态 SW_SHOWMAXIMIZED 最大化窗口,并将其激活 SW_SHOWMINIMIZED 最小化窗口,并将其激活 SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口 SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口 SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口 SW_SHOWNORMAL 与SW_RESTORE相同 使用API浏览器 (API Text Viewer),就可以知道这些常数的数值。 Public Const SW_SHOW = 5 Public Const SW_SHOWDEFAULT = 10 Public Const SW_SHOWMAXIMIZED = 3 Public Const SW_SHOWMINIMIZED = 2 Public Const SW_SHOWMINNOACTIVE = 7 Public Const SW_SHOWNA = 8 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SHOWNORMAL = 1 Public Const SW_HIDE = 0 Public Const SW_RESTORE = 9