繁体   English   中英

是否可以在 C# 中通过网络发送 MessageBox - 在接收端没有任何监听软件?

[英]Is it possible to send a MessageBox over a network in C# - Without having any listening software on the receiving side?

到目前为止,我已经找到了很多通过网络发送和接收文件的方法(主要来自这个站点),但是我还没有找到有关如何在接收端没有收听软件的情况下进行操作的教程。

例子:

我想发送一个标题为你好,正文为那里的消息框。

通常,我会写出MessageBox.Show("Hello","There");

但是,我希望能够通过网络发送MessageBox

我将如何做到这一点,请记住:

  • 两台电脑都没有管理员权限
  • 我在两台电脑上都使用 Windows 7
  • 接收方不会有监听软件。

预先感谢任何帮助我解决这个问题的人。

编辑:它不必是MessageBox ,我可以制作一个看起来像的论坛。

这就像在说,“我可以强迫你做我告诉你的事情,即使你没有听我说的话?”

显然,答案是否定的。

如果另一个人不打算回应你的话,那么,好吧,他不会。

你不能用 MessageBox 做到这一点,因为那将是一个很大的漏洞。

如果您使用的是 Windows XP,您可能可以从命令行使用“net send”命令(因此可以从 C# 程序或批处理文件以某种方式调用;无论您的船漂浮在什么地方),具体取决于配置的机器。

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/net_send.mspx

在 Windows Vista 中有一个名为 msg.exe 的等效程序,但它在 Windows 7 中被完全删除。

——

简而言之,不与 Windows 7 没有。

您可以退出并从 Sysinternals 调用 PsExec 进行复制,然后在网络上的远程计算机上运行程序 - 该程序可以是您编写的侦听器,也可以只是显示命令中给出的消息的程序线。 PsExec 没有做任何你不能通过调用 Windows API 和直接使用 RPC 做的事情,但这是很多工作:) 权限可能是一个问题。 归根结底,非管理员用户无法开箱即用地与网络上的另一台机器搞砸。 您需要放宽权限 - 也许使用组策略? 但是,如果您有适当的组策略,只需使用 .msi 或登录脚本安装侦听器。

你能提供更多关于你为什么要这样做的信息吗? 也许有更好的方法来实现您想要的通知。

使用 Windows 中包含的 msg.exe 工具是可能的。 使用命令

Shell("cmd.exe /c msg * /SERVER:" & ipAddress & " " & deineNachricht)

如果您的 PC 没有 msg,请从某处下载。

尝试查看此项目的代码 - 它使用 net send 命令行程序向远程机器发送消息,尽管我不确定没有管理员权限的情况下你的里程会如何:

http://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&ved=0CCcQFjAA&url=http%3A%2F%2Fwww.codeproject.com%2FArticles%2F9466%2FThe- NetSend-Plus-NET-C&ei=hNOhT6ewH82RiQe--eCNCQ&usg=AFQjCNHzAjhU7SU7kuPSCQBLElR5vb1sIg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM