草庐IT

vim常用操作

全部标签

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

.net - 带有服务的本地 IIS/Web 应用程序的常用术语是什么?

我继承了一个多技术项目,该项目包括一个包含在类似Web浏览器的主机中的Flash用户界面,以及一个为FlashUI、后台/看门狗服务和Web提供Web服务的ASP.NET部分系统管理申请。由于人们使用各种术语来描述ASP.NET作品,我们的跨大西洋项目电话session变得令人困惑。事实上,ASP.NET有自己的项目术语,包括“网站”和“Web应用程序”,可以向这两者添加“Web服务”。这个ASP.NET多用途项目有什么常用的名称吗? 最佳答案 我不认为有一个通用术语可以描述这一点。您提到的“网站”与VisualStudio中的网站

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.

windows - 如何在Windows下的vim中将文件保存为root

我有时会在vim中打开只有管理员权限的文件,例如程序文件中的配置文件。我编辑这些并尝试保存它们只是为了发现该文件是只读的并且我无法保存在原始位置。我必须将文件保存在不同的位置并将其复制到顶部。我只想发出一个vim命令来以root身份运行写入,这可能吗?这里有一个使用sudo和tee的unixverisonWhatarethedarkcornersofVimyourmomnevertoldyouabout? 最佳答案 我知道的唯一方法是首先以管理员身份打开文件。我知道在Windows7中,您可以选择“打开”或“以管理员身份打开”。我认

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

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

windows - 64 位操作系统 (windows) 上的 32 位应用程序

我需要一些帮助来了解32位应用程序如何在64位操作系统上使用内存。一个32位应用程序可以在64位操作系统上使用2GB内存,对吗?这是否意味着并行运行的3个32位应用程序可以寻址6GB的内存...还是3个32位应用程序必须共享操作系统拥有的2-4gb的32位内存?同样,如果我有一个编译为32位的Web服务,在64位机器上的IIS下运行。只要对该web服务的单个请求始终保持在2gb内存使用量以下,重新编译到64位是否有任何意义?我的理论是,IIS为每个请求创建一个新进程,因此整个进程池将能够利用64位机器拥有的所有内存,8或15或20gig或其他。告诉我你的想法,谢谢

c# - IO操作的并发问题

我正在编写一个多线程控制台应用程序,它从Web下载pdf文件并将其本地复制到我们的内容服务器位置(windows服务器)。这也是将文件提供给我们网站的相同位置。我对这种方法持怀疑态度,因为存在并发问题,例如如果网站上的用户从内容服务器请求pdf文件,同时控制台应用程序正在写入或更新文件,则可能存在一个IO异常。(如果原始内容随时间发生变化,应用程序还会对pdf文件进行更新)有没有办法控制并发问题? 最佳答案 您可能希望创建和更新文件的操作是原子的,以便处理这些文件的任何其他进程都能获得正确的版本,而不是仍然打开以供写入的版本。您可以