目前我正在做的是我的终端服务器启动这个应用程序.这是构建为Windows窗体应用程序,以防止控制台窗口显示:
public static voID Main(){ //(Snip...) Do some setup work Process proc = new Process(); //(Snip...) Setup the process proc.Start(); proc.WaitForExit(); //(Snip...) Do some housecleaning NativeMethods.ExitwindowsEx(0,0);}
我真的很喜欢这个,因为任务栏中没有任何项目,而在alt选项卡中没有任何内容.但是为了做到这一点,我放弃了访问像void WndProc(ref Message m)
这样的功能所以现在我听不到windows消息(像WTS_REMOTE_disCONNECT或WTS_SESSION_logoFF),没有一个句柄用于bool WTSRegisterSessionNotification(IntPtr hWnd,int dwFlags);
我希望我的代码更强大,所以它如果用户在关闭程序之前注销或断开会话,则会进行清理.
任何关于我如何可以让我的蛋糕和吃它的推荐?
解决方法 您可以创建一个用于处理消息的隐藏窗口.using System;using System.windows.Forms;namespace windowsApplication1{ class Program { [STAThread] static voID Main(string[] args) { Application.Run(new MessageWindow()); } } class MessageWindow : Form { public MessageWindow() { this.ShowInTaskbar = false; this.windowstate = Formwindowstate.Minimized; // added by MusiGenesis 5/7/10: this.FormborderStyle = FormborderStyle.FixedToolWindow; } protected overrIDe voID WndProc(ref Message m) { base.WndProc(ref m); } }}总结
以上是内存溢出为你收集整理的c# – 如何使程序不会显示在Alt-Tab或任务栏中全部内容,希望文章能够帮你解决c# – 如何使程序不会显示在Alt-Tab或任务栏中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)