微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

问题 – TCHAR作为LPARAM属于另一个进程/线程的窗口

所以我通过C书的例子来玩/执行与Windows窗口,有一些关于DLL注入部分,让我难以置信,我无法解决它。

我创build了一个属于另一个线程/进程的对话框,我试图发送它的TCHARvariables,以便它可以在某些函数中使用该var(函数和tchar都在同一个dll文件中)

所以当创build对话框并且坐在另一个线程中时,我会发送一条消息。

首先我声明tchar

在挂接WH_CALLWNDPROC之后没有得到Window Procedure消息

git:在任何客户端推送后,在服务器上自动运行bash脚本

在64位Windows中挂钩32位进程

Windows API编程

如何识别应用程序意图执行运行文件

TCHAR finalpath[MAX_PATH];

然后,我只是填充信息(我在dll线程中,而不是在对话框的线程中,让我也提到,我必须在dll线程中做到这一点,因为这只是填补所需的tchar(我需要得到dll的工作目录,并填写在tchar))

所以,当我得到这个信息在我的tchar我想发送一个消息到对话框,并使用tchar作为LParaM(wparam是hwnd顺便说一句)

SendMessage(hWndDIPS,WM_APP,(WParaM) lista,(LParaM)finalpath);

之后,我在另一个线程对话框过程循环中做基本的功课…

INT_PTR WINAPI Dlg_Proc(HWND hWnd,UINT uMsg,WParaM wParam,LParaM lParam) { switch (uMsg) { chHANDLE_DLGMSG(hWnd,WM_CLOSE,Dlg_OnClose); case WM_APP: SaveListViewItemPositions((HWND) wParam,(TCHAR)lParam); break; } return(FALSE); }

应该接受参数的函数(这个函数驻留在共享dll中,并且如上所述被程序调用,定义如下..

void SaveListViewItemPositions(HWND hWndLV,TCHAR sejv []){…}

我得到的编译器错误

Error 7 error C2664: 'SaveListViewItemPositions' : cannot convert parameter 2 from 'TCHAR' to 'TCHAR []'

所以我不知道为什么会发生这种情况。 如果tchar是数组,那么我需要在参数中使用它[]添加为数组如何在参数中使用(更不用说,如果我不这样做,它给了我更多的错误,我不能在函数中使用参数)

那为什么不转换呢?

如果还有另一个解决scheme让这个对话框接收一个tchar var,那么请解释一下。

谢谢

通过挂接呼叫,在Windows进程中加速或静音audio播放

在Windows资源pipe理器中检测文件select

防止McAfee Dll注入

从Windows锁屏键盘快捷键

钩住与文本输出相关的Android系统API

我认为你的问题是你将LParaM类型转换为TCHAR而不是TCHAR数组(TCHAR *)。 尝试改变,看看是否修复了一些事情。

即使你修好你的类型声明并把LParaM转换成TCHAR* ,你的代码也是不正确的。 您传递给该窗口过程的“参数”是一个指针,而任何指针只在进程地址空间内有效。 接收器窗口将不得不使用ReadProcessMemory并将您的进程中的字符串复制到它自己的进程中。 当然,这意味着接收器进程知道你的进程ID,并有适当的权限可以从你的内存中读取。 而且你还需要传递字符串的长度,因为ReadProcessMemory无法猜测NULL终止符的位置(尽管我认为MAX_PATH的最大长度不是一个严重的问题)。

所以你是正确的,这是一个头痛的问题,更多的是在路上。 这个特权问题可能是一个阻碍。

有几个IPC机制可以使用。 一个简单的命名管道是匿名管道,请参阅匿名管道操作 。 共享内存是另一个,请参阅在动态链接库中使用共享内存 。 COM也可以工作(让你“控制”的进程创建一个托管在你的进程服务器中的类的实例,让COM进行封送处理,参见封送细节 )。 或者您可以手动编组进程边界之间的COM接口(请参阅CoMarshalInterface )。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐