UAC允许高权限进程主动放弃某些限制吗?

rchu 2010-01-26 12:35:37
可恶的UAC,居然连低权限进程向高权限进程的窗口发消息都不允许,限制也太严格了。我想了解,如果高权限进程希望在保留高权限的前提下,主动放弃某方面的限制,有没有什么办法可以实现?比如我虽然是高权限进程,但我希望其他任何进程都可以给我发消息,可能吗?
或者,高权限进程中建立一个file mapping, mutex什么的,低权限进程中可以打开使用吗?如果不行,有没有什么变通的方法?
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackson35296 2010-01-30
  • 打赏
  • 举报
回复
用命名管道通信吧,发消息是不稳定的做法
自由建客 2010-01-30
  • 打赏
  • 举报
回复
用 C/S 多舒服呀!
MoXiaoRab 2010-01-30
  • 打赏
  • 举报
回复

// 允许Vista/Win7下,不同权限进程间发送消息:WM_COPYDATA
typedef BOOL (WINAPI FAR *ChangeWindowMessageFilter_PROC)(UINT,DWORD);
ChangeWindowMessageFilter_PROC m_pfnChangeWindowMessageFilter;
m_pfnChangeWindowMessageFilter =
(ChangeWindowMessageFilter_PROC)::GetProcAddress (::GetModuleHandle(_T("USER32")),"ChangeWindowMessageFilter");
if (m_pfnChangeWindowMessageFilter)
{
m_pfnChangeWindowMessageFilter(WM_COPYDATA, 1/*Add*/);
}
mcaok 2010-01-29
  • 打赏
  • 举报
回复
在做服务程序与普通进程之间的通信也遇到这个问题,用Socket解决的。
an_bachelor 2010-01-26
  • 打赏
  • 举报
回复
用socket
蒋晟 2010-01-26
  • 打赏
  • 举报
回复
可以用ChangeWindowMessageFilter或者ChangeWindowMessageFilterEx来改变这个行为,不过有一些副作用,参考http://www.nynaeve.net/?p=151
用named pipe, mutex, file mapping的话,需要具有创建全局对象的权限的进程来创建全局对象并且修改安全描述符使得其他用户也可以访问。
wuhuwy 2010-01-26
  • 打赏
  • 举报
回复
帮顶

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧