c#控制台隐藏
我有一个程序,需要开机后运行,但是有控制台界面很不好看,所以想把它隐藏起来,用的方法是参照这个例子using;using.Runtime.InteropServices;...
我有一个程序,需要开机后运行,但是有控制台界面很不好看,所以想把它隐藏起来,用的方法是参照这个例子using ;
using .Runtime.InteropServices;
using .Threading;
TestClass
{
void Main( args)
{
TestClass;
}
[DllImport("User32.dll", EntryPo = "FindWindow")]
private extern IntPtr FindWindow( lpClassName, lpWindowName);
[DllImport("user32.dll", EntryPo = "FindWindowEx")] //找子窗体
private extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, lpszClass,
lpszWindow);
[DllImport("User32.dll", EntryPo = "SendMessage")] //用于发送信息给窗体
private extern SendMessage(IntPtr hWnd, Msg, IntPtr wParam, lParam);
[DllImport("User32.dll", EntryPo = "ShowWindow")] //
private extern bool ShowWindow(IntPtr hWnd, type);
public TestClass
{
.Diagnostics.Process p = .Diagnostics.Process;
p.StartInfo.FileName = "NOTEPAD.EXE";//打开个记事本
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start;
p.Close;
Console.Title = "1111";
IntPtr ParenthWnd = IntPtr(0);
IntPtr et = IntPtr(0);
ParenthWnd = FindWindow(null, "1111");
(!ParenthWnd.Equals(IntPtr.Zero))
Console.WriteLine("show");
Console.WriteLine("error");
ShowWindow(ParenthWnd, 0);//隐藏本dos窗体
Console.Read;
}
}
这样虽然可以隐藏窗体,但是在开机启动的时候却不能隐藏,小弟才疏学浅百思不得其解,请哪位大侠能指教一下。 展开
using .Runtime.InteropServices;
using .Threading;
TestClass
{
void Main( args)
{
TestClass;
}
[DllImport("User32.dll", EntryPo = "FindWindow")]
private extern IntPtr FindWindow( lpClassName, lpWindowName);
[DllImport("user32.dll", EntryPo = "FindWindowEx")] //找子窗体
private extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, lpszClass,
lpszWindow);
[DllImport("User32.dll", EntryPo = "SendMessage")] //用于发送信息给窗体
private extern SendMessage(IntPtr hWnd, Msg, IntPtr wParam, lParam);
[DllImport("User32.dll", EntryPo = "ShowWindow")] //
private extern bool ShowWindow(IntPtr hWnd, type);
public TestClass
{
.Diagnostics.Process p = .Diagnostics.Process;
p.StartInfo.FileName = "NOTEPAD.EXE";//打开个记事本
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start;
p.Close;
Console.Title = "1111";
IntPtr ParenthWnd = IntPtr(0);
IntPtr et = IntPtr(0);
ParenthWnd = FindWindow(null, "1111");
(!ParenthWnd.Equals(IntPtr.Zero))
Console.WriteLine("show");
Console.WriteLine("error");
ShowWindow(ParenthWnd, 0);//隐藏本dos窗体
Console.Read;
}
}
这样虽然可以隐藏窗体,但是在开机启动的时候却不能隐藏,小弟才疏学浅百思不得其解,请哪位大侠能指教一下。 展开
展开全部
一楼对,你这样根本不需要写成控制台的程序,直接写成windows程序,然后把form的.visable=false就把你程序全部隐藏了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果想写成开机自动运行并且不显示窗体的话,可以考虑下 Windows Service编程,参考下
http://msdn.microsoft.com/en-us/library/aa984074(VS.71).aspx
,不会比winform更复杂。
http://msdn.microsoft.com/en-us/library/aa984074(VS.71).aspx
,不会比winform更复杂。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑把你的程序在用批处理包装一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对,就用windows服务写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询