你好堆栈溢出:有时读者,第一次海报.
背景:
Windows XP运行XP SP3,即将升级到Windows 7(MSDNAA <3)
我有一个注入的DLL,通过挂钩一个每秒被调用数千次的函数来获取周期.
我想通过python应用程序通信/控制这个DLL.基本上,DLL完成工作,python应用程序提供大脑/决策.
我这样做的游戏计划是,我会在DLL中有一个计数器和一个if语句.每次调用钩子函数时,都会反转++,然后跳回原函数,直到if(counter == 250){// dostuff(); }.我虽然落后于它,但它将允许目标应用程序大部分畅通无阻,但仍然会让我做有趣的事情.
问题:
我完全不知道应该使用哪种IPC方法进行通信.我们有套接字,共享内存,管道,文件映射(?),RPC和其他(看似)深奥的东西,比如写入剪贴板.
除了玩具示例,我从未实施过任何类型的IPC.
我很确定我需要一些东西:
可以处理python和DLL之间的来回交谈
不阻止/等待
可以检查等待数据,如果没有,则继续
如果涉及锁定,可以继续而不是等待
读取/写入也不需要花费大量时间
救命?感谢您的时间,我希望我已经提供了足够的一般信息,并没有违反任何公认的惯例.
我想补充一点,相关问题框非常酷,我在发布前仔细阅读过.