我们在Windows环境中,希望为非公司机器自动执行此过程。如果供应商来到现场,我们希望能够让他/她访问一个可以对工作站进行快速扫描的网站,以确定他们是否有正确的MSKB补丁以及他们的病毒扫描数据是否符合要求日期。我可以相对轻松地扫描KB更新,我很难找到一种检查病毒数据状态的方法,而且由于那里有很多不同的引擎,使用(至少内置于XP中)专有的MS安全中心内容。最终,我们希望我们的路由器将非公司机器重定向到一个强制验证的网站,但在那之前,这将是一个手动过程。有什么想法吗? 最佳答案 在WindowsVista中,有一些新的API可以与安
我使用C/C++开发了一个Win32应用程序,它可以在Vista和XP上运行。我想知道,当我的应用程序从任务管理器中被终止时,我可以通过选择“结束进程”按钮在我的应用程序中获取任何事件吗?我想在我的应用程序退出时释放一些内存。 最佳答案 不,您的申请已终止,恕不另行通知。你任由任务管理器摆布。 关于c++-从任务管理器关闭应用程序时如何获取事件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que
我正在为脚本语言编写nativeCOM/Ole/ActiveX包装器。我需要一些建议来实现事件/回调(比如来自Microsoft.XMLHTTP对象的onreadystatechange)我注意到一些COM对象可以通过IDispatch接口(interface)调用我的自定义对象。这是管理事件的唯一方法吗? 最佳答案 如果您要询问有关COM事件如何工作的更一般的问题(来自任何客户端,而不仅仅是对安全性等有一些特定要求的IE)以及如何公开对象的事件,那么有一个很好的CodeProject文章,UnderstandingCOMEvent
我正在寻找一个关于如何重启任何允许在设备管理器中启用/禁用的设备的编程API,例如音频设备和网络适配器 最佳答案 您将不得不使用SetupApi/ConfigManagerAPI.但请注意,在x64下,您的应用程序。必须也是x64才能启用/禁用设备(所以你现在不能直接在Delphi中执行此操作-首先我认为这是x64下x86-app的文件/注册表重定向的问题,但它没有帮助)。设备枚举工作正常。在MSDN上的一篇文章中有一些关于它的内容,但我现在找不到它。我制作了FP/Lazarusx64应用程序以在x64操作系统下启用/禁用设备。您可
我有一个由进程加载和文件锁定的dll,我想用更新的版本更新它。我正在寻找一种替代方法来终止进程以在更新dll之前释放文件锁。现有的事件进程仍然使用旧版本是可以的,只要新实例化的进程采用新逻辑即可。似乎我可以简单地重命名/移动dll,并且实时进程似乎仍然运行良好。这样做安全吗?如果dll的代码已经加载到进程中,为什么还需要锁定dll? 最佳答案 移动任何随机应用程序使用的所有dll并不总是可以的。某些应用程序,如asp.net,使用影子副本概念,它们实际复制dll并使用副本让您可以自由修改原始文件。在asp.net的情况下,如果您修改
我正在尝试从加载我的DLL的进程中获取消息。我试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,0);这给了我关于“程序X无法启动,因为系统中缺少Y.dll”的错误弹出窗口。这就是我在标题中加上“安全”的原因。我也试过:SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)WndProc,hInstance,threadId);threadId是我的DLLMain中GetCurrentThreadId()的结果。这个有效,但我没有收到任何窗口消息(只有一堆512和1025)。
在我的应用程序中,我有一些将数据存储在用户硬盘上的Save方法。一旦应用程序仍然可以访问、更改和删除该文件,怎么可能阻止用户访问、更改或删除该文件?可能的解决方案是在无权访问保存文件夹但使用存储在应用程序中的系统管理员预定义用户名和密码的受限用户上以管理员身份运行应用程序。我已经阅读了其他关于使用UAC的主题,应用程序list。正如我在标题中提到的是否可以在没有用户交互的情况下以管理员身份运行程序?编辑1:我正在寻找适用于所有版本的Windows(XP、Vista和7)的解决方案 最佳答案 我假设您已经研究过ACL的功能,但您无法使
是否可以通过CMD关闭Windows资源管理器?我有一个执行此操作的批处理:它将更改目录,在此文件夹中打开资源管理器,然后运行程序。用户关闭程序后,批处理应关闭资源管理器(或所有打开的资源管理器),继续下一个文件夹(cd文件夹),在此文件夹中运行相同的程序,依此类推。直到处理完最后一个文件夹。 最佳答案 通过杀死资源管理器进程来关闭资源管理器窗口(请注意,这可能不仅仅是杀死窗口,但它肯定会这样做):例如,使用win+r试试这个cmd/c"taskkill/f/imexplorer.exe&&startexplorer"如果您在没有重
我们在域Controller中安装了报表服务器。在报表服务器中,我删除了为BUILTIN\Users分配的所有角色(Browse除外),并为BUILTIN\Administrators保留了所有角色(包括ContentManager)。现在当我以域管理员身份登录时,我无法访问安全设置页面!我没有在ReportManager主页中看到“属性”选项卡。因为我安装了SSRS的服务器是我们的域Controller,它没有任何BUILTIN组。但是,域管理员在Domain\Administrators组中,我的印象是在这种情况下它将充当BUILTIN\Administrators组。但我错了。现
是否可以使用shell.run命令以管理员身份运行指定程序?例如:shell.run(cmd.exe)我知道我可以执行脚本以管理员身份运行,但这意味着该脚本中的所有内容都以管理员身份执行。我的另一个选择是分离脚本并以管理员身份运行一个脚本,并在该脚本中包含需要以管理员身份运行的内容,然后调用另一个脚本运行并正常运行该脚本。 最佳答案 SetoShell=CreateObject("Shell.Application")oShell.ShellExecute"cmd.exe",,,"runas",1oShell.Run"nodepad