草庐IT

c++ - 冒充用户访问hives——各种方法,有哪些实际问题?

我正在设计一个在Win2000、XP和Vista上以LocalSystem帐户运行的服务。它将需要访问用户注册表配置单元,有时需要很长时间,无论是在用户登录时,还是在用户未登录时(如果配置文件是本地的。如果配置文件是漫游且未加载,我不会尝试加载它。)如果用户已登录,我可以通过各种方式(例如,从其资源管理器进程,或通过从服务控制管理器接收登录事件)获取用户访问token,然后使用ImpersonateLoggedOnUser和RegOpenCurrentUser访问用户的配置单元。但是,如果用户在我模拟并打开他的配置单元时从开始菜单中选择注销,会有什么影响?是否会阻止注销?我的模拟会被终

c - Win32 : Returning a minimized and hidden window to top

在wndproc中将窗口“最小化”到托盘后,我无法恢复窗口:caseWM_SIZE:if(wparam==SIZE_MINIMIZED){ShowWindow(hwnd,SW_HIDE);}break;托盘消息处理程序如下所示:caseTRAY_ICON_MESSAGE:switch(lparam){caseWM_LBUTTONDOWN:ShowWindow(hwnd,SW_RESTORE);BringWindowToTop(hwnd);SetFocus(hwnd);break;//...该窗口确实会重新出现,但始终隐藏在其他窗口下方并且不会出现在顶部。SetFocus()和Bring

c++ - 在 Windows 上构建 Elsa

如何在Windows下构建elsa?http://www.eecs.berkeley.edu/~smcpeak/elkhound/sources/elsa/最好使用visualstudio或我可以使用visualstudio链接的东西, 最佳答案 尝试在Cygwin下编译。下载Cygwin安装,选择GCC和Flex、Perl等。安装这些东西,然后按照正常的构建过程,一旦进入Cygwin。 关于c++-在Windows上构建Elsa,我们在StackOverflow上找到一个类似的问题:

c++ - IIS 下的 Windows 命名管道 ACL

我正在尝试使用命名管道将CGI进程连接到我的Windows服务。我的代码在我的开发机器上使用另一台服务器运行良好,但在IIS上,当我在CGI进程中调用CreateFile()时存在安全问题。Windows服务是命名管道服务器,因此CGI进程正尝试作为客户端连接到该命名管道。我挖掘了一些代码,通过调用以下代码创建了一个带有标志SECURITY_WORLD_SID_AUTHORITY的全局安全描述符:InitializeAcl()AddAccessAllowedAce()SetSecurityDescriptorDacl()但是我不太明白这个概念。我假设必须使用SECURITY_ATTRI

c - 监控低级 Hook [C]

有没有什么方法可以监控Windows环境中的低级键盘Hook。假设我正在制作一个试图找到键盘记录器的程序。 最佳答案 >没有官方API可以查询已安装的键盘钩子(Hook)。是的,有。(你还太小,不知道这个……)您必须阅读PEB。参见Win32apiGroup所有Windows源代码(每个api,未记录或未记录)都已被反汇编 关于c-监控低级Hook[C],我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

c - 如何在 Windows 中使用 ruby​​ 扩展库(c 语言)运行我的 ruby​​ 应用程序?

如果您对此有任何帮助,我将不胜感激:我想为我的c库编写一个扩展。我创建了使用库libzmq(用C++编写)的文件zmq.cpp。我使用ruby​​extconf.rb创建了makefile,然后运行​​nmake。一切顺利。Nmake生成的文件librbzmq-i386-mswin32.deflibrbzmq-i386-mswin32.liblibrbzmq-i386-mswin32.explibrbzmq.solibrbzmq.so.manifest这一切都是在WindowsXP中完成的。然后我有一个测试程序,在我的第一行有:require'librbzmq'当我尝试使用运行我的测试

c++ - getaddrinfo 总是返回 11001(找不到主机)

虽然搜索到的FQDN出现在etc\hosts文件中。有什么想法吗?非常感谢! 最佳答案 由于我没有代码,这里是一个猜测:getaddrinfo("http://www.example.com");不起作用;getaddrinfo采用主机名而不是URL。 关于c++-getaddrinfo总是返回11001(找不到主机),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/995532/

c++ - wxWidgets 在鼠标移动之前不会更新

我得到了一个带有进度条的wxWidgets表单,我使用自己的自定义wxWidget事件从线程更新进度。这工作正常,除了事实是表格仅在我移动鼠标时显示进度更新。我尝试在设置新进度值后添加Refresh()和Update()但没有成功。我是做错了什么还是wxWidgets出了问题?Windows7VisualStudio2005C++编辑:这是我当前的线程回调:EVENT_CALLBACK_PTR_CPP(onProgress,UploadProgPage){updateInfo*temp=static_cast(ptr);if(temp){wxOnUploadUpdateEventeve

c++ - Windows 套接字通知接收器

Windows套接字通知接收器有什么用?我目前正在使用MFC套接字,自从我在Windows关闭时收到此消息后,我认为我做错了什么。什么可能导致这种情况?谢谢。编辑:我目前正在处理需要通过套接字进行通信的应用程序。当我关闭计算机时,我收到一个消息框,其中有一个名为“windowssocketnotificationsink”的进度条。这就是我能说的。 最佳答案 您创建的端点未正确关闭。Windows套接字通知接收器在关闭时仍在运行,因为它认为它仍然需要管理端点。请确保您正确处理了您创建的套接字类的所有实例,以便Windows清理并知道

c++ - 在 Winx64 中使用 Boost::asio:我卡住了,需要弄清楚如何为 x64 构建 libboost_system_xxxx.lib

不像这个问题:LinkerErrorwhilebuildingapplicationusingBoostAsioinVisualStudioC++2008Express我需要lib文件的x64版本...我什至不确定如何开始。我在这里阅读:http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html或者,更一般地说,我如何为x64构建boost? 最佳答案 我不在Windows上,但我想在bjam调用中添加address-model=64应该可以解决问题。