草庐IT

c++ - 如何在 Windows 中获取文件安全属性

我正在使用C++MFCwindows下如何获取文件的安全属性,有没有方便的api?非常感谢! 最佳答案 你能检查一下吗TheWindowsAccessControlModelPart1TheWindowsAccessControlModel:Part2另外,看这里WindowsAccessControl 关于c++-如何在Windows中获取文件安全属性,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

c++ - 登录到远程机器并访问网络资源

我想访问远程机器(win2k3,10.10.20.30)上的一个文件,但我不明白如何在我的程序中登录到那台机器。是否有任何简单的winapi可以获取网络路径、凭据并返回句柄?我只想访问\10.10.20.30\c$\test.txt,WNetAddConnection2、WNetAddConnection3有点困惑。任何建议都会有所帮助。抱歉,不是很清楚。我想访问同一网络(LAN)上的计算机。我想访问未在其他计算机上共享的文件。 最佳答案 如果您有管理员权限,解决方法就相当简单。C$管理共享可用。您可以调用WNetAddConnec

c++ - 如何在不注入(inject)任何 DLL 的情况下单击窗口时返回窗口句柄?

对于我的一个项目,我需要创建一个函数,当用户单击窗口(屏幕上显示的任何窗口,以及该窗口内的任何位置)时,该函数将返回一个窗口的句柄。我知道可以使用全局Hook,但我认为必须有一种更简单的方法,无需使用任何DLL注入(inject)。事实上,我可以在激活窗口时拦截鼠标左键单击或拦截。我可以在没有任何DLL注入(inject)的情况下使用这两种解决方案中的一种吗? 最佳答案 你可以使用LowLevelMouseProchook拦截点击,然后使用WindowFromPoint来确定窗口。(我还没有真正尝试过这个。)

c++ - 运算符 "new"仅返回一个类的非本地堆指针?

语言:C++平台:WindowsServer2003我有一个调用DLL的exe。编辑:(exe没有做任何事情,它调用了几个全局函数,这些函数在DLL中完成与DLL相关的所有事情。它没有显式新建任何DLL类)我在DLL中为A类分配(新)内存,它返回给我一个非本地堆指针。我尝试新建DLL中的其他类(在DLL中),“new”为它们返回一个有效的堆指针,它唯一的ClassA是没有被正确分配。我在Windows上并通过此函数调用验证堆:编辑:ClassA*pA=newClassA();_CrtIsValidHeapPointer((constvoid*)pA)我很困惑为什么这只发生在new-in

c - Windows 上的 UTC 时间戳

我在C中有一个带有UTC时间戳的缓冲区,我每十秒广播一次该缓冲区。问题是两个数据包的时间差不一致。经过5到10次迭代后,时间差变为9、11,然后又变为10。请帮我解决这个问题。我正在使用为UTC时间。 最佳答案 如果您的时间戳只有1秒分辨率,那么最低有效数字总是会有+/-1的不确定性(即在这种情况下为+/-1秒)。澄清:如果您只有1秒的分辨率,那么您的时间值将被量化。由这种量化值表示的实时t的范围为t..t+0.9999。如果您取两个这样的时间差,t0和t1,则t1-t0中的最大误差为-0.999。.+0.999,量化后为+/-1秒

c++ - 如何在 CRT 中模拟文件读取错误

使用VS2008,我们想模拟一个大小为X的文件,但在X-Y字节读取失败,以便我们得到错误指示。有人知道如何在Windows上执行此操作吗?看起来有一个针对linux的解决方案,但我真的想不出在windows上执行此操作的方法。我们有多个开发人员、多台机器和cppunit测试框架,所以我想要一个纯软件设计。我正在尝试模拟实际的CRT故障,因此我可以测试处理故障的代码。 最佳答案 将文件I/O函数包装在一个类中;覆盖测试派生类中的那些;用假的或模拟的来模拟失败。 关于c++-如何在CRT中模

c++ - Windows/C++ : detect when focus has changed between windows (globally)

我正在尝试找到一种方法来检测何时将焦点更改为另一个窗口(而不必每隔X毫秒轮询一次)。我已经想出了一种方法来检测何时使用WH_SHELL和HSHELL_ACTIVATESHELLWINDOW在应用程序之间切换焦点。问题是我想检测焦点何时在同一个应用程序的对话框/窗口之间切换。即。在记事本中,我可以确定应用程序何时切换到记事本,但我无法检测到“打开”或“保存”对话框何时出现,因为焦点仍在同一应用程序中。 最佳答案 您可以使用SetWindowsHookEx使用WH_CBTHook类型。如果您只想检测应用程序中的焦点变化,请将GetCur

c++ - 如何遍历字符串数组并为不同的字符串应用函数?

好吧,这可能真的是个菜鸟问题,但我希望有一些我还不知道的东西。我检查一个文件,检查每行有哪个字符串,根据字符串值我为它执行不同的函数(或多个函数)。我现在是这样做的:编辑:我需要在if内使用if-else-if范围之外的变量,更新代码:strings1="used";strings2="in";strings3="functions";if(str=="something"){something=process(s1,s2);}elseif(str=="somethingelse"){something=process(s2,s3);}elseif(str=="somethingmor

c - 在 Windows 平台上使用 ANSI-C 可以获得精确到毫秒的系统时间吗?

我需要获得毫秒级的精度。我看看thisquestion但我在Windows上工作:它给出了POSIX函数的链接错误。要是能得到1970年以来的毫秒级UTC时间就好了。 最佳答案 不是在ANSIC中,但WindowsAPI提供了一个GetSystemTime功能如下所示:https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-systemtime 关于c-在Windows平台上使用ANSI-C

c++ - Windows 上的文件处理例程

是否允许在一个系统中混合不同的文件处理功能,例如来自cstdio的fopen()来自fstream的open()从WinAPI创建文件?我有一个包含大量遗留代码的大型应用程序,似乎在这段代码中使用了所有三种方法。有哪些潜在风险和副作用? 最佳答案 是的,您可以将所有这些混合在一起。无论如何,这一切都归结为CreateFile调用。当然,您不能将文件指针传递给CloseHandle并期望它工作,也不能期望从CreateFile打开的句柄与一起工作>关闭。用C++中malloc/free与new/delete的完全相同的方式来思考它.只