Articles of 窗口

Windows fsync(FlushFileBuffers)性能与大文件

从确保数据在磁盘上的信息( http://winntfs.com/2012/11/29/windows-write-caching-part-2-an-overview-for-application-developers/ ),甚至在例如停电,看起来在Windows平台上,您需要依靠其“fsync”版本FlushFileBuffers来最好地保证缓冲区实际上从磁盘设备caching刷新到存储介质本身。 FILE_FLAG_NO_BUFFERING与FILE_FLAG_WRITE_THROUGH的组合不能确保刷新设备高速caching,而只是对文件系统高速caching产生影响(如果此信息正确)。 鉴于我将处理相当大的文件,需要更新“事务”,这意味着在事务提交结束时执行“fsync”。 所以我创build了一个小应用程序来testing这样做的performance。 它基本上使用8次写入来执行一批8个内存页大小的随机字节的顺序写入,然后刷新。 批处理循环重复,每写完这么多页面,它就会logging下性能。 另外它有两个可configuration的选项:fsync在flush上,以及是否在开始页面写入之前写一个字节到文件的最后位置。 // Code updated to reflect new results as discussed in answer below. // 26/Aug/2013: Code updated again to reflect results as discussed in follow up question. // 28/Aug/2012: Increased file stream buffer to ensure 8 page flushes. class Program { static void Main(string[] args) { BenchSequentialWrites(reuseExistingFile:false); […]

用subprocess包装cmd.exe

我尝试用下面的程序包装Windows下的cmd.exe,但它不起作用,似乎等待的东西,并没有显示任何东西。 任何想法这里有什么不对? import subprocess process = subprocess.Popen('cmd.exe', shell=False, stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=None) process.stdin.write("dir\r\n") output = process.stdout.readlines() print output

在不透明的父窗口顶部创build一个透明子窗口(win 32)

我有一个不是由我写的程序。 我没有它的来源,该程序的开发者正在独立开发。 他给了我该程序的HWND和HINSTANCE句柄。 我使用win32 api在他的窗口上创build了一个子窗口。 首先,我需要的是使这个子窗口在某些区域具有透明度,在其他区域(例如游戏的平视显示器(HUD))上不透明,以便用户可以在两个窗口中看到事物。 第二件事,我需要的是将所有的input指向父窗口。 我的孩子窗口不需要input。 我知道WS_EX_TRANSPARENT只是使得子画在画家algorithm的末尾。 我不能使用WS_EX_LAYERED因为它的一个子窗口。 提前致谢 :) ps我到处都找,但没有find任何解决scheme,虽然有类似的问题在互联网上。 其实这是一个HUD就像那个游戏的东西。 我不能直接在父窗口上绘制,因为multithreading复杂的任何其他许多原因。 – 编辑—————————嘿家伙,我仍然在努力。 尝试不同的方式与你所有的build议。 有没有办法将directX和SetWindowRgn()函数或directx与BitBlt()函数结合起来。 我认为这将会诀窍。 目前我正在testing所有的东西作为一个子窗口和分层窗口。

如何将鼠标和键盘事件发送到另一个进程?

假设我们有两个窗口进程, 进程A是发送者,进程B是接收者。 进程B正在运行一个经典的Win32 API事件循环 如何生成并发送从进程A到B的鼠标和键盘事件?

RedrawWindow和Win32中的UpdateWindow有什么区别?

RedrawWindow和Win32中的UpdateWindow有什么区别? 由于他们似乎有相同的目的来刷新窗口,有什么区别?

在Windows上构buildBoost

我正在尝试使用mingw在Windows 7 x64机器上构buildboost库。 当我尝试运行b2 b2 –build-dir="C:\boost\build" –toolset=gcc –with-python build立图书馆我得到一个错误 Jamroot:138: in modules.load rule boostcpp.set-version unknown in module Jamfile</C:/Users/root/Downloads/boost_1_47_0>. C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:314: in load-jamfile C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:62: in load C:/Users/root/Downloads/boost_1_47_0/tools/build/v2/build\project.jam:168: in project.find C:/Users/root/Downloads/boost_1_47_0/tools/build/v2\build-system.jam:570: in load C:\Users\root\Downloads\boost_1_47_0\tools\build\v2/kernel\modules.jam:283: in import C:\Users\root\Downloads\boost_1_47_0\tools\build\v2\kernel\bootstrap.jam:142: in boost-build C:\Users\root\Downloads\boost_1_47_0\boost-build.jam:17: in module scope 我做错了什么,如何解决? 任何帮助表示赞赏 谢谢 编辑: 我想用qt sdk,使用mingw来使用boost库。 这就是为什么我不能使用boost安装程序。 当然,除非我找不到解决这个问题的办法,否则我将不得不使用使用msvc构build的qt。

“login.ini”是保留的名字吗?

我将login的MRU存储在一个名为login.ini的文件中,并将其保存在widnows应用程序文件夹中。 我注意到在某些系统上 – 我不知道为什么; 我找不到一个常见的原因 – 用户不能创build文件,而创build在同一文件夹中的所有其他文件。 我能想到的唯一原因是,一些防病毒/窗口设置/ …不允许这个特定的用户在这个系统上创build文件。 我通过重命名文件解决了这个问题,似乎没问题,但我想确定一下。 有谁知道更多? 赏金注意事项: 这是一个相关的问题,我详细地问了一些我正在做的事情。

如何从Windows ffmpeg获取实时video帧和时间戳

search替代作为OpenCV不会提供实时相机stream(在Windows上) ,这是我的计算机视觉algorithm所需的时间戳,我发现ffmpeg和这个优秀的文章https://zulko.github.io/blog/2013/09 / 27 / read-and-write-video-frames-in-python-using-ffmpeg /解决scheme使用ffmpeg,访问其标准输出(stdout)stream。 我扩展它来读取标准错误(stderr)stream。 在windows上处理python代码,而我从ffmpeg stdout接收video帧,但stderr在为第一帧传送showinfo videofilter细节(时间戳)之后冻结。 我回忆起在ffmpeg论坛上看到,像showinfo这样的videofilter在redirect时被绕过。 这就是为什么下面的代码不能按预期工作? 预期:它应该写video帧到磁盘以及打印时间戳详细信息。 实际:它写入video文件,但没有得到时间戳(showinfo)的细节。 这是我尝试的代码: import subprocess as sp import numpy import cv2 command = [ 'ffmpeg', '-i', 'e:\sample.wmv', '-pix_fmt', 'rgb24', '-vcodec', 'rawvideo', '-vf', 'showinfo', # video filter – showinfo will provide frame timestamps '-an','-sn', #-an, -sn disables audio and sub-title processing respectively '-f', […]

如何指定在Windows 10上运行的Windows 8.1应用程序的初始窗口大小

是否可以设置在Windows 10上运行的Windows 8.1应用程序的默认窗口大小? 我知道这可以通过使用Windows 10中引入的API来完成UWS应用程序。但是,将应用程序转换为Windows 10需要一些时间。 在此期间,我希望能够发布一个快速修复,以确保当前的Windows 8.1应用程序启动与正确的大小。 有谁知道如何做到这一点?

在PHP中查找Windows用户名

我怎样才能在PHP中检索当前login的Windows用户的用户名?