草庐IT

interactive-session

全部标签

windows - 我如何计算出在内核调试 session 中使用 WinDBG 等待的事件

我是一个完全的WinDbg新手,我一直在尝试调试一个客户发给我的WindowsXP问题,我们的软件和一些第三方软件阻止Windows注销。我已经重现了这个问题,并验证了只有当我们的软件和客户的软件都安装了(虽然不一定在注销时运行)时才会出现注销问题。我观察到当用户尝试注销时WM_ENDSESSION消息没有到达正在运行的窗口,而且我知道第三方软件使用内核驱动程序。我一直在查看WinDbg中的进程,我知道csrss.exe通常会向所有窗口发送WM_ENDSESSION消息。当我跑的时候:!进程823560206查看csrss.exe的堆栈我可以看到:WARNING:FrameIPnoti

c# - 试图在 session 0 中显示 GUI

我到处搜索并尝试了几乎所有方法,但我开始认为这是不可能的。我有一个服务作为SYSTEM在Session0(win7)中运行。我需要启动一个外部应用程序。如果我只是以SYSTEM身份启动外部应用程序,应用程序将启动并且我可以看到GUI(如果我使用UI0Detect单击到session0)。除了我能够看到它之外,我启动该应用程序的服务实际上可以截取GUI的屏幕截图并将其发送回我的服务器。-此时一切都很好。问题-在某些情况下,不允许外部应用程序在SYSTEM上下文下运行。在这些情况下,我必须以不同的用户身份启动。我在session0中以实际用户身份运行另一项服务。然后我以该其他用户身份启动外

windows - 在远程 Powershell session 中执行交互式命令不起作用

我在需要用户交互的远程PowerShellsession中执行命令时遇到问题。例子:我进入一个远程sessionEnter-PSSession-ComputerNamemobius在此session中,我执行了一个要求输入密码的命令:[mobius]:PSC:\Windows\system32>&'c:\ProgramFiles(x86)\Putty\plink.exe'merlin-ljoejoe@merlin'spassword:c:\ProgramFiles(x86)\Putty\plink.exe:Usingusername"plakat".+CategoryInfo:NotS

windows - Windows session 解锁后如何防止窗体位置大小发生变化?

描述我有一个DelphiXE2应用程序,其中一种形式跨越两个显示器。当我锁定Windows时,等到屏幕保护程序被激活,然后解锁窗口,我的所有应用程序的窗体都将调整大小/重新定位以适应每个显示器(这显然是默认的Windows行为并适用于大多数应用程序)。意图每当发生这种锁定情况时,我要么想恢复我的表单位置,要么阻止我的表单事先调整大小。重现步骤这些步骤适用于Windows7x64。我正在设置一个在1分钟后激活的黑屏保护程序。我打开我的应用程序和适当的拉伸(stretch)形式。我锁定我的帐户并等待屏幕保护程序弹出。登录后,我可以看到已调整大小的表单。在其他机器上锁定足以重现该行为。在某些

windows - 从 Windows 文件夹获取 PuTTY session

我的硬盘驱动器来self的旧工作站,我没有从我的旧机器导出PuTTYsession。我处于无法从它启动的情况,但我将它作为从驱动器。有什么方法可以从该硬盘清除PuTTYsession? 最佳答案 PuTTYsession存储在Windows注册表中的键中HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY如果您只有原始文件系统访问权限,则必须使用一些工具来解码HKEY_CURRENT_USER注册表文件C:\Users\username\ntuser.dat.可以执行此操作的一个免费软件工具是Mi

windows - 从服务在用户 session 中创建进程

我正在尝试让服务在Windows中打开的session中创建进程。我有这个代码:sessionId=WTSGetActiveConsoleSessionId();if(WTSQueryUserToken(sessionId,&dummy)){if(!DuplicateTokenEx(dummy,TOKEN_ALL_ACCESS,NULL,SecurityDelegation,TokenPrimary,&token)){CloseHandle(dummy);returnfalse;}CloseHandle(dummy);//Createprocessforuserwithdesktopm

windows - 示例代码 : A service calls CreateProcessAsUser() I want the process to run in the user's session, 不是 session 0

我正在寻找示例代码:对于调用CreateProcessAsUser()的服务,我希望进程在用户session中运行,而不是session0到目前为止,创建的进程仅像session0中的服务一样运行 最佳答案 这是从一些从服务启动控制台应用程序的旧代码中删除的。它在NT4下工作,但我没有用现代版本的Windows测试过它,所以不能保证它会像在NT4上一样工作。编辑:不,这不会按原样工作。您需要添加找到的代码here创建桌面,设置SID等。if(!LogonUser(userId,domain,password,LOGON32_LOGO

windows - 为什么在模拟 session 中定义的 DOS 设备没有出现在资源管理器中

我有一个在本地系统帐户下运行的Windows服务,它使用DefineDosDevice函数创建DOS设备。该服务在W2K8远程桌面服务器上运行。如果设备是使用服务的凭据创建的,则它们是在GLOBAL设备namespace中创建的,因此对所有用户可见。我需要仅对特定交互session可见的设备。我通过模拟我希望驱动器出现在其session中的用户来完成此操作。这非常简单,前提是sessionID可用。这是我编写的一个简单的测试应用程序来说明问题:int_tmain(intargc,_TCHAR*argv[]){BOOLresult=TRUE;if(argc>3&&!wcscmp(argv

【SpringBoot集成Redis + Session持久化存储到Redis】

目录SpringBoot集成Redis 1.添加redis依赖 2.配置redis 3.手动操作redis  Session持久化存储到Redis 1.添加依赖2.修改redis配置3.存储和读取String类型的代码  4.存储和读取对象类型的代码  5.序列化细节SpringBoot集成Redis 1.添加redis依赖 或将以下配置添加到pom.xml中:        org.springframework.boot      spring-boot-starter-data-redis2.配置redis #redis地址spring.redis.host=x.x.x.x#端口号spr

c++ - WTSGetActiveConsoleSessionId 返回系统 session

我遇到过一次这个问题,但我仍然不知道如何解决。我有一个windows服务,当服务运行时,它首先需要模拟登录用户(事件用户)来加载保存在用户应用程序数据文件夹中的一些路径和设置。每次新用户登录到Windows时,我使用的代码都能完美运行,除非服务模拟错误并模拟系统session而不是事件session。正如我所说,这只发生过一次,但我真的说不出为什么。这是检查事件session是什么以及模拟是如何完成的:首先,当服务检测到登录事件时,它会通过调用查询事件sessionIDWTSGetActiveConsoleSessionId();然后它通过调用WTSQuerySessionInform