我正在尝试将假键盘输入发送到在远程桌面会话中运行的应用程序.我正在使用:
Byte key = Ord("A");
keybd_event(key, 0, 0, 0); // key goes down
keybd_event(key, 0, KEYEVENTF_KEYUP, 0); // key goes up
Run Code Online (Sandbox Code Playgroud)
现在,此代码确实将字符"a"发送到任何本地窗口,但它不会发送到远程桌面窗口.
这意味着我使用远程桌面连接到服务器,然后我在该服务器上打开记事本.如果我手动按下键盘上的按键:它们出现在记事本的编辑器窗口中.但是keybd_event的假键盘输入没有导致"a"出现在记事本中.
如何从本地计算机上运行的应用程序以编程方式将假键盘输入发送到远程桌面连接内运行的应用程序?
Nitpickers角落
在这种特殊情况下,我想这样做,因为我试图打败空闲超时.但我也可以尝试
换句话说,我想要它的理由并不重要
注意:超时可能来自远程桌面不活动,也可能不是.我不知道,这不会影响我的问题.
我有以下C#代码,我用它来捕获远程桌面(RDP)会话中的屏幕截图.它在会话处于活动状态时工作正常,但如果我最小化会话,则会因无效的句柄异常而失败.
是否有任何方法可以使这项工作,或者当会话最小化时屏幕基本上"消失"了?
string filename = @"C:\Snap.png";
Size bitmapSize = new Size( Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height );
using (Bitmap bitmap = new Bitmap(bitmapSize.Width, bitmapSize.Height, PixelFormat.Format24bppRgb))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen( // Exception thrown here
new Point(0, 0),
new Point(0, 0),
bitmapSize);
bitmap.Save(filename, ImageFormat.Png);
}
Run Code Online (Sandbox Code Playgroud) 这个问题是否也适用于在终端服务器上运行的Delphi应用程序?
正如MSDN文章" 在RD会话主机服务器上运行的Office 2007或Office 2003应用程序可能在Windows Server 2008 R2中意外关闭 "解释
出现此问题是因为Tsappcmd.dll组件.此组件对非终端服务器感知的应用程序更改导入地址表(IAT),以防止病毒或恶意软件恶意挂钩应用程序.因此,由于加载模块的顺序,应用程序可能会遇到临时内存损坏.Office 2007和Office 2003不包含TSAWARE标头标志.此标志通知服务器应用程序可识别终端服务器.
用户环境中的某些Delphi 2009应用程序(Windows Server 2008 R2 Service Pack 1)经常挂起或崩溃.我正在寻找可能的原因,因为这些挂起/崩溃无法再现.
MSDN文章似乎首先适用于Office产品,这是正确的还是 - 注意,这里是基本问题 - Tsappcmd.dll是否也修改了非Office程序,以便Delphi应用程序出错?(当然,如果丢失的TSAWARE标志无害,我宁愿保持Delphi应用程序不受影响).
我试图找到一个工具来远程控制从Windows 7机器运行Windows CE 6.0的Motorola MC3190设备.
我已经使用Mymobiler和Intermec CN3设备,所以我尝试了这个问题的答案,但我无法让它工作.
MyMobiler条目,所以在某个地方似乎已经安装了一些东西Proof MyMobiler works for WinCE 视频中处理器是ARM920T-PXA270M我的设备有Marevell, PXA32X-P(链接到图像)处理器可能是这个原因?我也曾尝试ActiveSync Remote Display从Windows Mobile的开发者的电动玩具.它安装但在启动时显示一个错误框,显示消息"此应用程序未知此设备的操作系统或CPU"
如何让MyMobiler与运行Windows CE 6.0的Motorola MC3190设备配合使用?有没有其他工具,最好是免费的,可以远程控制这个设备?
编辑:我遇到了EveryWAN并找到了一个安装程序.它开箱即用,但它不能用于商业用途,网站似乎已经不存在了.
PS:我意识到标签不准确,但我想使用能引起这些类似标签专家注意的东西.
在 Mac 上使用 Microsoft 远程桌面时,Command+V无法粘贴到 RDP 会话中。在 Mac 上,我使用Command+C复制密码,但是当我切换到 RDP 会话并单击 时Command+V,没有任何反应。
我的问题是,如何使用 Mac 键盘从 Mac 剪切/复制和粘贴到 Windows?
我有一台运行在 OSX 上的 Ubuntu 16.04 VirtualBox 机器(即机器 A)连接到大学校园网络。我想偶尔从我的笔记本电脑 ssh 进入机器以远程协助我的同事,我查看了不同的选项。
似乎选项之一是“反向 ssh”(与“端口转发”或“ssh 隧道”相关)。我的笔记本电脑没有固定 IP,所以我不能直接反向 ssh。可能的解决方案是使用代理机器。这个想法是当我需要帮助我的同事时,他们会输入来自机器 A 的连接指令,这将创建一个正在运行的 GCP 实例,然后我将能够使用这个桥接(代理)从外部连接到机器 A ?) GCP 机器。
/ Academic intranet
+----------+ |
| GCE | | +----------+
| instance |<----|--| Machine A|
+----------+ | +----------+
|
\
/ Academic intranet
+----------+ |
+-------------+ ssh | GCE | ssh | +----------+
| Laptop dynIP|---------->| instance |-----|->| Machine A|
+-------------+ +----------+ | +----------+
|
\
Run Code Online (Sandbox Code Playgroud)
我们有一个 Google 云帐户并gcloud安装在机器 A 上。据我所知,GCP 已经有一种非常简单的方法可以在 GCP 中设置隧道:
https://cloud.google.com/community/tutorials/ssh-tunnel-on-gce …
我们目前正在调查不同的远程桌面支持解决方案,以帮助我们的客户,如果他们的软件有任何问题,我想对那里的最佳解决方案进行一些输入.
我们有以下需求/愿望:
我知道VNC,logmeinrescue.com,dameware遥控器,msn远程桌面和许多其他,但哪一个是最好的?
我已经在MSDN论坛上搜索了这个,但似乎每个人(我认为)建议恢复到RDP 7.x(卸载MS更新KB2592687).
我有一个用C#/ WPF编写的自定义远程桌面客户端,远程桌面ActiveX控件托管在WindowsFormsHost控件中.该应用程序在更新RDP 8.0(MS更新KB2592687)之前运行良好.如果我卸载MS更新(恢复到RDP 7.1),该应用程序的工作原理.
我的RDP客户端用于连接Virtualbox VRDP(Virtualbox 4.2.x),无需身份验证(Null).安装了RDP 8.0后,Windows远程桌面客户端(mstsc.exe)连接得很好,响应性更好(RDP 8.0增强功能); 但我的自定义RD客户端无法连接.
经过进一步调查,我的自定义RDP客户端不会抛出任何异常或触发OnConnecting和OnLogonError或大多数其他事件.奇怪的是,它只是解雇这两个事件(按顺序)
OnAuthenticationWarningDisplayed
OnAuthenticationWarningDismissed
我还使用RawCap(http://www.netresec.com/?page=RawCap)测试了我的自定义RDP客户端是否在这些事件之前向Virtualbox VRDP发送数据包.令人惊讶的是,它甚至没有发送数据包.(MS RD客户端 - mstsc.exe工作正常.)
所以它归结为我的自定义RDP客户端上的这些事件/方法调用,不幸的是我被卡住了.
(为简洁起见缩短了代码)
AxMSTSCLib.AxMsRdpClient8 rdp = new AxMSTSCLib.AxMsRdpClient8();
rdp.OnAuthenticationWarningDisplayed+=new EventHandler(rdp_OnAuthenticationWarningDisplayed);
rdp.OnAuthenticationWarningDismissed+=new EventHandler(rdp_OnAuthenticationWarningDismissed);
rdp.Server = server;
rdp.AdvancedSettings8.RDPPort = 5050;
//No username/password since Virtualbox RDP authentication is set to *null*
//MS RD Client connects just fine to Virtualbox RDP without username/password
try
{
rdp.Connect();
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
在OnAuthenticationWarningDisplayed和 …
我刚刚在 Azure 中创建了两个 Windows VM,一个 2012 Datacenter 和一个 2008 R2 SP1,但我无法通过远程桌面连接到其中任何一个。两台机器都在同一个云服务下运行,并且 RDP 端口映射到两个不同的公共端口。每次尝试连接时,都会收到错误消息“登录尝试失败”。
在 Linux VM 中使用 NMAP 我也在那里,我能够检查端口 3389 在两台机器上是否打开。此外,公共 RDP 端口正确响应(例如打开)。
我尝试使用两台不同的 Windows 7 客户端机器进入,也没有锁定。MSTSC 版本是 6.3.9600.16415,在两台机器上。我使用了从 Windows azure 仪表板中的“连接”选项下载的 .rdp 文件和我创建的全新 RDP 连接 - 结果相同。
我还尝试将 VM 大小从小型(1 核,1.5 GBRam)升级到中型(2 核,3.6 GBRam),重新启动,设置一个新的干净的 Windows VM,使用不同的凭据......没有任何改变,结果相同。
真正奇怪的是,在多次尝试失败后,我能够连接到其中一个 VM,即 2012 年的 VM,但只有一次 - 在那之后,没有运气,总是“登录尝试失败”。
正如我和我们大多数在家办公的人一样,我很想知道是否有办法使用远程 AS 和连接到本地计算机的设备来调试 Android 应用程序。我正在使用我的笔记本电脑连接我的工作机器,与我的笔记本电脑相比,速度非常快,因此我希望连接到我的笔记本电脑的设备可以由在我的工作机器(远程桌面)中运行的 AS 访问。
我尝试在使用远程桌面连接到工作系统时启用 USB 端口共享,但没有成功。
debugging remote-desktop remote-debugging adb android-studio
remote-desktop ×10
c# ×2
adb ×1
automation ×1
azure ×1
copy-paste ×1
debugging ×1
delphi ×1
rdp ×1
screenshot ×1
ssh ×1
timeout ×1
vnc-server ×1
windows ×1
windows-ce ×1