草庐IT

windows - 复制文件安全权限

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

c - 如何为 CreateProcess() 启动的进程设置语言环境

当使用CreateProcessW()启动进程时,是否可以使用与配置为系统范围默认代码页的不同的MBCP语言环境/代码页创建进程?在目标进程中,这应该与调用_setmbcp()具有相同的效果。目标进程未启用unicode,并使用普通的main(intargc,char**argv)入口点。我希望能够选择代码页,将传递给CreateProcessW()的unicode参数转换为不同于系统的非unicode程序的默认代码页。 最佳答案 我刚刚遇到一个Microsoft实用程序:AppLocale,这似乎正好满足了这种需求......

windows - Windows 中的内核对象和事件对象有什么区别?

据我所知,它们都是由用户可以操作的HANDLE指向的。有什么区别? 最佳答案 大多数用于在多线程应用程序中创建、同步和监视线程的API都依赖于内核对象,内核对象也用于管理内存和文件。KO是操作系统资源,如进程、线程、事件、互斥量、信号量、共享内存和文件等。除了创建或打开内核对象。您通过HANDLE而不是名称来引用它。HANDLE是唯一标识内核对象的32位值。内核对象是一般的,事件是特定内核对象之一。引用KernelObjects.Events. 关于windows-Windows中的内核

windows - TabCtrl_SetItemSize 和用户绘制的选项卡控件

我有这个Win32用户绘制的选项卡控件,它创建为:CONTROL"Tab1",IDC_TAB_CONT,"SysTabControl32",TCS_BOTTOM|TCS_OWNERDRAWFIXED|NOTWS_VISIBLE,0,14,185,88我希望此控件能够调整其选项卡的大小,因为永远不必看到“滑动箭头”:现在,除了它不会响应TabCtrl_SetItemSize之外,这个控件的几乎所有内容都按预期工作。尽我所能,当我绘制标签时(在传递给WM_DRAWITEM的DRAWITEMSTRUCT中),我得到的标签大小始终是适合最长标题的大小它们,而不是我用TabCtrl_SetIte

c - 我的程序阻止 Windows 关闭!

我的wxwidgets程序不允许在用户单击关机时关闭计算机。我在正常退出程序时遇到问题,所以我一直在直接调用exit()而不是像wxwidgets所说的那样删除顶部窗口。退出解决方法一直有效,但似乎wxwidgets在收到关闭窗口信号(?)时无法退出。我能否以某种方式捕获它并仅调用exit以便程序不会阻止窗口关闭? 最佳答案 Windows向所有应用程序发送WM_SHUTDOWN消息。此事件映射到您的wxWidgets应用程序中的EVT_END_SESSION。确保正确处理此事件。参见wxCloseEventClassReferen

c++ - Windows 命令行历史

我需要使用C在Windows中以编程方式安装WebDAV卷,我想我将使用system()来实现此目的(通过“netuse”命令)...但是,由于netuse需要密码以纯文本形式写入,我只是想确保没有记录在Windows命令行shell中运行的命令...我知道在MacOSX和Linux中,在某些情况下命令可以记录在文件.bash_history中,所以我认为Windows中可能正在发生类似的事情。不过我不这么认为,因为谷歌上没有显示任何内容。 最佳答案 shell有一段历史,但它只存储在内存中,而不是磁盘上的日志。也就是说,它最终可能

c# - 启动 "background"Windows 应用程序

在Windows/.NET上,您能否想出一种方法,以某种方式在后台启动现有应用程序,以便用户看不到它,但我可以通过常规API调用(单击按钮等)与其交互?这对于“包装”我无法修改的旧应用程序非常有用。 最佳答案 好吧,你可以在VB中做这种事情......我怀疑你将它翻译成C#会遇到任何问题:DimpAsNewProcessWithp.StartInfo=NewProcessStartInfo.StartInfo.UseShellExecute=True.StartInfo.WorkingDirectory=someFolder.Sta

c++ - 安装 MS office2003 后调用 SHFileOperation 删除文件时出现奇怪的结果

我使用以下代码删除文件。效果很好。SHFILEOPSTRUCTFileOp;ZeroMemory(&FileOp,sizeof(SHFILEOPSTRUCT));FileOp.hwnd=m_hAppHandle;FileOp.wFunc=FO_DELETE;//deleteFileOp.pFrom=szPath;FileOp.pTo=NULL;FileOp.fFlags=FOF_NOCONFIRMATION|FOF_NOERRORUI;FileOp.fAnyOperationsAborted=FALSE;FileOp.hNameMappings=NULL;FileOp.lpszProg

c# - 在第三方应用程序中将窗口创建为子窗口

我正在尝试让我的C#表单在第三方应用程序中正确设置父级,我有控件的句柄,我希望我的表单作为父级,但似乎无法让它工作。alttexthttp://img693.imageshack.us/img693/8871/examplec.jpg我想创建我的表单,使其成为MDIClient的一部分,处理005E0ED6。就像窗口01D7157D一样。这可能吗?如果可以,可以用C#完成吗? 最佳答案 您是如何尝试这样做的?你试过了吗SetParent?请参阅以下StackOverflow问题,看看它是否有帮助。EmbeddingHWNDintoe

windows - 我如何知道系统调用属于哪个 DLL?

我有一长串程序调用的列表。我需要知道的是每个调用属于哪个DLL。我如何找到它?谢谢, 最佳答案 嗯……你的标题和你的问题指向不同的东西。系统调用意味着一些非常具体的东西,对操作系统内核的调用(而那些在dll中不)。碰巧的是,Windows并没有直接公开这些,而是​​公开了系统DLL中的API,这些API负责自己调用系统调用。假设您实际上没有系统调用列表,而是调用列表。这个列表是从二进制生成的吗?二进制文件实际上有一个它们所依赖的dll列表,dumpbin/importsbinary.exe实际上会准确列出您所要求的内容。