草庐IT

api-ms-win-downlevel-user

全部标签

windows - 如何清除 AuthzGetInformationFromContext API 使用的缓存?

我有一个域,我在客户端计算机上使用AuthzGetInformationFromContextAPI来检索用户所属组的sid。它工作正常。但是,如果我将用户添加到某个组或将他从域Controller上的某个组中删除,此API仍会显示旧的组列表。在这种情况下,如果我等待10分钟或更长时间,它将显示更新的组列表。我尝试在不同的计算机上执行此操作,发现该应用程序会在不同的时间显示更新的组列表。所以,它不是域Controller缓存。此外,我的应用程序退出并重新启动。因此,它也不是应用程序级缓存。所以,我相信有一些计算机级别的缓存用于组成员(通过此API检索)。有谁知道如何以编程方式清除此缓存

c++ - 多线程 Win32 C++ 程序在多线程中使用 try/catch 时崩溃

我正在编写一个多线程程序,它会在抛出特定异常时崩溃。剥离了越来越多的代码来查找问题后,我现在只剩下一个极其简单的案例,它会导致许多不同的崩溃之一,似乎是随机的。我不知道为什么要这样做。程序的全部内容如下:#includeWINAPIDWORDthreadFunc(LPVOIDx){while(true){try{throw1;}catch(...){}}return0;}intmain(intargc,char*argv[]){CreateThread(NULL,0,threadFunc,NULL,0,NULL);CreateThread(NULL,0,threadFunc,NULL,

c# - 用于自动化的 User32 API 自定义 PostMessage

我想通过C#自动化一个名为Spotify的程序,(我认为)最好的方法是触发假按键。我想编程暂停播放,但我对这些东西的了解还不够多,无法找到按键以外的其他方法。所以我使用VisualStudio的Spy++查看按下键盘上的播放按钮时Spotify收到什么消息,我将该消息中的数据复制到我的控制台应用程序并运行它,当我运行时我可以在Spy++的消息记录中看到PostMessage,所以这是有效的,但它不会暂停/播放我的音乐。我想这是因为我还必须发送另一个带有另一个目的地的PostMessage,但我怎么知道还要发送什么?发布消息调用:MessageHelper.PostMessage((in

windows - 从多个目录加载 Win32 模块

我有一个程序将插件存储在多个目录中,如下所示:root/core/bin/app.execore.dllplugin.dllsupport.dlla/bin/a.dlla_support.dll在此示例中,a.dll导入了core.dll、support.dll和a_support.dll(它们在导入表中的顺序)。a_support.dll导入support.dll。我可以更改除支持模块之外的所有模块,这些模块是第三方库的重新发布。我的代码调用LoadLibraryEx(name,NULL,LOAD_WITH_ALTERED_SEARCH_PATH)来加载每个插件。对于core.dll

c++ - 在 Windows 服务和 win32 应用程序 C++ 之间使用 IPC

我已经编写了一个Windows服务,我想将它与一个win32应用程序(桌面)进行通信(IPC),谁能告诉我我应该怎么做才能进行这种通信。在我的例子中,我的服务是服务器,其他进程是客户端。每当用户在他的机器上启动它时,进程应该与服务建立连接。 最佳答案 我编写了支持您描述的命名管道的服务。我不需要做任何特别的事情来设置客户端打开和读/写命名管道的权限。我发现以下Microsoft文章在开发我的代码时很有用:“完整的服务示例”:http://msdn2.microsoft.com/en-us/library/bb540476(VS.85

c++ - OpenCV - API 位置不是文档吗?

也许我被MSDN宠坏了,但我正在焦头烂额地寻找API位于哪些DLL中。这让我发疯了,我已经开始编写一些可以运行的代码DLL导出表,这样我就可以找到函数了!!就像在MSDN上一样,如果我需要一个Windows函数,例如GetModuleHandle()。我转到MSDN页面:http://msdn.microsoft.com/en-us/library/windows/desktop/ms683199(v=vs.85).aspx它准确地告诉我函数所在的位置:Library-Kernel32.libDLL-Kernel32.dll现在对于OpenCV,我正在寻找函数cvCreateKalma

c++ - 在 C++ (Win32) 中快速获取 Windows 应用程序屏幕截图的方法?

当我的应用程序需要获取其他Windows应用程序的屏幕截图时,我遇到了问题。我正在使用win32api'PrintWindow'中的函数,但效果不佳。它很慢,其他应用程序窗口中的一些组件显示为黑色矩形。Devrexster有一个名为DExpose2的应用程序(Mac-OS风格的任务切换器)。它可以非常快速地获取其他应用程序的屏幕截图,非常快,甚至可以连续获取这些屏幕截图。我猜它是使用Direct3D来获取应用程序的屏幕截图,而不是像我正在使用的那样使用GDI。是否可以为此目的使用Direct3D?如果可能,哪种方法最简洁? 最佳答案

c# - 增加 Win7 Aero 主题中 DateTimePicker Calender 的字体大小

我想更改Win7中日历控件的字体大小,使其兼容触摸屏。我机器的主题是Aero。CalendarFont属性对Aero主题没有任何影响。所以我重写了OnDropDown方法来禁用日历控件的主题。现在字体变了,但是日历窗口的大小没有变。下图显示了我看到的窗口代码如下。我应该怎么做才能增加日历窗口的大小?protectedoverridevoidOnDropDown(EventArgse){IntPtrpointerToCalenderWindow=SendMessage(Handle,DtmGetmonthcal,0,0);//DisbleThemeSetWindowTheme(point

c++ - 在用户注销时删除 HKEY_CURRENT_USER 值

Windows服务在HKEY_CURRENT_USER注册表项下为每个登录用户创建一个注册表值(用于Excel加载项)(通过调用ImpersonateLoggedOnUser()和RegSetValueEx())。我需要在用户注销时删除此注册表值,包括系统关闭。如果它在注销时未被删除,并且软件被一个用户卸载,则注册表中的条目将保留在服务生命周期内登录的任何其他用户,这会导致每次Excel启动时显示消息框错误因为它正在尝试加载不再存在的加载项。考虑但拒绝了以下内容:SetConsoleCtrlHandler()因为没有迹象表明用户正在注销。REG_OPTION_VOLATILE因为它只在

windows - 工具栏中按钮的大小 - win32 程序

我正在用我的位图图像创建工具栏,但按钮大小有问题。此图像大小为20/20像素。我创建了一个工具栏,并通过以下代码将按钮大小设置为20/20像素:SendMessage(hToolbar,TB_SETBUTTONSIZE,0,MAKELPARAM(20,20));并且我将配色方案设置为红色和绿色,这样当光标悬停在按钮上时,按钮框架会清晰显示。这是当光标停留在按钮上时我看到的:如您所见,按钮大小不是20\20像素,而是26像素。那为什么会这样呢?还有一个问题,当鼠标光标在它上面时,是否可以取消突出显示按钮,而不是我将设置热门图像列表(通过TB_SETHOTIMAGELIST消息),所以当光