C#,远程桌面启动程序时,判断是否为控制台

问题描述

windows2003的远程桌面,同一个用户名可登录几个界面。可以通过任务管理器-用户,切换不同桌面。其中有一个是远程的那台主机登录的桌面,暂且称主桌面。也可通过windows2003自带的mstsc程序,通过运行:mstsc.exe/console登录的控制台桌面,在这个桌面启动的程序界面,本机用户登录后,也可看见。需求应用程序只能启动一个,如果远程用户登录上来启动了程序,那么在本机的用户就启动不了,而这个程序又需要本机用户随时查看状态的。所以,我想是否在启动程序是,能判断当前用户登录的桌面是否本机的那个桌面。包括运行mstsc.exe加参数/console进入的控制台模式,或者常规登录后,通过任务管理器切换到主桌面。目前,我使用了一个替换方案,判断是远程登录,就不让启动了,在main里写:if(SystemInformation.TerminalServerSession){MessageBox.Show("远程桌面登录时,禁止启动系统,请本机登录启动","监控系统");return;}

解决方案

解决方案二:
你这个程序增加只能启动一次的限制,不就行了?时刻保证任务管理器只有一个该程序的进程
解决方案三:
如果你只想让‘监控程序’只能运行在Console,那么在windows2003下,ConsoleSession的SessionId是0。if(System.Diagnostics.Process.GetCurrentProcess().SessionId!=0){MessageBox.Show("只能在ConsoleSession启动系统,请本机登录启动","监控系统");return;}
解决方案四:
没搞过这种的,先关注下
解决方案五:
这种模式看上去不适合楼主的场景,不妨考虑做成两部分,一部分做成windows服务,完成主要的功能,由于是服务自然只能运行一个另一部分做成windows程序,任何用户都可以运行一个,用于查看数据和状态。
解决方案六:
引用2楼Forty2的回复:

...在windows2003下,ConsoleSession的SessionId是0。

注意在Windows2008后就不能这么用了。而且,‘本机用户’也有歧义:由于快速用户切换的存在,在物理机器上,也可以同时有多个用户登录。切换过程中,任何一个拥有当前物理显示和输入的用户,都应该算为你所指的‘本机用户’。

时间: 2024-11-03 20:11:08

C#,远程桌面启动程序时,判断是否为控制台的相关文章

参数传递-Android中创建含有参数的快捷方式,启动程序时读取参数

问题描述 Android中创建含有参数的快捷方式,启动程序时读取参数 新手,请见谅. 如果我想传一段文本给快捷方式,并在下次启动此快捷方式时读取出来,代码是怎样的? 具体来说,程序运行起来想实现类似效果: 1.在程序中设定一个值:"张三是胖子",或者"李四是胖子" 2.将将此程序生成为一个含有参数的快捷方式,参数为"张三是胖子",或者"李四是胖子" 3.点生成的快捷方式运行程序,自动读取快捷方式内含的参数,显示出"张

取消远程桌面连接时打印机重定向引发的报错

在对大批量服务器系统运维过程中,除了常规的项目方案的制定.实施.验收外,运维及排错也就成为了系统管理员或系统工程师日常事务中面对最平常也是最重要的一项工作,当出现问题时,我们除了凭借大量的项目实施.运维经验来判断故障点外,我们更多的情况要依赖于系统本身的日志查询分析,但是经过很长一段时间的日志分析排错中我们也会发现日志中有不少是无用的日志报错信息,或许我们如果能将已知的一些无用日志报错屏蔽掉,这样对于我们的排错可能会更节约时间以及提高我们的故障处理效率哦,今天就和大家一起分享一下关于如何取消由于

XP/Server 03远程桌面资源共享大全

Windows系统拥有一个非常不错的功能--远程桌面,相信不好网络管理员都真真正正的是通过远程桌面功能管理远程服务器或普通客户机.然而你是否知道通过远程桌面连接目标计算机后,我们可以轻松实现本地计算机硬盘,剪贴板等方面的共享吗?当我们想将本地资源上传到远程服务器上是否必须通过FTP呢?今天笔者就利用公司的实际环境为各位介绍远程桌面资源共享的终极评测,让我们可以真正了解到我们可以通过远程桌面共享哪些资源. 一.远程桌面连接的前世今生: Windows远程桌面连接组件诞生与windows 2000系

Win XP远程桌面也可以玩多用户

  安装WinxpConnect Server试用版后,每次启动登录系统时软件都会弹出一个消息框,提醒用户软件的使用期限与工作站的自动关闭时间.此时,你用远程桌面连接来登录该主机,可以发现系统已经不会再像原先那样自动退出登录了. 接下来我们来对WinConnect Server进行一些基本的属性设置,双击程序建立于桌面上的 "WinConnect Server XP Control Center"快捷方式,登录WinConnect Server XP的控制台. WinConnect S

XP远程桌面系统使用说明

  WinXP真是个好东西!不管是在家里通讯,还是出外旅行,Windows XP 都会在您所处的位置给您的工作提供帮助,它能够让你从家里或其它位置连接到办公室,并根据您的位置和要做的工作,更改您的设置,是不是非常方便,这就是WinXP的远程桌面功能.下面就听我详细道来吧. 使用 Windows XP Professional 上的远程桌面,可以使用另一台计算机来访问运行在您自己计算机上的 Windows 会话.这意味着您可以从家里连接到工作计算机,并访问所有应用程序.文件和网络资源,好像正坐在工

巧妙启用Windows 2003的远程桌面_Windows2003

远程桌面是Windows Server 2003中一个比较酷的特性,它可以让你远程登录一台机器并在其上工作,好像你就坐在那台机子前面操作一样(在Windows 2000 高级服务器版中,这个特性在远程管理模式中被称为终端服务).远程桌面对于在远地修复服务器故障,起到了类似救生员的作用.不过,假如你在把服务器运到外地之前,忘了启用这个特性怎么办?如果服务器是在你面前,要启用远程桌面当然很容易:只须以管理员身份登录,打开"控制面板"中的"系统",选择"远程&q

巧妙启用Windows 2003的远程桌面功能_Windows2003

远程桌面是Windows Server 2003中一个比较酷的特性,它可以让你远程登录一台机器并在其上工作,好像你就坐在那台机子前面操作一样(在Windows 2000 高级服务器版中,这个特性在远程管理模式中被称为终端服务).远程桌面对于在远地修复服务器故障,起到了类似救生员的作用.不过,假如你在把服务器运到外地之前,忘了启用这个特性怎么办?如果服务器是在你面前,要启用远程桌面当然很容易:只须以管理员身份登录,打开"控制面板"中的"系统",选择"远程&q

windows系统技巧:远程桌面连接技巧两则

在局域网中为了方便与其他工作站交流信息,我们常常会用到远程桌面功能,许多人会认为这样的功能简单得几乎不值一提,不过在实际使用过程中,我们有时会遇到各种特殊的远程桌面连接需求,要想顺利满足这些特殊的连接需求,就必须要掌握一些远程桌面的使用技巧.这不,本文下面为大家贡献的几则远程桌面新鲜技巧,值得各位一试! 让远程桌面端口躲避攻击 大家知道,在默认状态下远程桌面使用的端口一般为"3389",如果我们不及时将这个端口号码更改掉的话,那么许多别有用心的黑客可能会利用这个端口,来远程控制和入侵本

windows系统远程桌面连接技巧两则

在局域网中为了方便与其他工作站交流信息,我们常常会用到远程桌面功能,许多人会认为这样的功能简单得几乎不值一提,不过在实际使用过程中,我们有时会遇到各种特殊的远程桌面连接需求,要想顺利满足这些特殊的连接需求,就必须要掌握一些远程桌面的使用技巧.这不,本文下面为大家贡献的几则远程桌面新鲜技巧,值得各位一试! 让远程桌面端口躲避攻击 大家知道,在默认状态下远程桌面使用的端口一般为"3389",如果我们不及时将这个端口号码更改掉的话,那么许多别有用心的黑客可能会利用这个端口,来远程控制和入侵本