草庐IT

wide-winapi

全部标签

c++ - 如何在 Win x64 上使用 WinAPI 正确安装虚拟打印机?

我正在尝试使用WinAPI调用从C++控制台程序安装虚拟打印机。它在WindowsXP上运行良好,但在Windows7x64上有一些进程将文件锁定在系统文件夹中,这是安装所必需的。我认为它们只出现在x64Windows系统上,但我没有在WindowsXPx64上测试过。这些是进程splwow64.exe和PrintIsolationHost.exe。我试图以编程方式杀死它们,结果很好(好吧,为了终止PrintIsolationHost.exe,我设置了一个调试权限,'因为它是系统进程)但我开始认为我的代码可能有问题,如果它没有以这种方式工作。显然必须有某种安装方式而不终止任何系统进程。

c++ - 通过 WinAPI 禁用/启用网络接口(interface)

这是我在Windows上禁用/启用网络适配器的尝试:voidEnableNetDevice(boolaState,intindex){HDEVINFONetPnPHandle;SP_PROPCHANGE_PARAMSPCHP;SP_DEVINFO_DATADeviceData;NetPnPHandle=SetupDiGetClassDevs(&GUID_DEVCLASS_NET,0,0,DIGCF_PRESENT);if(NetPnPHandle==INVALID_HANDLE_VALUE){return;}DeviceData.cbSize=sizeof(SP_DEVINFO_DAT

c++ - PBS_MARQUEE Progressbar WinApi

我正在尝试让PBS_MARQUEE类型的进度条正常工作。我可以创建进度条,但我无法让它移动。如果找到这个,但我不清楚我必须做什么:“事实证明,由于我将进度条作为资源而不是使用CreateWindowEx(..),我不得不使用SetWindowLongPtr(..)来为此控件设置PBS_MARQUEE样式...”我是这样创建进度条的:hwndPB=CreateWindowEx(0,PROGRESS_CLASS,(LPSTR)NULL,WS_CHILD|WS_VISIBLE|PBS_MARQUEE,rcClient.left,rcClient.bottom-cyVScroll,rcClie

c++ - 双缓冲winAPI

好的,所以在我的应用程序中,有一堆winAPI和一些自定义控件。耶...现在,通常情况下,他们会静静地重绘自己以进行动画、状态更改等......并且一切正常。但是我有一个名为fix()的Window类方法。每当需要更新整个窗口时都会调用此方法。它会调整控件的大小并使窗口无效。发生这种情况时,将绘制背景,然后是选项卡控件,然后是顶部的所有其他控件。这会导致非常烦人的闪烁,尤其是在调整窗口大小时(因为不断调用fix())。我尝试过的:WS_EX_COMPOSITED。这只会对各个控件进行双重缓冲。这是一种改进,但闪烁不可避免地仍然存在。关闭背景绘制。几乎没有解决问题,反而使事情变得更糟。所

c++ - 使用 winapi 或 mfc 从 .NET 应用程序列表控件中获取项目名称

所以基本上我有这个软件可以以列表形式输出数据。感谢这里的评论,我们了解到它很可能是用.NET编写的。我想扫描列表,这样我就可以对数据做一些算法。使用Spy++我发现保存此列表的内容名为“Panel2”,我可以使用EnumChildWindows获取此列表的句柄(其类为“WindowsForms10.Window.8.app”)。但是我不知道如何访问列表本身以便阅读它的项目。我已经尝试在“Panel2”句柄上使用EnumChildWindows并输出所有这些窗口的标题,但它们都是空的。panel2可以是实际列表吗?如果可以,我可以将它转换为(CListCtrl*)吗?Axilles在评论

c++ - Process Explorer 使用哪个 winapi 函数来挂起进程?

我正在尝试编写一个Hook,它会捕获暂停进程的ProcessExplorer的“SomeFunction”。我已经有了一个解决方案,可以HookSuspendThread和NtSuspendThread等函数。但是ProcessExplorer使用不同的东西,我不知道是什么。请问谁能告诉我PE用来暂停进程的函数名? 最佳答案 将其附加到API监视器;它调用NtOpenProcess->NtSuspendProcess() 关于c++-ProcessExplorer使用哪个winapi函数

【p2p】初识Safire 基于 libnice 的 World wide parment system

点对点数字货币Safire萨菲尔网站:http?/safire.org概述:Safire是一种分布式数字货币。每个用户都可以向任何其他用户支付少量费用。用户通过以群体偏好平均值确定的比率发行的新货币中继网络交易而获得奖励。与比特币一样,它使用区块来确认未决交易并为网络上的所有用户验证它们。与比特币不同,比特币不是由难度哈希函数的第一个求解器形成块,而是使用选择函数根据当前时间选择一个用户。只有该用户可以使用签名消息为当前时间段创建块,他们为该消息保留他们在加入网络时创建的公钥私钥对。这意味着在新用户可以发送和接收交易之前,他们必须通过新块中的成员条目被授予进入网络的权限。每个生成的块都会向块创

c++ - 如何 "Clear"一个WinAPI透明窗口

我在Win32C++中创建了一个透明复选框。我做到了,因为据我所知,在nativewin32中不能有透明复选框,我需要在NSIS安装程序中使用此复选框。我的问题:重绘时,我不知道如何删除透明背景以便在“透明Canvas”上绘图。当用户更改复选框内的文本并且我需要重新绘制它时,这很重要。我想我遇到了每个人都必须遇到的透明窗口问题。清除透明窗口的方法是什么,请注意,我熟悉WinAPI,您无法真正清除窗口AFAIK,因为您只是在窗口上重新绘制。因此,我正在寻找有关可以使用哪些技术重绘窗口的建议,例如:向父窗口发送重绘消息,希望重绘父窗口(位于复选框下方),而不向其子窗口(即复选框)发送消息。

C++ WinAPI : handling long file paths/names

我正在考虑在我的Windows应用程序中处理更长的文件路径。目前,我有一个文本框(编辑框),用户可以在其中键入绝对文件路径。然后,我使用GetWindowText将键入的文件路径读入声明如下的字符串:TCHARFilePath[MAX_PATH];显然,这里我依赖于MAX_PATH常量,它将我限制为260个字符。因此,为了处理更长的文件/路径名称,我可以像这样扩展我的TCHAR数组:TCHARFilePath[32767];。或者有更好的方法吗?我可以使用可变长度数组吗?(TCHARFilePath[];这在C++中是否可行?-抱歉,我对此很陌生)。先谢谢你!这是我上面提到的整个代码片

c++ - 如何使用 winapi 知道 Windows 文件系统中的文件何时以及哪些文件被更改

我制作了带有spy软件功能的教育程序,我需要在程序中知道文件系统何时更改文件,以及正在更改什么文件。我如何在C++中做到这一点? 最佳答案 在Windows上,查看SHChangeNotifyRegister().它不仅会告诉您发生了何种更改,还会告诉您具体更改了哪些文件。 关于c++-如何使用winapi知道Windows文件系统中的文件何时以及哪些文件被更改,我们在StackOverflow上找到一个类似的问题: https://stackoverflow