api-ms-win-core-sysinfo-l
全部标签 我有一个用C++、MFC编写的遗留系统。我正在检查一段代码,其中LoadBitmap()替换为LoadImage()应用程序接口(interface)。代码中的注释说“LoadBitmap()使用内核内存中的分页池,如果使用量达到最大限制,则会弹出绘制问题。所以LoadImage应该使用API”。我在谷歌上搜索了一下,但没有得到太多信息。当我检查MSDN,他们说“请注意,不推荐使用LoadBitmap加载OEM位图,仅支持向后兼容”我的问题是:1.LoadBitmap()API有什么问题吗?为什么我们应该更喜欢LoadImage()而不是LoadBitmap()?2.什么是OEM位图?
我对如何最好地设置VS2008项目以便将DLL编译为智能设备DLL和C++Win32DLL的意见很感兴趣。除了拥有两个项目并共享源文件之外,还有其他选择吗? 最佳答案 是的,您可以使用多个平台来做到这一点。虽然很难做到正确,但您无法从项目模板中初始化设置。最好的办法是使用SmartDevice项目模板启动项目,因为它具有最多的自定义设置。然后Build+ConfigurationManager,Activesolutionplatform=New,选择Type=Win32,Copy=None。最后一个是痛苦的一点,您必须自己更改Wi
有谁知道(因为在微软论坛上没有人回答我),我如何才能在%appdata%\microsoft\windows\recent\automaticdestinations中找到哪个应用程序有哪个automaticDestinations-ms文件?这是Windows7存储其跳转列表的文件夹,我想知道如何自动/以编程方式查找每个文件和应用程序之间的关系。至少,即使是手动我也没有发现任何模式,只是为了查看文件中的文件扩展名,因为有些程序会打开具有相同扩展名的文件(如图像),所以这种方法并不适用于所有程序。你还有别的想法吗?也许知道这些文件的格式?谢谢。 最佳答案
嘿,我正在尝试获取与我的exe文件位于同一文件夹中的dll的路径。要走的路似乎是使用QueryFullProcessImageName()或GetModuleFileName()之一来获取正在运行的可执行文件的路径,然后使用字符串操作使其成为改为所需库的路径。不幸的是,这两个函数都没有提供提前找出所需缓冲区大小的方法。我试过为nSize参数传递零,但这没有达到预期的效果。执行此操作的最佳实践方法是什么? 最佳答案 在实践中,您可以使用WindowsAPIMAX_PATH作为您的缓冲区大小,也许加1以提高安全性。理论上Windows路
当您在InternetExplorer中保存HTML文件时,它会创建一个包含所有链接文件的子文件夹。这两个链接在一起,因此当您删除文件时,文件夹也会随之消失。我想在我的应用中做同样的事情。谁能给我一个相关API的指针?谢谢 最佳答案 HTML文件及其附带资源目录的配对是一种特殊情况(由shell实现),因此不是文件系统的功能,据我所知也不是任何可扩展的shellAPI。请参阅SHFileOperation中的连接文件文档。 关于windows-将文件夹绑定(bind)到文件的API是什么
我有一个域,我在客户端计算机上使用AuthzGetInformationFromContextAPI来检索用户所属组的sid。它工作正常。但是,如果我将用户添加到某个组或将他从域Controller上的某个组中删除,此API仍会显示旧的组列表。在这种情况下,如果我等待10分钟或更长时间,它将显示更新的组列表。我尝试在不同的计算机上执行此操作,发现该应用程序会在不同的时间显示更新的组列表。所以,它不是域Controller缓存。此外,我的应用程序退出并重新启动。因此,它也不是应用程序级缓存。所以,我相信有一些计算机级别的缓存用于组成员(通过此API检索)。有谁知道如何以编程方式清除此缓存
我正在编写一个多线程程序,它会在抛出特定异常时崩溃。剥离了越来越多的代码来查找问题后,我现在只剩下一个极其简单的案例,它会导致许多不同的崩溃之一,似乎是随机的。我不知道为什么要这样做。程序的全部内容如下:#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#自动化一个名为Spotify的程序,(我认为)最好的方法是触发假按键。我想编程暂停播放,但我对这些东西的了解还不够多,无法找到按键以外的其他方法。所以我使用VisualStudio的Spy++查看按下键盘上的播放按钮时Spotify收到什么消息,我将该消息中的数据复制到我的控制台应用程序并运行它,当我运行时我可以在Spy++的消息记录中看到PostMessage,所以这是有效的,但它不会暂停/播放我的音乐。我想这是因为我还必须发送另一个带有另一个目的地的PostMessage,但我怎么知道还要发送什么?发布消息调用:MessageHelper.PostMessage((in
我有一个程序将插件存储在多个目录中,如下所示: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
我已经编写了一个Windows服务,我想将它与一个win32应用程序(桌面)进行通信(IPC),谁能告诉我我应该怎么做才能进行这种通信。在我的例子中,我的服务是服务器,其他进程是客户端。每当用户在他的机器上启动它时,进程应该与服务建立连接。 最佳答案 我编写了支持您描述的命名管道的服务。我不需要做任何特别的事情来设置客户端打开和读/写命名管道的权限。我发现以下Microsoft文章在开发我的代码时很有用:“完整的服务示例”:http://msdn2.microsoft.com/en-us/library/bb540476(VS.85