草庐IT

安全操作

全部标签

c - GetKeyNameText 的反向操作

我们可以使用GetKeyNameText()检索表示键名的字符串。有什么方法可以做相反的事情,即获取给定键名的扫描码或虚拟键?我想将键名写入配置文件,以便用户可以轻松编辑它们。当我读入配置文件时,我需要执行与GetKeyNameText()相反的操作。 最佳答案 这不是个好主意,这些名称不是固定的:Thekeynameistranslatedaccordingtothelayoutofthecurrentlyinstalledkeyboard,thusthefunctionmaygivedifferentresultsfordiff

windows - 复制文件安全权限

我正在将文件从文件夹A复制到文件夹B,然后尝试复制文件权限。以下是我使用的基本步骤:复制文件(源,目标)GetNamedSecurityInfo(来源,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)使用ConvertSecurityDescriptorToStringSecurityDescriptor打印源SDSetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)GetNamedSecurityInfo(目标,GROUP_SE

windows - Windows(或其他操作系统)如何更新客户端的背景区域?

或者换个方式问,OnEraseBkgnd()是如何工作的?我正在构建一个自定义控件,我遇到了这个问题。像往常一样,child是矩形。我必须禁用OnEraseBkgnd()并且我只使用OnPaint()。我需要的是有效地清除child身后的区域并且不闪烁。后台缓冲区之类的技术不是一种选择。编辑:我对OnEraseBkgnd()背后的算法非常感兴趣。但任何有帮助的答案也将被接受。 最佳答案 通常在Windows中,减少闪烁的最简单(但不是最有效)的方法是关闭WM_ERASEBKGND通知处理。这是因为如果您在通知处理程序中删除背景,然后

windows - 如何手动确定当前操作系统的 CodePage 和 Locale

有没有办法让我手动让用户查找其Windows操作系统的当前代码页和语言环境?是否有存储该信息的注册表设置?如果该技术一直适用于Windows2000,它也会很有用。 最佳答案 Win32GetACP()function返回到Windows2000以查找ANSI代码页。GetLocaleInfo()函数也适用于Windows2000。使用LOCALE_SYSTEM_DEFAULT(或LOCALE_USER_DEFAULT等)的Locale参数调用它如果您的问题不是如何以编程方式获取此数据,而是非程序员如何查找此信息,那么您可能想在Se

c++ - 是否有适用于 Visual Studio C++ 6.0 的线程安全队列类?

我想在VS6.0中实现线程安全队列是否有一个好的类(class)可以用于此?这是一个使用CWinApp的MFC应用程序。我的former帖子带我到here但我没有在VS2010中编写代码的奢侈,因为我停留在6.0版。好吧……谢谢。 最佳答案 显然您接受了该问题的错误答案!:-)code我在我的答案中链接将适用于VC++6。 关于c++-是否有适用于VisualStudioC++6.0的线程安全队列类?,我们在StackOverflow上找到一个类似的问题: h

c++ - 移至 64 位操作系统时共享内存性能降低

我遇到了在64位Windows上运行的32位旧版应用程序的问题。有问题的应用程序使用CreateFileMapping创建共享内存。当它在64位Windows上运行时,任何从另一个进程访问此共享内存的尝试都需要大约1秒。共享内存是使用页面保护标志创建的:flProtect=PAGE_READONLY|SEC_NOCACHE|SEC_COMMIT;当使用以下方法创建相同的内存时:flProtect=PAGE_READONLY|SEC_COMMIT;问题消失了。目前这种解决方法是可以接受的,但我们确实有一些设备需要设置SEC_NOCACHE标志。谁能告诉我为什么在这种情况下SEC_NOCA

windows - 能否完全捕获 Windows 控制台应用程序的控制台输出(包括高级操作)?

重定向控制台程序的标准输入/输出是一件微不足道的事情,但如果程序使用高级控制台功能呢?就像输出彩色文本、四处移动光标和直接操作控制台缓冲区一样?是否也可以捕获并重定向到我自己的程序进行处理?注意:我说的是我的应用程序(不一定是控制台应用程序)运行控制台应用程序并将其输入/输出重定向到自身的场景。注意2:最后我想要C#代码,但现在让我们坚持使用裸Win32API和C或C++。无论如何,我认为没有PInvoke是不可能的,所以让我们先了解一下基本原则(如果可能的话)。 最佳答案 与Linux不同,所有颜色IO都不会通过简单的重定向来捕获

c# - 桌面图标操作 - 如何在启用图片旋转主题时获取 SysListView32 的句柄

我正在尝试在桌面上移动图标,一切正常,直到选择了具有图片旋转的主题。对于基本的Windows7主题,SysListView32是SHELLDLL_DefView的子项,后者又是Progman的子项。Butwhenapicturerotationdesktopthemeispicked,SysListView32becomeschildofSHELLDLL_DefViewwhichinturnbecomeschildofWorkerW.不止1个。我应该如何找到指向正确WorkerW的正确HWND。枚举所有桌面窗口并使用类名WorkerW检查每个窗口?[DllImport("user32.

c++ - 创建安全的转义路径基础/文件名,检查是否安全

我想知道是否有一种生成可移植的文件系统安全文件名的通用方法。也就是说,我有一个用户输入的字符串,并希望生成一个名称与他们选择的名称非常相似的文件。生成的名称不得包含任何路径引用或其他特殊的文件系统特殊名称或标记。目前我只是用其他字符或空字符串替换一堆已知的坏字符。例如,给定名称ABC/DEF*:ACompany?我将生成字符串ABC-DEF-ACompany。我对替换字符的选择完全是随意的,因为我不知道通用的转义符号。所以我的相关问题是:是否有一种方法(可能在boost文件系统中)可以告诉我名称是否严格引用没有路径的文件?是否有函数告诉我该名称是否“安全”用作文件(对于某些文件系统,这

python - PyQt4 Windows - 工具栏操作不起作用。我该如何修复它们?

我在Linux中制作了一个带有工具栏的程序,上面有一些操作。工具栏及其操作在Linux操作系统上完美运行,但当我在Windows机器上运行代码时,操作就不起作用了。一切看起来都与在Linux上一样(是的,我在Windows机器上安装了PyQt4),甚至是工具栏,但是当我单击工具栏上的一个项目时,它只是不执行给定的处理程序。我尝试制作了一个带有工具栏的基本PyQt4程序,只是为了测试这个错误是否是因为我的程序,但结果是一样的。这是不起作用的基本示例程序。fromPyQt4importQtGui,QtCoreimportsysdefaTest(obj=None):print"Ifthisa