问题描述
我正在使用Win XP Professional x64 Edition,并且试图像使用net send一样将消息发送到Windows Message Service。我正在使用邮筒:
LPCTSTR SlotName = TEXT("\\\\.\\mailslot\\messngr");
hFile = CreateFile(SlotName,GENERIC_WRITE | GENERIC_READ,FILE_SHARE_WRITE | FILE_SHARE_READ,(LPSECURITY_ATTRIBUTES)NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,(HANDLE)NULL);
午餐后,我在CreateFile中从GetLastError()获得错误5。我不知道该如何解决。我授予了所有VM许可,我启用了messange服务ofc,并且可以像在CreateFile() Failed With GetLastError() = 5中建议的其他方式在notpad上打开它。我尝试了许多标志,但没有改变任何想法。有任何猜测吗?
解决方法
就像在mailslot documentation中所说的那样,只有创建邮槽的进程才能从中读取信息。邮筒是一种单向通信。
删除读取访问请求。