草庐IT

WINAPI_FAMILY_PARTITION

全部标签

c++ - 从 WINAPI 获取文件的先前版本

在Windows7中,有可能获取文件的先前版本,如下图所示:有没有办法通过代码检索文件的先前版本?因为我找不到任何API。感谢先进!=] 最佳答案 这个问题列出了几个标签。所以不清楚是否需要严格的c/c++方法,或者脚本等是否可行。无论如何……以下是一些有望指向正确方向的链接:在MSDN站点上,有引用文档和示例代码到shadowcopyAPI。这是一个Linktotheconcept卷影复制服务。这里描述了如何commandline,orprogramscript恢复卷影拷贝中的文件。将上面的API链接与structuresfoun

windows - 'handle' 是 WinAPI 中指针的同义词吗?

我最近一直在阅读一些有关使用C++进行Windows编程的书籍,并且对WinAPI中一些重复出现的概念有一些混淆的理解。例如,有大量以handle关键字“H”开头的数据类型,这些是否应该像指针一样使用?但是还有其他以指针关键字“P”开头的数据类型。所以我想不会。那到底是什么?为什么指向某些数据类型的指针首先被赋予单独的数据类型?例如,PCHAR可以很容易地设计成CHAR*? 最佳答案 句柄在Windows的早期版本中曾经是指针,但现在不再是了。将它们视为一个“cookie”,一个允许Windows找回先前分配的资源的唯一值。与Cre

c++ - WinAPI C++ : Reprogramming Window Resize

我有一个窗口,我想将边框实现为调整边框大小,就像任何其他窗口一样。从评论和答案中吸取建议,我重写了我的代码。对于WM_GETMINMAXINFO,我有:MINMAXINFO*min_max=reinterpret_cast(lparam);min_max->ptMinTrackSize.x=MINX;min_max->ptMinTrackSize.y=MINY;MINX和MINY是我希望窗口的最小尺寸。对于WM_NCHITTEST,我有:RECTwnd_rect;intx,y;GetWindowRect(window,&wnd_rect);x=GET_X_LPARAM(lparam)-

windows - WinAPI Unicode 和 ANSI 函数

大多数WinAPI调用都有Unicode和ANSI函数调用例如:functionMessageBoxA(hWnd:HWND;lpText,lpCaption:LPCSTR;uType:UINT):Integer;stdcall;externaluser32;functionMessageBoxW(hWnd:HWND;lpText,lpCaption:LPCWSTR;uType:UINT):Integer;stdcall;externaluser32;我什么时候应该使用ANSI函数而不是调用Unicode函数? 最佳答案 就像发布的评

winapi - 在 Windows 中等待孙子进程

是否可以等待Windows中子进程启动的所有进程?我无法修改子进程或孙进程。具体来说,这是我想要做的。我的进程启动uninstallA.exe。uninistallA.exe进程启动uninstallB.exe后立即退出,uninstallB.exe运行一段时间。我想等待uninstallB.exe退出,以便知道卸载何时完成。 最佳答案 使用CreateJobObject创建作业对象。使用CreateProcess以挂起状态启动UninstallA.exe。使用AssignProcessToJobObject将该新进程分配给您的作业

c - Winapi - 扩展键盘扫描码

如果我想使用像0xE00x1D(右CTRL)这样的扩展扫描码来模拟按键,我将如何在C中模拟这样的按键?我试过用两个INPUT结构调用SendInput,但只有左CTRL键被“按下”。对于具有“双胞胎”(Shift和Alt)的其他键,也会发生同样的事情。其次,如何为“扩展”键引发keyup事件? 最佳答案 KEYBDINPUT结构有一个KEYEVENTF_EXTENDEDKEY标志来为您处理0xE0字节:Ifspecified,thescancodewasprecededbyaprefixbytethathasthevalue0xE0

windows - winapi 检索所有驱动器的最大配置页面文件大小

似乎GlobalMemoryStatusEx和GetPerformanceInfoWindowsAPI报告页面文件的当前大小,但页面文件可以配置(每个磁盘)以增大到某个限制。是否有一个API可以检索该限制,以便我可以计算整个系统的最大可能提交大小(前提是页面文件设置否则保持不变)? 最佳答案 似乎可以通过WMI(COM和/或命令行):wmicpagefilelist/format:listwmicpagefilesetlist/format:list但也可以通过读取/解析此注册表设置以依赖于平台的*方式完成:HKLM\SYSTEM\

c++ - 如何使用 WinAPI 重启 Windows 8/10 并进入高级启动选项?

我知道可以使用InitiateShutdown重启工作站应用程序接口(interface)。我很好奇如何重新启动并转到Windows8/10上可用的“高级启动”选项窗口?(我问的是WinAPI或注册表设置。)附言。同样可以通过调用来实现:shutdown\r\o 最佳答案 对于Windows8及更高版本,您可以使用未记录的dwShutdownFlags值0x400,它将启动重启,然后显示高级启动菜单选项。该标志可以与SHUTDOWN_RESTART、SHUTDOWN_RESTARTAPPS、SHUTDOWN_FORCE_OTHERS

C++ - WinAPI 获取所有连接的 USB 设备的列表

我正在尝试创建一个程序来对所有连接的USB设备及其端口GUID进行分类。我找到了一个如何从连接的输入设备获取所有信息的示例:#include#include//Namespaceusingnamespacestd;//Mainintmain(){//Programcout我试图转换此代码以获取所有连接的USB设备,但失败了。所以我的问题是收集我正在寻找的数据的最佳方式是什么? 最佳答案 如果您想要所有USB设备,而不仅仅是“输入”设备,那么您需要使用与设备管理器相同的API。例如,设备管理器显示的所有设备都可以在SetupDiGet

winapi - 在 Windows 中将焦点设置在控制台上?

是否可以在Windows中将焦点设置在控制台应用程序上?SetFocus看起来很有前途,但它需要一个HWND,我不知道控制台应用程序是否有一个。 最佳答案 使用GetConsoleWindow功能。 关于winapi-在Windows中将焦点设置在控制台上?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3223688/