jjzjj

windows - 关于 127.0.0.1 和 IPC 使用套接字

我想我会在127.0.0.1上使用套接字来为我的应用程序创建简单的IPC。我的目标是Windows、Mac和Linux。我有几个问题:防火墙或其他工具能否阻止我在这3个操作系统中的任何一个上的连接连接速度快吗?有人告诉我,在Linux上,它使用管道传输数据。能否嗅探连接(编辑:例如可以使用RawCap嗅探。) 最佳答案 127.0.0.1(localhost)是环回接口(interface)。这一切都是内部的,不会影响电线。防火墙能挡住吗?不是外部防火墙,但也许在同一台机器上运行的软件防火墙可以。速度快吗?Asfastasitcan

c++ - 将指向局部变量的指针传递给另一个进程有时有效,但有时无效

前阵子我写了一个程序,可以让你选择和修改窗口。它使用WindowFromPoint()获取鼠标光标下窗口的句柄,并调用GetWindowText()获取窗口的标题。这很好用。然后我添加了获取列表控件列标题的功能。问题在于,与返回宽度的GetColumnWidth()不同,没有相应的函数来获取标题。相反,获取列标题的标题需要将缓冲区传递给GetColumn()以填充标题。因此,当我将LVCOLUMN结构的pszText成员分配给指向缓冲区的指针并将该结构传递给GetColumn()时,其他进程将指针解释为在其自己的内存空间内。显然这是行不通的。我使用CodeProjectarticle中

c# - 两个 C# exe 之间的通信

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我已经创建了一个C#WPF项目。我有两个exe正在运行,都是我创建的。一个exe有一个窗口,另一个没有。现在我想从exe到另一个.我想从exe(无窗口)向对方发送一条小消息。我真的对WindowsC#中的这个IPC感到困惑,任何人都可以建议我哪个对这个问题有好处

c++ - 如何在 VCL 应用程序中处理已发布、已注册的 Windows 消息?

我有一些低级库代码,我希望能够广播一些自定义窗口消息。在库代码中,定义了以下内容:staticUINTWM_MOTOR_WARNING_MESSAGE=0;extern"C"int_libmain(unsignedlongreason){WM_MOTOR_WARNING_MESSAGE=RegisterWindowMessage("MOTOR_WARNING_MESSAGE");....图书馆正在发送这样的消息://Sendwindowsmessageintret=PostMessage(HWND_BROADCAST,WM_MOTOR_WARNING_MESSAGE,0,0);if(!

c - FindWindow() 偶尔失败(尝试 IPC)

我在stackoverflow上的第一篇文章。我不是一个编码员,我有时会为了好玩而涉足编码,因此我不会花太多时间来理解基础知识,而是找到任何可行的解决方案,即使它有点“丑陋”.这让我想到了我的问题:我用C编写了一个简单的winapi程序,带有一个对话框和一个DlgProc。它接受文件并对它们做一些事情,比方说,为了简化,它所做的只是创建一个扩展名为*.BAK的文件副本。我已经在注册表(HKEY_CLASSES_ROOT*\shell\BKUP\command)中添加了一个键,这样我就可以在Windows资源管理器中选择几个文件,并可以选择“创建备份”来将它们的所有名称发送到我的程序,但

c++ - DuplicateHandle() 是否进行任何进程间通信 (IPC),如果不进行,为什么要使用目标参数?

我正在寻找DuplicateHandle()非常困惑。第三个和第四个参数hTargetProcessHandle和lpTargetHandle似乎暗示这个API函数进行某种形式的进程间通信,但我在网上阅读的内容似乎暗示(没有直接说)实际上这个函数不能与外部的任何东西通信它自己的进程的地址空间,如果你真的想说将本地进程句柄复制到另一个进程,你必须自己手动完成。所以有人可以可怜我并明确地告诉我这个函数本身是否有任何IPC吗?另外,如果它不执行任何IPC,那么这两个参数的意义何在?如果没有发送数据并且此函数的输出对其他进程不可见,怎么会有“目标”?起初我以为我可以调用GetCurrentPr

c++ - Win32 共享内存的包装类? (进程间通信)

您可以为Win32上的IPC推荐什么包装类?我试过XQueue,我发现它有点笨拙,想听听外面还有什么。在InterlockedPopEntrySList()上构建一些东西看起来不错,但这需要服务器2003。谢谢,亚当 最佳答案 我推荐Qt4(或者您可以查看源代码):http://doc.trolltech.com/4.5/qsharedmemory.html 关于c++-Win32共享内存的包装类?(进程间通信),我们在StackOverflow上找到一个类似的问题:

windows - I/O 完成端口可以帮助数据库而不是文件写入吗?

我正在阅读有关IOCP的资料,据我目前的了解,异步写入仅适用于写入文件的上下文。所谓"file",我指的不仅仅是磁盘文件,而是Windows上的"file"类型输出设备。我计划以某种方式使用IOCP来实现一个从客户端获取消息然后将这些消息异步写入数据库(MySQL或SQLite)的服务器。但是,据我所知,IOCP中的异步写入涉及将要写入的数据传递给设备驱动程序-而“设备驱动程序”的提及似乎排除了在数据库上使用IOCP和异步写入的可能性,因为有从应用程序编写者的角度来看,没有“设备驱动程序”参与写入数据库。那么,IOCP真的可以帮助实现写入数据库的服务器吗?我有一种挥之不去的感觉,好像我

windows - Windows 中的进程间同步屏障

我试图在Windows中的不同进程之间建立一个屏障。它们本质上是同一进程的两个副本(将它们作为两个单独的线程而不是进程运行不是一种选择)。这个想法是在程序的不同阶段设置障碍,以确保两个过程同时开始每个阶段。在Windows中实现此功能的最有效方法是什么? 最佳答案 使用命名事件(参见CreateEvent和WaitForSingleObjectAPI函数)。每个屏障需要两个事件——每个事件都在应用程序的另一个实例中创建。然后两个实例等待对方的事件。当然,这些事件以后可以重新用于另一个障碍。但是存在一种复杂性——由于事件名称是全局唯一

c++ - Windows 相当于 Linux fifo

我使用库中的一个函数,该函数将文件名作为参数。在我的应用程序中,我从网络接收数据,所以我无法将下载的数据直接提供给图书馆,因为我无法将其写入磁盘。为了解决这个问题,我使用Linuxfifo(使用mkfifo()创建)并将fifo名称提供给库。现在我必须将代码移植到Windows,并且我正在寻找一个等效的Linuxfifo机制。我已经试过了WindowsNamedPipe但是这些管道无法像使用fopen()等标准库函数的常规文件一样打开(除非我遗漏了什么)。您知道Windows机制将数据从内存中读取为文件吗? 最佳答案 命名管道实际上