草庐IT

handle_request_ipc

全部标签

c++ - 为什么错误 1400 Invalid window handle?

#include#include#includeHWNDWindowHandle;HINSTANCEInstance;constwchar_tWindowClassName[]=L"TempProjcet";LRESULTCALLBACKWindowProc(HWND_windowHandle,UINT_msg,WPARAM_param,LPARAM_param1){switch(_msg){caseWM_PAINT:{PAINTSTRUCTps;HDChdc=BeginPaint(WindowHandle,&ps);FillRect(hdc,&ps.rcPaint,(HBRUSH)(

Windows 内核驱动程序 : Does the "HANDLE UniqueThread" in "CLIENT_ID CreatingThreadId" is the same during the process loading?

我正在尝试编写一个APCdll注入(inject)驱动程序,我找到了this示例并考虑根据我的需要对其进行修改。在我理解了代码之后,我想到了如何修改它(我的问题由此而来)。在code,作者使用了PsLookupThreadByThreadId接收指向目标进程的ETHREAD结构的引用指针。PsLookupThreadByThreadId(pSpi->Threads[0].ClientId.UniqueThread,&Thread)但要得到SYSTEM_THREAD_INFORMATION对于UniqueThreadhandle,他用过ZwQuerySystemInformation我想

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

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

windows - 是什么导致 WriteFile 返回错误 38 (ERROR_HANDLE_EOF)?

什么会导致WriteFile返回错误38(ERROR_HANDLE_EOF,已到达文件末尾)?本例中的"file"是一个邮槽。我的程序的工作方式是我有一个创建多个子进程的进程(作为Windows服务运行)。每个child都打开一个同名的邮槽,以便将状态信息发送回其parent。在我的小规模测试中,这工作正常,但我看到了当我有多个进程时的情况运行(如16)我收到此错误。下面的代码显示了我如何在子进程中打开和写入邮槽。可能是因为父级读取邮槽的速度不够快?有没有办法增加邮槽的容量,从而永远不会到达文件末尾?我真的不明白邮槽怎么会变满,只要因为有磁盘空间(有很多)。chargLocalSlot

windows - 理论 : HTTP request to turn up volume in Windows?

我想知道是否有一种方法可以通过HTTP请求修改Windows中的音量,以用于远程控制web-abb或类似的东西。我只是认为能够从手机上的网站(或应用程序)更改Windows机器上的音量会很酷。有没有人听说过这种性质的东西,或者知道这是否可能?提前致谢! 最佳答案 不,您不能仅通过与Windows计算机的直接HTTP连接来执行此操作。但是,您可以开发某种类型的助手/监听服务器并将其安装在等待HTTP连接的Windows机器上,从而调整音量。 关于windows-理论:HTTPrequest

python - 使用 Python 2.7 脚本 : I/O handling 调用需要通过 GUI 输入的 Windows 应用程序

我正在尝试使用Python2.7脚本自动化需要通过GUI输入的Windows应用程序。我通过内置的python子进程函数调用exe,如下所示:导入子进程cc='C:\MM\test.exe'子进程调用(cc)调用exe时,GUI要求我为输入文件(data.txt文件)手动输入路径。当我进入路径时,处理就可以开始了。我想以某种方式自动执行此过程,即只需调用exe并让它自己找到input.txt,同样重要的是,将输出打印到output.txt文件。我最初尝试了以下建议:导入子进程打开(r'C:\MMA\DATA\input.txt','r')作为输入文件,打开(r'C:\MMA\DATA\

c++ - const HANDLE 真的是 const 吗?

据我所知,HANDLE只是指代某种“系统资源表”的数字。这个句柄const正确吗?我猜不是因为它只是用来访问一个表,就像数组的索引一样。位图示例:虽然HBITMAP声明为const,但我可以更改位图的内容吗? 最佳答案 HANDLE是(AFAIR)int的typedef,因此constHBITMAP与constint相同。从这个意义上说,即使位图的句柄是const,您也可以更改位图的内容,因为const指的是句柄而不是实际的位图(将其视为指向变量类的const指针。)但是:无论如何,您的问题没有实际意义,因为:句柄是Win32API

c++ - Windows 上 HANDLE 的来源

我目前正在从事一个项目(C语言),在该项目中我使用了不同的winHANDLE(互斥锁、信号量、线程……)。我的问题是:有没有办法检索HANDLE链接到的内核对象的类型?类似于:Get_HANDLE_source()或Is_thread_HANDLE()?谢谢,干杯! 最佳答案 正如NtQueryObject所说。但使用一些OO概念可能更好:structHandleVtable{/*functionpointertoappropriateimplementation*/};structHandleWrapper{structHandl

c++ - HANDLE 和 DCB 的 Linux 实现

我必须将一个程序迁移到使用WindowsHANDLE和DCB的Linux,例如:intDLMSClient::GXGetCommState(HANDLEhWnd,LPDCBDCB){//code}我该如何将它们迁移到Linux?来自here,我已经弄清楚如何迁移DWORD、WORD和BYTE,但我该如何处理这些新类型?此外,我可以了解此过程的来源可能会有所帮助。 最佳答案 您可能正在使用串行端口,但在Linux中,串行端口的管理方式与在Windows中有所不同。它们之间没有简单的一对一映射。此外,在Linux中,串口是终端,它们可能

c - 在 win32/C/C++ 中共享内存和 IPC 的最快进程技术

我正在编写一个导出标准化接口(interface)(VST)并由外部应用程序托管的实时库。库必须发布一个表,该表可以被同一进程中的任何线程查看(如果它知道在哪里查看)——明确地说,这个表必须可以被进程空间中的所有dll查看——如果他们知道在哪里查看看。访问表必须很快。虚拟内存似乎有点矫枉过正,我考虑过使用窗口句柄(现在仍然可以)来消息泵,但我更喜欢一种更快的方法,如果有的话。此外,PE中的共享数据段是我希望尽可能避免的。我想我几乎宁愿使用窗口句柄。我目前不关心同步,事后我可以处理。我只是想要一些关于在进程空间内发布表的最快技术的建议。 最佳答案